MENU
curl php python iOS java android .NET

Dokumentace

API ENDPOINT

Testovací prostředí - https://gw.sandbox.gopay.com/api
Provozní prostředí - https://gate.gopay.cz/api

DOSTUPNÉ METODY

/oauth2/token
/payments/payment
/payments/payment/{id}
/payments/payment/{id}/refund
/payments/payment/{id}/create-recurrence
/payments/payment/{id}/void-recurrence
/payments/payment/{id}/void-authorization
/payments/payment/{id}/capture

PHP SDK

Python SDK

iOS SDK

JAVA SDK

Více informací o integraci těchto frameworků naleznete na našem githubu

ANDROID API

  • https://github.com/gopaycommunity/gopay-android-api
  • Požadavky : Android studio/Gradle
  • Instalace :
    git clone https://github.com/gopaycommunity/gopay-android-api.git
    cd gopay-android-api
    gradle clean build

  • Všechny artefakty se nacházejí v centrálním repozitáři maven jcenter

  • model classes, connector
    compile 'cz.gopay:androidapi:1.0.1'

  • webview (v případě, že budete chtít využívat naše webview, registrujte jeho aktivitu v manifestu vaší Android aplikace)
    compile 'cz.gopay:androidui:1.0.1'

.NET API

  • https://github.com/gopaycommunity/gopay-dotnet-api
  • Požadavky : .NET 4.0+
  • NuGet
    PM> Install-Package GOPAY.NET
  • Závislosti
    Newtonsoft.Json
    Restsharp
    Restsharp.Newtonsoft.Json
  • Namespace
    using GoPay.Common;
    using GoPay.Model;
    using GoPay.Payment;
    using GoPay.Model.Payments;
    using GoPay.EETProp;
    using GoPay.Account;

GoPay REST API je dostupné v testovacím prostředí na adrese https://gw.sandbox.gopay.com/api.

Provozní API se nachází na adrese https://gate.gopay.cz/api.

Pro veškerou příchozí i odchozí komunikaci s API je použito kódování UTF-8.

Detailní popis jednotlivých kroků nutných pro provedení standardní integrace naleznete v centru nápovědy.

Pro testovací účely je možné využít testovací scénář (obsahuje mj. testovací čísla platebních karet).

Autentizace

GoPay REST API používá pro autorizaci přístupu k API principu OAuth2.0, konkrétně metodu klientské autentizace viz http://tools.ietf.org/html/rfc6749#section-4.4

Přístupový token

Základním prvkem veškeré komunikace přes REST API je přístupový token, který je vytvořen na základě předávaných přístupových údajů ve formě <ClientID>:<ClientSecret>. Token je předáván jako autorizační parametr v hlavičce HTTP dotazu prostřednictvím Authorization: Bearer <Access-Token>. Získaný přístupový token je předáván pro každý další požadavek na API.
Životnost tokenu je vždy omezena na 30 minut. Po jeho vypršení je nutné vytvořit nový přístupový token.

Request

POST /api/oauth2/token

Request

curl -v -N https://gw.sandbox.gopay.com/api/oauth2/token \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-u "<ClientID>:<ClientSecret>" \
-d "grant_type=client_credentials&scope=payment-create"

<?php
$gopay = GoPay\payments([
    'goid' => '8123456789',
    'clientId' => '...',
    'clientSecret' => '...',
    'isProductionMode' => false,
    'scope' => GoPay\Definition\TokenScope::ALL,
    'language' => GoPay\Definition\Language::CZECH,
    'timeout' => 30
]);
// token získá SDK interně, není třeba volat žádnou metodu pro získání tokenu

import gopay

api = gopay.payments({
    'goid': '8302931681',
    'clientId': '1061399163',
    'clientSecret': 'stDTmVXF',
    'isProductionMode': False,
    'scope': gopay.TokenScope.ALL,
    'language': gopay.Language.CZECH,
    'timeout': 30
})
# token získá SDK interně, není třeba volat žádnou metodu pro získání tokenu

#import <GPAPI.h>
[[GPAPI sharedAPI] setClientID:@"..." clientSecret:@"..." productionMode:NO];
// token získá SDK interně, není třeba volat žádnou metodu pro získání tokenu
// vhodne volat napriklad v - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions v AppDelegate

IGPConnector connector = HttpClientGPConnector.build(<API_URL>);
connector.getAppToken(<CLIENT_ID>,<CLIENT_CREDENTIALS>); 
// API_URL pro testovací server - https://gw.sandbox.gopay.com/api
// API_URL pro provozní server - https://gate.gopay.cz/api

IGPConnector connector = GPAndroidConnector.build(<API_URL>);
connector.getAppToken(<CLIENT_ID>,<CLIENT_CREDENTIALS>);

var connector = new GPConnector(<API_URL>,<USER_ID>, <USER_SECRET>);
connector.GetAppToken();   

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/x-www-form-urlencoded ANO
Authorization HTTP autorizace pomocí níž předáváte <ClientID>:<ClientSecret> ANO
Tělo požadavku
Název parametru Popis parametru Povinný
scope Definuje kategorii funkcionalit které může daná akce obsluhovat ANO
grant_type client_credentials ANO

Response

<?php
// informace o cacheování access tokenů:
// https://github.com/gopaycommunity/payments-sdk-php#cache-access-token

# informace o cacheování access tokenů:
# https://github.com/gopaycommunity/payments-sdk-php#cache-access-token

{
    "token_type":"bearer",
    "access_token":"AAAnu3YnAHRk298EsmyttFQMcbCcvmwTKK5hrJx2aGG8ZnFyBJhAvFWNmbWVSD7p",
    "expires_in":1800
}

Response
Název parametru Popis parametru Povinný
token_type bearer ANO
access_token Přístupový token ANO
expires_in Čas expirace tokenu v sekundách ANO

Platby

Před vyvoláním platební brány je nutné provést založení platby. Ve výsledku volání vám zopakujeme parametry platby spolu s parametrem gw_url, který použijete pro inicializaci inline nebo redirect platební brány.

Příjemce platby je identifikován goid v objektu target. Získáte jej při integraci platební brány pro identifikaci konkrétního prodejního místa, např. www.goshop.cz.

Platící strana je v rámci platby popsána objektem payer, který identifikuje platícího, a případně určuje množinu povolených platebních metod, včetně metody defaultní.

Standardní platba

Platba je určena pro úhradu objednávky platební kartou, bankovním převodem, GoPay účtem a jinými platebními metodami.

Podrobný popis kroků nutných pro provedení standardní platby naleznete v centru nápovědy.

EET

Pro potřeby EET je požadavek založení platby rozšířený o objekt eet.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer xzZnu3YnAHRk298EsmyttFQMcbCcvmwTKK5hrJx2aGG8ZnFyBJhAvFWNmbWVSD7p" \
-d '{
    "payer": {
                "default_payment_instrument":"BANK_ACCOUNT",
                "allowed_payment_instruments":["BANK_ACCOUNT"],
                "default_swift":"FIOBCZPP",
                "allowed_swifts":["FIOBCZPP","BREXCZPP"],
                "contact":{"first_name":"Zbynek",
                           "last_name":"Zak",
                           "email":"test@test.cz",
                           "phone_number":"+420777456123",
                           "city":"C.Budejovice",
                           "street":"Plana 67",
                           "postal_code":"373 01",
                           "country_code":"CZE"
                          }
              },
    "target": {
                "type":"ACCOUNT",
                "goid":"8123456789"
              },
    "amount":"139951",
    "currency":"CZK",
    "order_number":"001",
    "order_description":"objednavka01",
    "items": [{
                "type":"ITEM", 
                "name":"obuv",
                "product_url":"https://www.eshop.cz/boty/lodicky", 
                "ean":1234567890123,
                "amount":119990,
                "count":1,
                "vat_rate":21
                }, 
            {
                "type":"ITEM", 
                "name":"oprava podpatku",
                "product_url":"https://www.eshop.cz/boty/opravy", 
                "ean":1234567890189,
                "amount":19961,
                "count":1,
                "vat_rate":15
                }],
    "eet":{
                "celk_trzba":139951,
                "zakl_dan1":99160,
                "dan1":20830,
                "zakl_dan2":17358,
                "dan2":2603,
                "mena":"CZK"
            },
    "additional_params":[{"name":"invoicenumber",
                          "value":"2015001003"
                        }],
    "callback":{
                "return_url":"http://www.eshop.cz/return",
                "notification_url":"http://www.eshop.cz/notify"
              },
    "lang":"cs"
}'

<?php
use GoPay\Definition\Language;
use GoPay\Definition\Payment\Currency;
use GoPay\Definition\Payment\PaymentInstrument;
use GoPay\Definition\Payment\BankSwiftCode;
use GoPay\Definition\Payment\VatRate;
use GoPay\Definition\Payment\PaymentItemType;

$response = $gopay->createPayment([
    'payer' => [
            'default_payment_instrument' => PaymentInstrument::BANK_ACCOUNT,
            'allowed_payment_instruments' => [PaymentInstrument::BANK_ACCOUNT],
            'default_swift' => BankSwiftCode::FIO_BANKA,
            'allowed_swifts' => [BankSwiftCode::FIO_BANKA, BankSwiftCode::MBANK],
            'contact' => ['first_name' => 'Zbynek',
                    'last_name' => 'Zak',
                    'email' => 'test@test.cz',
                    'phone_number' => '+420777456123',
                    'city' => 'C.Budejovice',
                    'street' => 'Plana 67',
                    'postal_code' => '373 01',
                    'country_code' => 'CZE'
            ]
    ],
    'amount' => 139951,
    'currency' => Currency::CZECH_CROWNS,
    'order_number' => '001',
    'order_description' => 'obuv',
    'items' => [[
            'type' => 'ITEM',
            'name' => 'obuv',
            'product_url' => 'https://www.eshop.cz/boty/lodicky',
            'ean' => 1234567890123,
            'amount' => 119990,
            'count' => 1,
            'vat_rate' => VatRate::RATE_4
    ],
            [
            'type' => PaymentItemType::ITEM,
            'name' => 'oprava podpatku',
            'product_url' => 'https://www.eshop.cz/boty/opravy',
            'ean' => 1234567890189,
            'amount' => 19961,
            'count' => 1,
            'vat_rate' => VatRate::RATE_3
            ]],
    'eet' => [
            'celk_trzba' => 139951,
            'zakl_dan1' => 99160,
            'dan1' => 20830,
            'zakl_dan2' => 17358,
            'dan2' => 2603,
            'mena' => Currency::CZECH_CROWNS
    ],
    'additional_params' => [['name' => 'invoicenumber',
            'value' => '2015001003'
    ]],
    'callback' => [
            'return_url' => 'https://www.eshop.cz/return',
            'notification_url' => 'https://www.eshop.cz/notify'
    ],
    'lang' => Language::CZECH
]);

from gopay.enums import PaymentInstrument, BankSwiftCode, Currency

response = api.create_payment({
    'payer': {
        'default_payment_instrument': PaymentInstrument.BANK_ACCOUNT,
        'allowed_payment_instruments': [PaymentInstrument.BANK_ACCOUNT],
        'default_swift': BankSwiftCode.FIO_BANKA,
        'allowed_swifts': [BankSwiftCode.FIO_BANKA, BankSwiftCode.MBANK],
        'contact': {
            'first_name': 'Zbynek',
            'last_name': 'Zak',
            'email': 'test@test.cz',
            'phone_number': '+420777456123',
            'city': 'C.Budejovice',
            'street': 'Plana 67',
            'postal_code': '373 01',
            'country_code': 'CZE',
        },
    },
    'amount': 139951,
    'currency': Currency.CZECH_CROWNS,
    'order_number': '001',
    'order_description': 'pojisteni01',
    'items': [
        {'name': 'item01', 'amount': 119990},
        {'name': 'item02', 'amount': 19961},
    ],
    'additional_params': [
        {'name': 'invoicenumber', 'value': '2015001003'}
    ],
    'callback': {
        'return_url': 'http://www.your-url.tld/return',
        'notification_url': 'http://www.your-url.tld/notify'
    }
})

GPPaymentRequest *payment = [[GPPaymentRequest alloc] init];
payment.amount = 139951;
payment.currency = @"CZK";
payment.order_number = @"001";
payment.order_description = @"test";

GPPayer *payer = [[GPPayer alloc] init];
payer.allowed_payment_instruments = @[];
payer.default_payment_instrument = @"PAYMENT_CARD";
payer.contact.first_name = @"Zbynek";
payer.contact.last_name = @"Zak";
payer.contact.email = @"test@test.cz";
payer.contact.phone_number = @"+420777456123";
payer.contact.city = @"C.Budejovice";
payer.contact.street = @"Plana 67";
payer.contact.postal_code = @"370 01";
payer.contact.country_code = @"CZE";

payment.payer = payer;

GPTarget *target = [[GPTarget alloc] init];
target.type = PAY_TARGET_ACCOUNT;
target.goid = @"8035442195";

payment.target = target;

[GPAPI sharedAPI] createPayment:payment withHandleSuccess:^(GPPayment *payment) {

} failure:^(NSError *error) {

}];

BasePayment payment = PaymentFactory.createBasePaymentBuilder()
    .order(<ORDER_NUMBER>, <AMOUNT>, Currency.EUR, <DESCRIPTION>)
    .addItem(<ITEM_NAME>, <AMOUNT>, <FEE>, <COUNT>)
    .addAdditionalParameter(<Key>, <VALUE>)
    .withCallback(<RETURN_URL>, <NOTIFY_URL>)
    .payer(<Payer>)
    .inLang(Lang.EN)
    .toEshop(<GO_ID>)
    .build();
try {
    Payment result = connector.createPayment(payment);
} catch (GPClientException e) {
     for (ErrorElement err : e.getError().getErrorMessages()) {
        int code = err.getErrorCode();
        String message = err.getMessage();
        String field = err.getField();
    }
}

BasePayment payment = PaymentFactory.createBasePaymentBuilder()
    .order(<ORDER_NUMBER>, <AMOUNT>, Currency.EUR, <DESCRIPTION>)
    .addItem(<ITEM_NAME>, <AMOUNT>, <FEE>, <COUNT>)
    .addAdditionalParameter(<Key>, <VALUE>)
    .withCallback(<RETURN_URL>, <NOTIFY_URL>)
    .payer(<Payer>)
    .inLang(Lang.EN)
    .toEshop(<GO_ID>)
    .build();
try {
    Payment result = connector.createPayment(payment);
} catch (GPClientException e) {

}

var payment = new BasePayment()
    {
        Currency = <Currency>,
        Lang = "ENG",
        OrderNumber = "789456167879",
        Amount = 139951,
        Target = new Target()
        {
            GoId = <GOID>,
            Type = Target.TargetType.ACCOUNT
        },
        Callback = new Callback()
        {
            NotificationUrl = <NOTIFICATION_URL>,
            ReturnUrl = <RETURN_URL>
        },
        Payer = new Payer()
        {
            Contact = new PayerContact()
            {
                Email = "test@test.cz"
            },
            DefaultPaymentInstrument = PaymentInstrument.PAYMENT_CARD
        }
    };

try {
     var result = connector.CreatePayment(payment);
} catch (GPClientException e) {
//
}

Request

POST /api/payments/payment

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
payer Objekt popisující plátce platby NE Objekt
target Objekt popisující příjemce platby ANO Objekt
amount Částka v haléřích ANO long > 0
currency Určuje měnu platby, formát měny odpovídá ISO 4217 ANO string
order_number Identifikace objednávky v rámci prodejního místa ANO string, pouze alfanumerické znaky (128 znaků)
order_description Popis objednávky NE string, pouze alfanumerické znaky (256 znaků)
items Detailně rozepsané jednotlivé položky objednávky ANO Objekt
eet EET údaje (povinné pro funkci EET) NE Objekt
callback Návratové URL a notifikační URL pro oznámení změny stavu platby ANO Objekt
additional_params Doplňkové parametry platby NE Pole objektů
lang Parametr definuje jazyk platby NE string, může nabývat hodnot viz lang
Response

Response

<?php
if ($response->hasSucceed()) {
    $url = $response->json['gw_url'];
    echo $response;
}

if response.has_succeed():
    url = response.json['gw_url']
    print(response)
{
  "id":3000006529,
  "order_number":"001",
  "state":"CREATED",
  "amount":139951,
  "currency":"CZK",
  "payer":{
           "default_payment_instrument":"BANK_ACCOUNT",
           "allowed_payment_instruments":["BANK_ACCOUNT"],
           "default_swift":"FIOBCZPP",
           "contact":{"first_name":"Zbynek",
                      "last_name":"Zak",
                      "email":" test@test.cz ",
                      "phone_number":"+420777456123",
                      "city":"C.Budejovice",
                      "street":"Plana 67",
                      "postal_code":"37301",
                      "country_code":"CZE"
                    }
          },
  "target":{"type":"ACCOUNT",
            "goid":8123456789
          },
  "additional_params":[{"name":"invoicenumber",
                        "value":"2015001003"
                      }],
  "lang":"cs",
  "gw_url":" https://gw.sandbox.gopay.com/gw/v3/bCcvmwTKK5hrJx2aGG8ZnFyBJhAvF"
}  

Název parametru Popis parametru Datový typ
id ID platby long
order_number ID objednávky string, pouze alfanumerické znaky (128 znaků)
state Stav platby string, může nabývat hodnot viz state
amount Částka v haléřích long > 0
currency Měna platby string, může nabývat hodnot viz currency
payer Objekt popisující plátce platby Objekt
target Objekt popisující příjemce platby Objekt
additional_params Doplňkové parametry platby Pole objektů
lang Parametr definuje jazyk platby string, může nabývat hodnot viz lang
gw_url URL pro inicializaci platební brány string

Předautorizovaná platba

Předautorizace umožní při platbě kartou zablokovat po dobu 4 dnů prostředky na účtu zákazníka. Předautorizovanou platbu založíte nastavením parametru preauthorization na true .

Blokované prostředky lze následně částečně strhnout, či strhnout v plné výši pomocí API volání.

Pro uvolnění blokovaných prostředků je nutné provést zrušení předautorizace platby.

EET

Pro potřeby EET je požadavek založení platby rozšířený o objekt eet.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer xzZnu3YnAHRk298EsmyttFQMcbCcvmwTKK5hrJx2aGG8ZnFyBJhAvFWNmbWVSD7p" \
-d '{
    "payer": {
              "contact":{
                           "first_name":"Zbynek",
                           "last_name":"Zak",
                           "email":"test@test.cz",
                           "phone_number":"+420777456123",
                           "city":"C.Budejovice",
                           "street":"Plana 67",
                           "postal_code":"373 01",
                           "country_code":"CZE"
                          }
              },
    "target": {"type":"ACCOUNT",
               "goid":"8123456789"
              },
    "amount":"1000",
    "currency":"CZK",
    "order_number":"001",
    "order_description":"objednavka01",
    "items": [{
                "type":"ITEM", 
                "name":"obuv",
                "product_url":"https://www.eshop.cz/boty/lodicky", 
                "ean":1234567890123,
                "amount":700,
                "count":1,
                "vat_rate":21
              }, 
              {
                "type":"ITEM", 
                "name":"oprava podpatku",
                "product_url":"https://www.eshop.cz/boty/opravy", 
                "ean":1234567890189,
                "amount":300,
                "count":1,
                "vat_rate":15
              }],
    "preauthorization":"true",
    "additional_params":[{"name":"invoicenumber",
                          "value":"2015001003"
                        }],
    "callback":{
                "return_url":"http://www.eshop.cz/return",
                "notification_url":"http://www.eshop.cz/notify"
               }
}'

<?php
use GoPay\Definition\Payment\Currency;
use GoPay\Definition\Payment\PaymentInstrument;
use GoPay\Definition\Payment\BankSwiftCode;

$response = $gopay->createPayment([
    'payer' => [
        'contact' => [
            'first_name' => 'Zbynek',
            'last_name' => 'Zak',
            'email' => 'test@test.cz',
            'phone_number' => '+420777456123',
            'city' => 'C.Budejovice',
            'street' => 'Plana 67',
            'postal_code' => '373 01',
            'country_code' => 'CZE',
        ],
    ],
    'amount' => 1000,
    'currency' => Currency::CZECH_CROWNS,
    'order_number' => '001',
    'order_description' => 'objednavka01',
   'items' => [
                [
                 'type' => 'ITEM', 
                 'name' => 'obuv',
                 'product_url' => 'https://www.eshop.cz/boty/lodicky', 
                 'ean' => 1234567890123,
                 'amount' => 700,
                 'count' => 1,
                 'vat_rate' => VatRate::RATE_4
                ], 
                [
                 'type' => 'ITEM', 
                 'name' => 'oprava podpatku',
                 'product_url' => 'https://www.eshop.cz/boty/opravy', 
                 'ean' => 1234567890189,
                 'amount' => 300,
                 'count' => 1,
                 'vat_rate' => VatRate::RATE_3
                ],
    ],
    'preauthorization' => true,
    'additional_params' => [
        array('name' => 'invoicenumber', 'value' => '2015001003')
    ],
    'callback' => [
        'return_url' => 'http://www.your-url.tld/return',
        'notification_url' => 'http://www.your-url.tld/notify'
    ]
]);

from gopay.enums import PaymentInstrument, BankSwiftCode, Currency

response = api.create_payment({
    'payer': {
        'contact': {
            'first_name': 'Zbynek',
            'last_name': 'Zak',
            'email': 'test@test.cz',
            'phone_number': '+420777456123',
            'city': 'C.Budejovice',
            'street': 'Plana 67',
            'postal_code': '373 01',
            'country_code': 'CZE',
        },
    },
    'amount': 150,
    'currency': Currency.CZECH_CROWNS,
    'order_number': '001',
    'order_description': 'pojisteni01',
    'items': [
        {'name': 'item01', 'amount': 50},
        {'name': 'item02', 'amount': 100},
    ],
    'preauthorization': True,
    'additional_params': [
        {'name': 'invoicenumber', 'value': '2015001003'}
    ],
    'callback': {
        'return_url': 'http://www.your-url.tld/return',
        'notification_url': 'http://www.your-url.tld/notify'
    }
})

PPaymentRequest *payment = [[GPPaymentRequest alloc] init];
payment.amount = 20;
payment.currency = @"CZK";
payment.order_number = @"001";
payment.order_description = @"test";

GPPayer *payer = [[GPPayer alloc] init];
payer.allowed_payment_instruments = @[];
payer.default_payment_instrument = @"PAYMENT_CARD";
payer.contact.first_name = @"Zbynek";
payer.contact.last_name = @"Zak";
payer.contact.email = @"test@gtest.cz";
payer.contact.phone_number = @"+420777456123";
payer.contact.city = @"C.Budejovice";
payer.contact.street = @"Plana 67";
payer.contact.postal_code = @"370 01";
payer.contact.country_code = @"CZE";

payment.payer = payer;

GPTarget *target = [[GPTarget alloc] init];
target.type = PAY_TARGET_ACCOUNT;
target.goid = @"8035442195";

payment.target = target;

payment.preauthorization = true

[GPAPI sharedAPI] createPayment:payment withHandleSuccess:^(GPPayment *payment) {

} failure:^(NSError *error) {
}];

BasePayment payment = PaymentFactory.createBasePaymentBuilder()
    .order(<ORDER_NUMBER>, <AMOUNT>, <CURRENCY>, <DESCRIPTION>)
    .addItem(<ITEM_NAME>, <AMOUNT>, <FEE>, <COUNT>)
    .addAdditionalParameter(<Key>, <VALUE>)
    .withCallback(<RETURN_URL>, <NOTIFY_URL>)
    .payer(<Payer>)
    .inLang(Lang.EN)
    .toEshop(<GO_ID>)
    .preauthorize()
    .build();
try {
    Payment result = connector.createPayment(payment);
} catch (GPClientException e) {
     for (ErrorElement err : e.getError().getErrorMessages()) {
        int code = err.getErrorCode();
        String message = err.getMessage();
        String field = err.getField();
    }
}

Payment payment = PaymentFactory.createPaymentBuilder().preauthorize()...
try {
    connector.createPayment(payment);
} catch (GPClientException ex) {
    //
}

var payment = new BasePayment() 
    {
        PreAuthorize = true,
        ...
    };

try {
    connector.CreatePayment(payment);
} catch (GPClientException ex) {
//
}

Request

POST /api/payments/payment

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
payer Objekt popisující plátce platby NE Objekt
target Objekt popisující příjemce platby ANO Objekt
amount Částka v haléřích ANO long > 0
currency Určuje měnu platby, formát měny odpovídá ISO 4217 ANO string
order_number Identifikace objednávky v rámci prodejního místa ANO string, pouze alfanumerické znaky (128 znaků)
order_description Popis objednávky NE string, pouze alfanumerické znaky (256 znaků)
items Detailně rozepsané jednotlivé položky objednávky ANO Pole objektů
eet EET údaje (povinné pro funkci EET) NE Objekt
preauthorization Aktivace předautorizované platby ANO bool
additional_params Doplňkové parametry platby NE Pole objektů
callback Návratové URL a notifikační URL pro oznámení změny stavu platby ANO Objekt

Response

<?php
if ($response->hasSucceed()) {
    $url = $response->json['gw_url'];
    echo $response;
}

if response.has_succeed():
    url = response.json['gw_url']
    print(response)
{
  "id":3000006542,
  "order_number":"001",
  "state":"CREATED",
  "amount":1000,"currency":"CZK",
  "payer":{
           "contact":{"first_name":"Zbynek",
                      "last_name":"Zak",
                      "email":" test@test.cz ",
                      "phone_number":"+420777456123",
                      "city":"C.Budejovice",
                      "street":"Plana 67",
                      "postal_code":"37301",
                      "country_code":"CZE"
                    }
          },
  "target":{"type":"ACCOUNT",
            "goid":8123456789
          },
  "preauthorization":{"requested":true,
                      "state":"REQUESTED"
                    },
  "additional_params":[{"name":"invoicenumber",
                        "value":"2015001003"
                      }],
  "lang":"cs",
  "gw_url":" https://gw.sandbox.gopay.com/gw/v3/bCcvmwTKK5hrJx2aGG8ZnFyBJhAvF "
}

Response
Název parametru Popis parametru Datový typ
id ID platby long
order_number ID objednávky string, pouze alfanumerické znaky (128 znaků)
state Stav platby string, může nabývat hodnot viz state
amount Částka v haléřích long > 0
payer Objekt popisující plátce platby Objekt
target Objekt popisující příjemce platby Objekt
preauthorization Objekt popisující předautorizaci Objekt
additional_params Volitelné parametry platby Pole objektů
lang Jazyk platby string, může nabývat hodnot viz lang
gw_url URL pro inicializaci platební brány string

Zrušení předautorizace platby

Provede zrušení předautorizaci dříve vytvořené platby.

Podrobné informace k předautorizovaným platbám naleznete v centru nápovědy.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment/3000006542/void-authorization \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"

<?php
$response = $gopay->voidAuthorization(3000006542);

response = api.void_authorization(3000006542)

[[GPAPI sharedAPI] voidAuthorizationForPaymentWithID:3000006542 withHandleSuccess:^(GPAPIResult result) {

} failure:^(NSError *error) {

}];

try {
    PaymentResult voidAuthorization = connector.voidAuthorization(<ID>);
} catch (GPClientException ex) {
     for (ErrorElement err : e.getError().getErrorMessages()) {
        int code = err.getErrorCode();
        String message = err.getMessage();
        String field = err.getField();
    }           
}

try {
    PaymentResult voidAuthorization = connector.voidAuthorization(<ID>);
} catch (GPClientException ex) {
    //
}

try {
    var result = connector.VoidAuthorization(<ID>);
} catch (GPClientException ex) {
//
}

Request

POST /api/payments/payment/{id}/void-authorization

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/x-www-form-urlencoded ANO
Authorization Bearer <access-token> ANO

Response

<?php
if ($response->hasSucceed()) {
    echo $response;
}

if response.has_succeed():
    print(response)
{
 "id":3000006542,
 "result":"FINISHED"
}

Response
Název parametru Popis parametru Datový typ
id ID platby long
result Objekt popisující stav požadavku long

Stržení předautorizované platby

Pomocí volání je možné strhnout předautorizaci finančních prostředků dříve vytvořené předautorizované platby.

Podrobné informace k předautorizovaným platbám naleznete v centru nápovědy.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment/3000006542/capture \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"

<?php
$response = $gopay->captureAuthorization(3000006542);

response = api.capture_authorization(3000006542)

[[GPAPI sharedAPI] capturePaymentWithID:3000006542 withHandleSuccess:^(GPAPIResult result) {

} failure:^(NSError *error) {

}];

try {
    PaymentResult capture = connector.capturePayment(<ID>);
} catch (GPClientException ex) {
    //
}

try {
    PaymentResult capture = connector.capturePayment(<ID>);
} catch (GPClientException ex) {
    //
}

try {
    var capture = connector.CapturePayment(<ID>);
} catch (GPClientException ex) {
//
}    

Request

POST /api/payments/payment/{id}/capture

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/x-www-form-urlencoded ANO
Authorization Bearer <access-token> ANO

Response

<?php
if ($response->hasSucceed()) {
    echo $response;
}

if response.has_succeed():
    print(response)
{ 
 "id":3000006542,
 "result":"FINISHED"
}

Response
Název parametru Popis parametru Datový typ
id ID platby long
result Objekt popisující stav požadavku Objekt

Částečné stržení předautorizované platby

Pomocí volání je možné strhnout pouze určitou část předautorizace finančních prostředků dříve vytvořené předautorizované platby. Zbylé prostředky jsou zákazníkovi uvolněny zpět na platební kartu.

Podrobné informace k částečnému stržení předautorizované platby naleznete v centru nápovědy.

EET

Pro potřeby EET je požadavek založení platby rozšířený o objekt eet.

Původní EET data předautorizované platby jsou přepsána novým objektem eet předaným ve volání částečného stržení předautorizované platby.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment/3000006542/capture \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Xcb5Ghha9SQ0Zykj+u9zCBf8o9BUBITiRWCmgswS/Gmb1DvpkkWSsRaUtdDLArmT/vzzJD0/IAn6f2yx6x90Bw0dB+3UiPxIndKbQRZhZ9Q=" \
-d '{
"amount":500,
"items":[{
    "type":"ITEM",
    "name":"lodicky",
    "product_url":"https://www.eshop.cz/boty/damske/lodicky-cervene",
    "ean":1234567890123,
    "amount":500,
    "count":1,
    "vat_rate":21
    }]
}'

Request

POST /api/payments/payment/{id}/capture

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
amount Refundovaná částka ANO long > 0
items Detailně rozepsané jednotlivé položky objednávky ANO Objekt
eet EET údaje (povinné pro funkci EET) NE Objekt

Response

{ 
    "id":3000006542,
    "result":"FINISHED"
}
Response
Název parametru Popis parametru Datový typ
id ID platby long
result Objekt popisující stav požadavku Objekt

Opakovaná platba

Opakovaná platba je funkcionalita, která umožňuje přijímat platby kartou od zákazníka na pravidelné bázi. Založení opakované platby je rozšířeno o parametr recurrence. Po úspěšném založení inicializační platby jsou platby prováděny automatizovaně, např. s denní periodou DAY, nebo na vyžádání ON_DEMAND.

V případě platby na vyžádání (ON_DEMAND) je následná platba provedena API voláním opakování platby

EET

Pro potřeby EET je požadavek založení platby rozšířený o objekt eet.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer xzZnu3YnAHRk298EsmyttFQMcbCcvmwTKK5hrJx2aGG8ZnFyBJhAvFWNmbWVSD7p" \
-d '{
      "payer": {
        "contact":{"first_name":"Zbynek",
                   "last_name":"Zak",
                   "email":"test@test.cz",
                   "phone_number":"+420777456123",
                   "city":"C.Budejovice",
                   "street":"Plana 67",
                   "postal_code":"373 01",
                   "country_code":"CZE"
                  }
      },
      "target":{"type":"ACCOUNT",
                 "goid":"8123456789"
               },
      "amount":"1000",
      "currency":"CZK",
      "order_number":"001",
      "order_description":"objednavka01",
      "items": [{
                "type":"ITEM", 
                "name":"obuv",
                "product_url":"https://www.eshop.cz/boty/lodicky", 
                "ean":1234567890123,
                "amount":700,
                "count":1,
                "vat_rate":21
              }, 
              {
                "type":"ITEM", 
                "name":"oprava podpatku",
                "product_url":"https://www.eshop.cz/boty/opravy", 
                "ean":1234567890189,
                "amount":300,
                "count":1,
                "vat_rate":15
              }],
      "recurrence":{"recurrence_cycle":"DAY",
                    "recurrence_period":"7",
                    "recurrence_date_to":"2015-12-31"},
      "additional_params":[{"name":"invoicenumber",
                            "value":"2015001003"
                          }],
      "callback":{
                  "return_url":"http://www.eshop.cz/return",
                  "notification_url":"http://www.eshop.cz/notify"
                 }
}'

<?php
use GoPay\Definition\Payment\Currency;
use GoPay\Definition\Payment\PaymentInstrument;
use GoPay\Definition\Payment\BankSwiftCode;
use GoPay\Definition\Payment\Recurrence;

$response = $gopay->createPayment([
    'payer' => [
        'contact' => [
            'first_name' => 'Zbynek',
            'last_name' => 'Zak',
            'email' => 'test@test.cz',
            'phone_number' => '+420777456123',
            'city' => 'C.Budejovice',
            'street' => 'Plana 67',
            'postal_code' => '373 01',
            'country_code' => 'CZE',
        ],
    ],
    'amount' => 1000,
    'currency' => Currency::CZECH_CROWNS,
    'order_number' => '001',
    'order_description' => 'objednavka01',
    'items' => [
                [
                 'type' => 'ITEM', 
                 'name' => 'obuv',
                 'product_url' => 'https://www.eshop.cz/boty/lodicky', 
                 'ean' => 1234567890123,
                 'amount' => 700,
                 'count' => 1,
                 'vat_rate' => VatRate::RATE_4
                ], 
                [
                 'type' => 'ITEM', 
                 'name' => 'oprava podpatku',
                 'product_url' => 'https://www.eshop.cz/boty/opravy', 
                 'ean' => 1234567890189,
                 'amount' => 300,
                 'count' => 1,
                 'vat_rate' => VatRate::RATE_3
                ],
    ],
    'recurrence' => [
        'recurrence_cycle' => Recurrence::DAILY,
        'recurrence_period' => "7",
        'recurrence_date_to' => '2015-12-31'
    ],
    'additional_params' => [
        array('name' => 'invoicenumber', 'value' => '2015001003')
    ],
    'callback' => [
        'return_url' => 'http://www.your-url.tld/return',
        'notification_url' => 'http://www.your-url.tld/notify'
    ]
]);

from gopay.enums import PaymentInstrument, BankSwiftCode, Currency, Recurrence

response = api.create_payment({
    'payer': {
        'contact': {
            'first_name': 'Zbynek',
            'last_name': 'Zak',
            'email': 'test@test.cz',
            'phone_number': '+420777456123',
            'city': 'C.Budejovice',
            'street': 'Plana 67',
            'postal_code': '373 01',
            'country_code': 'CZE',
        },
    },
    'amount': 150,
    'currency': Currency.CZECH_CROWNS,
    'order_number': '001',
    'order_description': 'pojisteni01',
    'items': [
        {'name': 'item01', 'amount': 50},
        {'name': 'item02', 'amount': 100},
    ],
    'recurrence': {
        'recurrence_cycle': Recurrence.DAILY,
        'recurrence_period': "7",
        'recurrence_date_to': '2015-12-31'
    },
    'additional_params': [
        {'name': 'invoicenumber', 'value': '2015001003'}
    ],
    'callback': {
        'return_url': 'http://www.your-url.tld/return',
        'notification_url': 'http://www.your-url.tld/notify'
    }
})

GPPaymentRequest *payment = [[GPPaymentRequest alloc] init];
payment.amount = 20;
payment.currency = @"CZK";
payment.order_number = @"001";
payment.order_description = @"test";

GPPayer *payer = [[GPPayer alloc] init];
payer.allowed_payment_instruments = @[];
payer.default_payment_instrument = @"PAYMENT_CARD";
payer.contact.first_name = @"Zbynek";
payer.contact.last_name = @"Zak";
payer.contact.email = @"test@test.cz";
payer.contact.phone_number = @"+420777456123";
payer.contact.city = @"C.Budejovice";
payer.contact.street = @"Plana 67";
payer.contact.postal_code = @"370 01";
payer.contact.country_code = @"CZE";

payment.payer = payer;

GPTarget *target = [[GPTarget alloc] init];
target.type = PAY_TARGET_ACCOUNT;
target.goid = @"8035442195";

payment.target = target;

payment.recurrence = [[PaymentRecurrence alloc] init];
payment.recurrence.recurrence_cycle = RECCURENCE_CYCLE_DAY;
payment.recurrence.recurrence_period = 7;
payment.recurrence.recurrence_date_to = @"2015-12-31";

[GPAPI sharedAPI] createPayment:payment withHandleSuccess:^(GPPayment *payment) {

} failure:^(NSError *error) {

}];

BasePayment payment = PaymentFactory.createBasePaymentBuilder()
    .order(<ORDER_NUMBER>, <AMOUNT>, Currency.EUR, <DESCRIPTION>)
    .addItem(<ITEM_NAME>, <AMOUNT>, <FEE>, <COUNT>)
    .addAdditionalParameter(<Key>, <VALUE>)
    .withCallback(<RETURN_URL>, <NOTIFY_URL>)
    .payer(<Payer>)
    .inLang(Lang.EN)
    .toEshop(<GO_ID>)
    .build();

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2016);
calendar.set(Calendar.MONTH, 2);
calendar.set(Calendar.DAY_OF_MONTH, 1);
Recurrence r = Recurrence.build(calendar.getTime())
    .withTimeInterval(RecurrenceCycle.WEEK, 1)
    .inState(Recurrence.RecurrenceState.STARTED);

payment.setRecurrence(r);

try {
    connector.createPayment(payment);
} catch {GPClientException e) {
     for (ErrorElement err : e.getError().getErrorMessages()) {
        int code = err.getErrorCode();
        String message = err.getMessage();
        String field = err.getField();
    }
}

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2016);
calendar.set(Calendar.MONTH, 2);
calendar.set(Calendar.DAY_OF_MONTH, 1);
Recurrence r = Recurrence.build(calendar.getTime())
  .withTimeInterval(RecurrenceCycle.WEEK, 1)
  .inState(Recurrence.RecurrenceState.STARTED);
payment.setRecurrence(r);

try {
  connector.createPayment(payment);
} catch {GPClientException e) {
  //
}

var recurrence = new Recurrence() 
{
Cycle = RecurrenceCycle.DAY,
DateTo = new DateTime(2020, 12, 12),
Period = 5
};
var payment = new BasePayment();
payment.Recurrence = recurrence;

try {
  connector.CreatePayment(payment);
} catch {GPClientException e) {
//
}

Request

POST /api/payments/payment

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
payer Objekt popisující plátce platby NE Objekt
target Objekt popisující příjemce platby ANO Objekt
amount Částka v haléřích ANO long > 0
currency Určuje měnu platby, formát měny odpovídá ISO 4217 ANO string
order_number Identifikace objednávky v rámci prodejního místa ANO string, pouze alfanumerické znaky (128 znaků)
order_description Popis objednávky NE string, pouze alfanumerické znaky (256 znaků)
items Detailně rozepsané jednotlivé položky objednávky ANO Pole objektů
eet EET údaje (povinné pro funkci EET) NE Objekt
recurrence Objekt popisující opakovanou platbu ANO Objekt
additional_params Doplňkové parametry platby NE Pole objektů
callback Návratové URL a notifikační URL pro oznámení změny stavu platby ANO Objekt

Response

<?php
if ($response->hasSucceed()) {
    $url = $response->json['gw_url'];
    echo $response;
}

if response.has_succeed():
    url = response.json['gw_url']
    print(response)
{
  "id":3000006542,
  "order_number":"001",
  "state":"CREATED",
  "amount":1000,"currency":"CZK",
  "payer":{
           "contact":{"first_name":"Zbynek",
                      "last_name":"Zak",
                      "email":" test@test.cz",
                      "phone_number":"+420777456123",
                      "city":"C.Budejovice",
                      "street":"Plana 67",
                      "postal_code":"37301",
                      "country_code":"CZE"
                    }
          },
    "target":{"type":"ACCOUNT","goid":8123456789},
    "recurrence":{"recurrence_cycle":"DAY",
                  "recurrence_period":7,
                  "recurrence_date_to":"2015-12-31",
                  "recurrence_state":"REQUESTED"
                },
    "additional_params":[{"name":"invoicenumber",
                          "value":"2015001003"
                        }],
    "lang":"cs",
    "gw_url":" https://gw.sandbox.gopay.com/gw/v3/bCcvmwTKK5hrJx2aGG8ZnFyBJhAvF "
}

Response
Název parametru Popis parametru Datový typ
id ID platby long
order_number ID objednávky string, pouze alfanumerické znaky (128 znaků)
state Stav platby Objekt
amount Částka v haléřích long > 0
payer Objekt popisující plátce platby Objekt
target Objekt popisující příjemce platby Objekt
recurrence Objekt popisující opakovanou platbu Objekt
additional_params Volitelné parametry platby Pole objektů
lang Parametr popisující jazyk platby string, může nabývat hodnot viz lang
gw_url URL pro inicializaci platební brány string

Opakování na vyžádání

Pomocí požadavku je možné opakovat platbu na základě dříve založené opakované platby v režimu ON_DEMAND (na vyžádání). Opakováním v tomto režimu je založena následná platba v libovolné částce. O provedení platby je prodejní místo informováno formou notifikace o změně stavu platby.

Podrobné informace k provádění opakovaných plateb naleznete v našem centru nápovědy.

EET

Pro potřeby EET je požadavek založení platby rozšířený o objekt eet.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment/3000006542/create-recurrence \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type:application/json" \
-H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969" \
-d'{
    "amount":"500",
    "currency":"CZK",
    "order_number":"002",
    "order_description":"pojisteni02",
    "items":[{"name":"item01","amount":"500"}],
    "additional_params":[{
                          "name":"invoicenumber",
                          "value":"2015001004"
                        }]
}'

<?php
$response = $gopay->createRecurrence(
    3000006542,
    [
        'amount' => '500',
        'currency' => 'CZK',
        'order_number' => '002',
        'order_description' => 'pojisteni02',
        'items' => [
            ['name' => 'item01', 'amount' => '500']
        ],
        'additional_params' => [
            ['name' => 'invoicenumber', 'value' => '2015001004']
        ]
    ]
);

response = api.create_recurrence(
    3000006542,
    {
        'amount': '500',
        'currency': 'CZK',
        'order_number': '002',
        'order_description': 'pojisteni02',
        'items': {
            {'name': 'item01', 'amount': '500'}
        },
        'additional_params': {
            {'name': 'invoicenumber', 'value': '2015001004'}
        }
    }
)

GPCreateNextPayment *createNextPayment = [[GPCreateNextPayment alloc] init];
createNextPayment.amount = 500;
createNextPayment.currency = @"CZK";
createNextPayment.order_number = @"002";
createNextPayment.order_description = @"pojisteni02";
createNextPayment.items = @[[[GPItem alloc] initWithName:@"item01" amount:500]];

[[GPAPI sharedAPI] createRecurrence:createNextPayment forPaymentWithID:3000006542 withHandleSuccess:^(GPPayment *payment) {

} failure:^(NSError *error) {

}]; 

try {
  NextPaymentBuilder builder = PaymentFactory.createNextPaymentBuilder();
  ...
  PaymentResult recurrentPayment = connector.createRecurrentPayment(<ID>, builder.build());
} catch (GPClientException ex) {
  //
}

try {
  NextPaymentBuilder builder = PaymentFactory.createNextPaymentBuilder();
  ...
  PaymentResult recurrentPayment = connector.createRecurrentPayment(<ID>, builder.build());
} catch (GPClientException ex) {
  //
}

var nextPayment = new NextPayment()
  {
    Amount = <Amount>,
    Currency = <Currency>,
    OrderNumber = <OrderNumber>,
    OrderDescription = <OrderDescription>
  };
try
  {
    connector.CreateRecurrentPayment(<IdOfPaidOnDemandPayment>, nextPayment)
  }
    catch (GPClientExcepetion exception)
  {
    //
  }

Request

POST /api/payments/payment/{id}/create-recurrence

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
amount Částka ANO long > 0
currency Určuje měnu platby, formát měny odpovídá ISO 4217 ANO string
order_number Identifikace objednávky v rámci prodejního místa ANO string, pouze alfanumerické znaky (128 znaků)
order_description Popis objednávky NE string, pouze alfanumerické znaky (256 znaků)
items Detailně rozepsané jednotlivé položky objednávky ANO Objekt
eet EET údaje (povinné pro funkci EET) NE Objekt
additional_params Doplňkové parametry platby NE Objekt

Response

<?php
if ($response->hasSucceed()) {
    echo $response;
}

if response.has_succeed():
    print(response)
{
 "id":3000006621,
 "parent_id":3000006542,
 "order_number":"002",
 "state":"CREATED",
 "amount":1000,
 "currency":"CZK",
 "payment_instrument":"PAYMENT_CARD",
 "payer": {
           "contact":{"first_name":"Zbynek",
                      "last_name":"Zak",
                      "email":" test@test.cz",
                      "phone_number":"+420777456123",
                      "city":"C.Budejovice",
                      "street":"Plana 67",
                      "postal_code":"37301",
                      "country_code":"CZE"
            }
  },
 "target":{"type":"ACCOUNT",
           "goid":8123456789
          },
 "additional_params":[{"name":"invoicenumber","value":"2015001004"}],
 "lang":"cs",
 "gw_url":"https://gw.sandbox.gopay.com/gw/v3/bCcvmwTKK5hrJx2aGG8ZnFyBJhAvF"
}

Response
Název parametru Popis parametru Datový typ
id ID platby long
parent_id ID zakládající platby long
order_number ID objednávky string, pouze alfanumerické znaky (128 znaků)
state Stav platby Objekt
amount Částka v haléřích long > 0
currency Určuje měnu platby, formát měny odpovídá ISO 4217 string, nabývající hodnot viz currency
payment_instrument Kód zvolené platební metody string, nabývající hodnot viz payment_instrument
payer Objekt popisující plátce platby Objekt
target Objekt popisující příjemce platby Objekt
additional_params Volitelné parametry platby Pole objektů
lang Jazyk platby string, nabývající hodnot viz lang
gw_url URL pro inicializaci platební brány string

Zrušení opakování platby

Umožňuje zrušit opakování dříve vytvořené platby. Uživatel má stejnou možnost v přihlášeném GoPay účtu.

Podrobné informace k provádění opakovaných plateb naleznete v našem centru nápovědy.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment/3000006542/void-recurrence \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"

<?php
$response = $gopay->voidRecurrence(3000006542);

response = api.void_recurrence(3000006529)

[[GPAPI sharedAPI] voidRecurrenceForPaymentWithID:3000139597 withHandleSuccess:^(GPAPIResult result) {

} failure:^(NSError *error) {

}];

try {
    PaymentResult voidRecurrency = connector.voidRecurrency(<ID>);
} catch (GPClientException ex) {
      for (ErrorElement err : e.getError().getErrorMessages()) {
        int code = err.getErrorCode();
        String message = err.getMessage();
        String field = err.getField();
    }           
}

try {
    PaymentResult voidRecurrency = connector.voidRecurrency(<ID>);
} catch (GPClientException ex) {
    //
}

try {
    var voidRecurrency = connector.VoidRecurrency(<ID>);
} catch (GPClientException ex) {
//
}

Request

POST /api/payments/payment/{id}/void-recurrence

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/x-www-form-urlencoded ANO
Authorization Bearer <access-token> ANO

Response

<?php
if ($response->hasSucceed()) {
    echo $response;
}

if response.has_succeed():
    print(response)
{
 "id":3000006542,
 "result":"FINISHED"
}

Response
Název parametru Popis parametru Datový typ
id ID platby long
result Objekt popisující stav požadavku Objekt

Stav platby

Funkcionalita stav platby umožní prodejnímu místu zjistit jaký je aktuální stav dříve vytvořené platby. Standardně je stav platby dotazován po doručení notifikace o změně stavu platby.

Podrobnější informace k dotazu na stav platby naleznete v našem centru nápovědy.

EET

Pro potřeby EET obsahuje odpověď požadavku dotazu na stav platby objekt eet_code. Obsahem objektu eet_code jsou údaje Fiskální identifikační kód (FIK), Bezpečnostní kód poplatníka (BKP) a Podpisový kód poplatníka (PKP).

Identifikační platba

Pro účely identifikační platby obsahuje odpověď požadavku dotazu na stav platby parametry card_token a 3ds_result vlastnosti payment_card, objektu payer.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment/3000006529 \
-X "GET" \
-H "Accept: application/json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"

<?php
$response = $gopay->getStatus(3000006529);

response = api.get_status(3000006529)

[[GPAPI sharedAPI] getPaymentWithID:paymentID withHandleSuccess:^(GPPayment *payment) {    
NSLog(@"payment state: %@", [payment userReadableState]);
} failure:^(NSError *error) {  
    NSLog(@"error: %@", error);
}];

try {
    Payment payment = connector.paymentStatus(<PAYMENT_ID>);
} catch (GPClientException e) {
     for (ErrorElement err : e.getError().getErrorMessages()) {
        int code = err.getErrorCode();
        String message = err.getMessage();
        String field = err.getField();
    }            
}

try {
    Payment payment = connector.paymentStatus(<PAYMENT_ID>);
} catch (GPClientException e) {
  //
}

try {
  var payment = connector.PaymentStatus(<PAYMENT_ID>);
} catch (GPClientException e) {
//
}

Request

GET /api/payments/payment/{id}

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/x-www-form-urlencoded ANO
Authorization Bearer <access-token> ANO

Response.

<?php
if ($response->hasSucceed()) {
    echo $response;
}

if response.has_succeed():
    print(response)
{
  "id":3000006529,
  "order_number":"001",
  "state":"PAID",
  "sub_state":"_3002",
  "amount":1000,
  "currency":"CZK",
  "payment_instrument":"BANK_ACCOUNT",
  "payer":{
           "default_payment_instrument":"BANK_ACCOUNT",
           "allowed_payment_instruments":["BANK_ACCOUNT"],
           "default_swift":"FIOBCZPP",
           "bank_account":{
                      "prefix":"670100",
                      "account_number":"7654322",
                      "bank_code":"0100",
                      "account_name":"JAN NOVAK"
                      },
           "contact":{"first_name":"Zbynek",
                      "last_name":"Zak",
                      "email":" test@test.cz ",
                      "phone_number":"+420777456123",
                      "city":"C.Budejovice",
                      "street":"Plana 67",
                      "postal_code":"37301",
                      "country_code":"CZE"
                     }
          },
  "target":{"type":"ACCOUNT",
            "goid":8123456789
          },
  "additional_params":[{"name":"invoicenumber",
                        "value":"2015001003"
                      }],
  "eet_code":{
        "fik":"28da0811-e050-46c7-a62c-aa456d1f07ef-ff",
        "bkp":"5d874afc-251f8661-ff0e0b13-c7cd8793-6bf0386a",
        "pkp":"Ca8sTbURReQjjgcy/znXBKjPOnZof3AxWK5WySpyMrUXF0o7cz1BP6a....."
        },
  "lang":"cs",
  "gw_url":" https://gw.sandbox.gopay.com/gw/v3/bCcvmwTKK5hrJx2aGG8ZnFyBJhAvF"
}  

Response
Název parametru Popis parametru Datový typ
id ID platby long
order_number Identifikace objednávky v rámci prodejního místa string, pouze alfanumerické znaky (128 znaků)
state Stav platby string, nabývající hodnot viz state
sub_state Podstav platby string, nabývající hodnot viz sub_state
amount Částka v haléřích long > 0
currency Měna platby string, nabývající hodnot viz currency
payment_instrument Kód zvolené platební metody string, nabývající hodnot viz payment_instrument
payer Objekt popisující plátce platby Objekt
target Objekt popisující příjemce platby Objekt
recurrence Objekt popisující opakovanou platbu Objekt
additional_params Volitelné parametry platby Pole objektů
eet_code Kódy účtenky pro účely EET Objekt
lang Jazyk platby string, nabývající hodnot viz lang
gw_url URL pro inicializaci platební brány string

Refundace platby

Refundace platby umožňuje navrácení finančních prostředků za již provedenou platbu zpět zákazníkovi.

Refundace lze provádět dvěma způsoby. Plná refundace platby umožňuje na základě parametru amount vrácení celé částky, zatímco částečná refundace specifikuje částku pro vrácení.

Doplňující informace k refundaci plateb naleznete v našem centru nápovědy.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment/3000006620/refund \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969" \
-d "amount=1000"

<?php
$response = $gopay->refundPayment(3000006620, 1000);

response = api.refund_payment(3000006620, 1000)

[[GPAPI sharedAPI] refundPaymentWithID:3000006620 amount:10000 withHandleSuccess:^(GPAPIResult result) {
} failure:^(NSError *error) {

}];

try {
    PaymentResult result = connector.refundPayment(<PAYMENT_ID>, <AMOUNT>);
} catch (GPClientException e) {
     for (ErrorElement err : e.getError().getErrorMessages()) {
        int code = err.getErrorCode();
        String message = err.getMessage();
        String field = err.getField();
    }              
}

try {
    PaymentResult result = connector.refundPayment(<PAYMENT_ID>, <AMOUNT>);
} catch (GPClientException e) {
    //
}

try {
    var result = connector.RefundPayment(<PAYMENT_ID>, <AMOUNT>);
} catch (GPClientException e) {
//
}

Request

POST /api/payments/payment/{id}/refund

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/x-www-form-urlencoded ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
amount Refundovaná částka ANO long > 0

Response

<?php
if ($response->hasSucceed()) {
    echo $response;
}

if response.has_succeed():
    print(response)
{
 "id":3000006620,
 "result":"FINISHED"
}

Response
Název parametru Popis parametru Datový typ
id ID platby long
result Stav požadavku Objekt

Platební metody

S platebními metodami je možné provádět dodatečné operace, např. získat seznam aktuálně povolených platebních metod, které lze promítnout zákazníkům na e-shopu při výběru platební metody.

Povolené platební metody

Metoda vrací JSON strukturu všech povolených platebních metod na eshopovém profilu. V URL požadavku je nutné předat GoID dotazovaného eshopu a kód měny.

Request

curl -v -N https://gw.sandbox.gopay.com/api/eshops/eshop/8123456789/payment-instruments/CZK \
-X "GET" \
-H "Accept: application/json" \
-H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"

Request

GET /api/eshops/eshop/{GoID}/payment-instruments/{currency}

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Authorization Bearer <access-token> ANO

Response

{
"groups":{
    "card-payment":{
        "label":{
            "cs":"Platební karta"}
        },
    "bank-transfer":{
        "label":{
            "cs":"Rychlý bankovní převod"}
        },
    "wallet":{
        "label":{
            "cs":"Elektronické peněženky"}
        },
    "others":{
        "label":{
            "cs":"Ostatní"}
        }
    },
"enabledPaymentInstruments":[{
    "paymentInstrument":"PAYMENT_CARD",
        "label":{
            "cs":"Platební karta"
        },
        "image":{
            "normal":"https://gate.gopay.cz/images/checkout/payment_card.png",
            "large":"https://gate.gopay.cz/images/checkout/payment_card@2x.png"},
        "group":"card-payment",
        "enabledSwifts":null
        },
    {"paymentInstrument":"BANK_ACCOUNT",
        "label":{
            "cs":"Rychlý bankovní převod"},
        "image":{
            "normal":"https://gate.gopay.cz/images/checkout/bank_account.png",
            "large":"https://gate.gopay.cz/images/checkout/bank_account@2x.png"},
        "group":"bank-transfer",
        "enabledSwifts":[{
            "swift":"GIBACZPX",
                "label":{"cs":"Platba 24"},
                "image":{
                    "normal":"https://gate.gopay.cz/images/checkout/GIBACZPX.png",
                    "large":"https://gate.gopay.cz/images/checkout/GIBACZPX@2x.png"},
                "isOnline":true},
    ...]},
]}
Response
Název parametru Popis parametru
groups Definice skupin platebních metod
enabledPaymentInstruments Objekt obsahující platební metody povolené na eshopovém profilu

Platební brána

Pro vyvolání platební brány je možné použít HTML formulář, který pomocí Javascriptu provede inicializaci platební brány.

Inline

Formulář pro vyvolání Inline platební brány

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post" id="gopay-payment-button">
  <button name="pay" type="submit">Zaplatit</button>
  <script type="text/javascript" src="https://gw.sandbox.gopay.com/gp-gw/js/embed.js"></script>
</form>

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post" id="gopay-payment-button">
  <button name="pay" type="submit">Zaplatit</button>
  <script type="text/javascript" src="https://gw.sandbox.gopay.com/gp-gw/js/embed.js"></script>
</form>

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post" id="gopay-payment-button">
  <button name="pay" type="submit">Zaplatit</button>
  <script type="text/javascript" src="https://gw.sandbox.gopay.com/gp-gw/js/embed.js"></script>
</form>

#import <GPAPIWebView.h>

GPAPIWebView *webView = [[GPAPIWebView alloc] init];
webView.openInSafariUrls = [[GPAPI sharedAPI] bankURLs];
webView.url = payment.gw_url; // z vytvorene platby ziskame url brany, kterou otevreme v GPAPIWebView

webView.webViewDidDone = ^(long long paymentID) {
[self dismissViewControllerAnimated:YES completion:nil];
};

webView.webViewCanceled = ^{
[self dismissViewControllerAnimated:YES completion:nil];
};

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:webView];
navController.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:navController animated:YES completion:nil]; // otevreme GPAPIWebView jako modal view

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post" id="gopay-payment-button">
  <button name="pay" type="submit">Zaplatit</button>
  <script type="text/javascript" src="https://gw.sandbox.gopay.com/gp-gw/js/embed.js"></script>
</form>

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post" id="gopay-payment-button">
  <button name="pay" type="submit">Zaplatit</button>
  <script type="text/javascript" src="https://gw.sandbox.gopay.com/gp-gw/js/embed.js"></script>
</form>

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post" id="gopay-payment-button">
  <button name="pay" type="submit">Zaplatit</button>
  <script type="text/javascript" src="https://gw.sandbox.gopay.com/gp-gw/js/embed.js"></script>
</form>

Inline platební brána je vyvolána přímo nad portálem obchodníka, nedochází tedy k přesměrování.

URL (action) formuláře nastavte dle gw_url z vytvoření platby.

Parametr formuláře Popis Povinný
action gw_url založené platby ANO
method HTTP metoda ANO
id id formuláře ANO

Redirect

Formulář pro přesměrování na Redirect platební bránu

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post">
  <button name="pay" type="submit">Zaplatit</button>
</form>

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post">
  <button name="pay" type="submit">Zaplatit</button>
</form>

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post">
  <button name="pay" type="submit">Zaplatit</button>
</form>

#import <GPAPIWebView.h>

GPAPIWebView *webView = [[GPAPIWebView alloc] init];
webView.openInSafariUrls = [[GPAPI sharedAPI] bankURLs];
webView.url = payment.gw_url; // z vytvorene platby ziskame url brany, kterou otevreme v GPAPIWebView

webView.webViewDidDone = ^(long long paymentID) {
[self dismissViewControllerAnimated:YES completion:nil];
};

webView.webViewCanceled = ^{
[self dismissViewControllerAnimated:YES completion:nil];
};

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:webView];
navController.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:navController animated:YES completion:nil]; // otevreme GPAPIWebView jako modal view

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post">
  <button name="pay" type="submit">Zaplatit</button>
</form>

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post">
  <button name="pay" type="submit">Zaplatit</button>
</form>

<form action="https://gw.sandbox.gopay.com/gw/v3/dfgvmwTKK5hrJx2aGG8ZnFyBJhAvF" method="post">
  <button name="pay" type="submit">Zaplatit</button>
</form>

Platební bránu lze provozovat i ve variantě Redirect (s přesměrováním). Lze použít formulář, viz příklad, nebo provést přesměrování na URL (gw_url) předané při vytvoření platby.

Parametr formuláře Popis Povinný
action gw_url založené platby ANO
method HTTP metoda ANO

Obchodní účet

Na obchodní účet jsou ve formě elektronických peněz připisovány platby přijaté od zákazníků. REST API GoPay umožňuje např. generovat výpisy pohybů z obchodního účtu spojeného s daným e-shopem.

Výpis pohybů

Funkcionalita umožňuje generovat výpisy z GoPay obchodního účtu. Metoda vrací obsah souboru použitého formátu výpisu. Podrobný popis jednotlivých typů souborů generovaných výpisů naleznete v centru nápovědy.

Request

curl -v -N https://gw.sandbox.gopay.com/api/accounts/account-statement \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer kRwD4pd8I+YYK0SOb7g+khEfxZmc8m/fX91zbsv2Pc/h3LjqeAN7lHe9R2qnw2YcurQNAXi0KCRJlME71OR1sm1YgVMSRf71ty5ASpU05+U=" \
-d '{
"date_from":"2016-07-08",
"date_to":"2016-08-08",
"goid":"8123456789",
"currency":"CZK",
"format":"CSV_A"
}'
Request

POST /api/accounts/account-statement

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
date_from Počáteční datum výpisu ANO string yyyy-mm-dd
date_to Koncové datum výpisu ANO string yyyy-mm-dd
goid Jedinečný identifikátor e-shopu v systému platební brány ANO long
currency Určuje měnu platby, formát měny odpovídá ISO 4217 ANO string
format Určuje formát souboru generovaného výpisu ANO string
Response

Odpověď typu application/octet-stream

Rozšířené funkce

Dodatečné funkcionality využívají shodné komunikace s platební bránou jako funkce standardní implementace, ale rozšiřují ji o nové možnosti (např. EET, dávkové zpracování superCASH plateb, atd.).

Evidence tržeb (EET)

Pokud využíváte variantu B pro funkcionalitu elektronické evidence tržeb (EET), viz popis varianty uvedený v centru nápovědy, skrze platební bránu GoPay, je pro správnou funkcionalitu nutné na platební bránu odesílat specifické požadavky pracující s EET parametry popisované níže.

Požadavky funkce EET zpravidla vychází ze standardních požadavků, např. požadavek založení standardní platby, jsou však rozšířeny o objekt eet, který předává podstatná EET data. Ty jsou následně promítnuty na portál Finanční správy ČR.

Požadavky, které se od standardních operací zásadně liší, případně jsou pro funkci EET zcela nové, jsou popsány níže.

Účtenky

Funkcionalita vrátí seznam účtenek pro danou platbu. Vrací účtenku, která se vytvořila při uhrazení platby, případně i účtenku vytvořenou při provedení refundace platby.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment/3048468774/eet-receipts \
-X "GET" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 1437hmoAEdbMRcfdQeXz052Dt9MRKzcsC/+zVwfZIUVUZ3Ki+Xcf+EER9JfQ3uFKq50WLkEjBR"

Request

GET /api/payments/payment/{id}/eet-receipts

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO

Response

[{
  "celk_trzba":139951,
  "zakl_dan1":99160,
  "dan1":20830,
  "zakl_dan2":17358,
  "dan2":2603,
  "payment_id":3048468774,
  "state":"DELIVERED",
  "date_last_attempt":"2017-03-03T15:21:00.450+0100",
  "date_next_attempt":"2017-03-03T15:21:00.226+0100",
  "eet_mode":"EET",
  "uuid_zprava":"e382c8e5-195f-4b30-b6f4-eef15899240f",
  "date_odesl":"2017-03-03T15:21:00.241+0100",
  "dic_popl":"CZ1212121218",
  "id_provoz":11,
  "id_pokl":"1",
  "dat_trzby":"2017-03-03T15:21:00.162+0100",
  "porad_cis":"3048468774",
  "fik":"5f4286a4-ab97-496f-b860-cd8542911449-ff",
  "bkp":"713FB9FD-8EC9D865-4F6E5A49-68992939-408F9E59",
  "pkp":"Kzvh4JmZszaytn1XPy1wTKpJ2eqtxyQsHRlULOgKbJBPrXVeNw18uwzA1/JxViPEFKdGBRsImKH5Y4V07ZrekVs5HZGK11h+mww4P6q2KtA79/CO9S7NnBr44vwesK5PXX6gcSq4p0ptk6H5uTpmsyCxQjVesNXI1m5zduxQ93SoaZ/3kMBbhUaaqekMvxKpsxgtlbm8h8J6Fh+jvkF2NyPkEfgTyI/s9OuEq6JQ8rvTcTpz3phNXX+Cvb3oJpSNk8mtn3/uo6a/hmgdpG+W3f8pwUFZ1hQ0A5+/jyrv+pURS67l3Mh+ElUVLBEE2/Iai/jqxjklGeAa8hjQowsy3g=="
}]
Response
Název parametru Popis parametru Datový typ
dic_poverujiciho DIČ pověřujícího poplatníka varchar
celk_trzba Celková částka tržby long v centech
zakl_nepodl_dph Celková částka plnění osvobozených od DPH long v centech
zakl_dan1 Celkový základ daně se základní sazbou DPH long v centech
dan1 Celková DPH se základní sazbou long v centech
zakl_dan2 Celkový základ daně s první sníženou sazbou DPH long v centech
dan2 Celková DPH s první sníženou sazbou long v centech
zakl_dan3 Celkový základ daně s druhou sníženou sazbou DPH long v centech
dan3 Celková DPH s druhou sníženou sazbou long v centech
cest_sluz Celková částka v režimu DPH pro cestovní službu long v centech
pouzit_zboz1 Celková částka v režimu DPH pro prodej použitého zboží se základní sazbou long v centech
pouzit_zboz2 Celková částka v režimu DPH pro prodej použitého zboží s první sníženou sazbou long v centech
pouzit_zboz3 Celková částka v režimu DPH pro prodej použitého zboží s druhou sníženou sazbou long v centech
urceno_cerp_zuct Celková částka plateb určená k následnému čerpání nebo zúčtování long v centech
cerp_zuct Celková částka plateb, které jsou následným čerpáním nebo zúčtováním platby long v centech
payment_id ID platby long
state Stav doručení účtenky nabývá hodnot state
date_last_attempt Datum a čas posledního pokusu o evidenci yyyy-MM-dd’T'HH:mm:ss.SSSZ
date_next_attempt Datum a čas dalšího pokusu o evidenci yyyy-MM-dd’T'HH:mm:ss.SSSZ
eet_mode Varianta EET nabývá hodnot eet_mode
uuid_zprava UUID zprávy string
date_odesl Datum a čas odeslání EET účtenky yyyy-MM-dd’T'HH:mm:ss.SSSZ
dic_popl DIČ poplatníka varchar
id_provoz Označení provozovny integer
id_pokl Označení pokladního zařízení string
dat_trzby Datum a čas přijetí tržby yyyy-MM-dd’T'HH:mm:ss.SSSZ
porad_cis Pořadové číslo účtenky long
kod_chyby Chyba způsobená při komunikaci se službou EET integer
error_code Kód chyby EET integer
kody_varovani Kód varování EET string
fik Fiskální identifikační kód (FIK) varchar, 39 znaků
bkp Bezpečnostní kód poplatníka (BKP) varchar, 44 znaků
pkp Podpisový kód poplatníka (PKP) varchar, 344 znaků

Seznam účtenek

Funkcionalita vrátí seznam všech účtenek za dané období pro konkrétní provozovnu. Maximální rozsah datumů je 30 dní.

Request

curl -v -N https://gw.sandbox.gopay.com/api/eet-receipts \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 1437hmoAEdbMRcfdQeXz052Dt9MRKzcsC/+zVwfZIUVUZ3Ki+Xcf+EER9JfQ3uFKq50WLkEjBR" \
-d '{
      "date_from": "2017-03-01",
      "date_to":"2017-03-06",
      "id_provozovny":"11"
    }'

Request

POST /api/eet-receipts

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
date_from Počáteční datum ANO string yyyy-mm-dd
date_to Koncové datum ANO string yyyy-mm-dd
id_provozovny Označení provozovny ANO long

Response

[{
  "celk_trzba":-139951,
  "zakl_dan1":-99160,
  "dan1":-20830,
  "zakl_dan2":-17358,
  "dan2":-2603,
  "payment_id":3048468774,
  "state":"DELIVERED",
  "date_last_attempt":"2017-03-03T15:22:34.853+0100",
  "date_next_attempt":"2017-03-03T15:22:34.652+0100",
  "eet_mode":"EET",
  "uuid_zprava":"3592a5be-49f0-4c32-9634-fb4738657bb9",
  "date_odesl":"2017-03-03T15:22:34.669+0100",
  "dic_popl":"CZ1212121218",
  "id_provoz":11,
  "id_pokl":"1",
  "porad_cis":"3048468774-4000000573",
  "fik":"fb60760a-34e4-4cef-b93e-15dca3dfae14-ff",
  "bkp":"802476B0-C9E62225-98C83257-C8104A37-3D8C0AEA",
  "pkp":"hZTkX2DkwtPcIHdORO/gYAF6gE3uTf+YA1m/3SYCll4tQramRbCBqAQZoiUk0yNRXYulyS0G4nRlK4qcrFyOY1ptohNGe57oXzGTJuv7yE3c5c6S9UdwPqDjb3ZHxWjZLkSLMEu9LVdQp4R8b4vUikvC3ALN148a2140LmY8xXpEQDZkjDD6POrx1fybtUFo+VQYV+w3M3MpMjPKcDf4Zabq53r/UXVGOJBJQUrALAYRmylbKWZlk0gHV7cImXVnnXwUtSIU90kLu69EOAUIYgnILZqCACXQwUV5Uh+2roCqyojdoqh3ij7qTOd+KDHXXZH0sjTPQOR9ZVP9IUmifg=="},
  {
  "celk_trzba":139951,
  "zakl_dan1":99160,
  "dan1":20830,
  "zakl_dan2":17358,
  "dan2":2603,
  "payment_id":3048468774,
  "state":"DELIVERED",
  "date_last_attempt":"2017-03-03T15:21:00.450+0100",
  "date_next_attempt":"2017-03-03T15:21:00.226+0100",
  "eet_mode":"EET",
  "uuid_zprava":"e382c8e5-195f-4b30-b6f4-eef15899240f",
  "date_odesl":"2017-03-03T15:21:00.241+0100",
  "dic_popl":"CZ1212121218",
  "id_provoz":11,
  "id_pokl":"1",
  "dat_trzby":"2017-03-03T15:21:00.162+0100",
  "porad_cis":"3048468774",
  "fik":"5f4286a4-ab97-496f-b860-cd8542911449-ff",
  "bkp":"713FB9FD-8EC9D865-4F6E5A49-68992939-408F9E59",
  "pkp":"Kzvh4JmZszaytn1XPy1wTKpJ2eqtxyQsHRlULOgKbJBPrXVeNw18uwzA1/JxViPEFKdGBRsImKH5Y4V07ZrekVs5HZGK11h+mww4P6q2KtA79/CO9S7NnBr44vwesK5PXX6gcSq4p0ptk6H5uTpmsyCxQjVesNXI1m5zduxQ93SoaZ/3kMBbhUaaqekMvxKpsxgtlbm8h8J6Fh+jvkF2NyPkEfgTyI/s9OuEq6JQ8rvTcTpz3phNXX+Cvb3oJpSNk8mtn3/uo6a/hmgdpG+W3f8pwUFZ1hQ0A5+/jyrv+pURS67l3Mh+ElUVLBEE2/Iai/jqxjklGeAa8hjQowsy3g=="}
]
Response
Název parametru Popis parametru Datový typ
dic_poverujiciho DIČ pověřujícího poplatníka varchar
celk_trzba Celková částka tržby long v centech
zakl_nepodl_dph Celková částka plnění osvobozených od DPH long v centech
zakl_dan1 Celkový základ daně se základní sazbou DPH long v centech
dan1 Celková DPH se základní sazbou long v centech
zakl_dan2 Celkový základ daně s první sníženou sazbou DPH long v centech
dan2 Celková DPH s první sníženou sazbou long v centech
zakl_dan3 Celkový základ daně s druhou sníženou sazbou DPH long v centech
dan3 Celková DPH s druhou sníženou sazbou long v centech
cest_sluz Celková částka v režimu DPH pro cestovní službu long v centech
pouzit_zboz1 Celková částka v režimu DPH pro prodej použitého zboží se základní sazbou long v centech
pouzit_zboz2 Celková částka v režimu DPH pro prodej použitého zboží s první sníženou sazbou long v centech
pouzit_zboz3 Celková částka v režimu DPH pro prodej použitého zboží s druhou sníženou sazbou long v centech
urceno_cerp_zuct Celková částka plateb určená k následnému čerpání nebo zúčtování long v centech
cerp_zuct Celková částka plateb, které jsou následným čerpáním nebo zúčtováním platby long v centech
payment_id ID platby long
state Stav doručení účtenky nabývá hodnot state
date_last_attempt Datum a čas posledního pokusu o evidenci yyyy-MM-dd’T'HH:mm:ss.SSSZ
date_next_attempt Datum a čas dalšího pokusu o evidenci yyyy-MM-dd’T'HH:mm:ss.SSSZ
eet_mode Varianta EET nabývá hodnot eet_mode
uuid_zprava UUID zprávy string
date_odesl Datum a čas odeslání EET účtenky yyyy-MM-dd’T'HH:mm:ss.SSSZ
dic_popl DIČ poplatníka varchar
id_provoz Označení provozovny integer
id_pokl Označení pokladního zařízení string
dat_trzby Datum a čas přijetí tržby yyyy-MM-dd’T'HH:mm:ss.SSSZ
porad_cis Pořadové číslo účtenky long
kod_chyby Chyba způsobená při komunikaci se službou EET integer
error_code Kód chyby EET integer
kody_varovani Kód varování EET string
fik Fiskální identifikační kód (FIK) varchar, 39 znaků
bkp Bezpečnostní kód poplatníka (BKP) varchar, 44 znaků
pkp Podpisový kód poplatníka (PKP) varchar, 344 znaků

Refundace EET platby

Refundace platby umožňuje navrácení finančních prostředků za již provedenou platbu zpět zákazníkovi.

Požadavek provedení refundu pro elektronickou evidenci tržet (EET) se od standardního požadavku liší hodnotou parametru Content-Type v hlavičce požadavku.

V tělě požadavku je nutné předat objekt items a objekt eet.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment/3000006620/refund \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969" \
-d '{
    "amount":119990,
    "items":[
        {
            "type":"ITEM", 
            "name":"lodicky",
            "product_url":"https://www.eshop.cz/boty/damske/lodicky-cervene", 
            "ean":1234567890123,
            "amount":-119990,
            "count":1,
            "vat_rate":21
        }],
    "eet":{
            "celk_trzba":-119990,
            "zakl_dan1":-99160,
            "dan1":-20830,
            "mena":"CZK"
        }
    }'

<?php
    use GoPay\Definition\Payment\VatRate;
    use GoPay\Definition\Payment\PaymentItemType;

    $response = $gopay->refundPayment(3000006620, [
    'amount' => 119990,
    'items' => [
            [
                    'type' => PaymentItemType::ITEM,
                    'name' => 'lodicky',
                    'product_url' => 'https://www.eshop.cz/boty/damske/lodicky-cervene',
                    'ean' => 1234567890123,
                    'amount' => -119990,
                    'count' => 1,
                    'vat_rate' => VatRate::RATE_4
            ]],
    'eet' => [
            'celk_trzba' => -119990,
            'zakl_dan1' => -99160,
            'dan1' => -20830,
            'mena' => Currency::CZECH_CROWNS
    ]
]);

Request

POST /api/payments/payment/{id}/refund

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
amount Refundovaná částka ANO long > 0
items Detailně rozepsané jednotlivé položky objednávky ANO Objekt
eet Parametry pro elektronickou evidenci tržeb ANO Objekt

Response

{
 "id":3000006620,
 "result":"FINISHED"
}
Response
Název parametru Popis parametru Datový typ
id ID platby long
result Stav požadavku Objekt

Identifikační platba

Identifikační platba platební kartou umožňuje zajistit, že zákazník bude platby na e-shopu provádět platební kartou, ke které má aktivní přístup a může platby danou platební kartou autorizovat. Fukcionalita dále zajištuje unikátnost dané platební karty v rámci konkrétního e-shopu (GoID).

Iniciační platba

Požadavek založení identifikační platby vychází ze standardního požadavku, který je rozšířený o parametr verify_pin. V případě provedení platby zákazníkem je tento parametr uvedený u prováděné transakce v internetovém bankovnictví spojeného s danou platební kartou. Zadáním hodnoty parametru verify_pin na e-shopu je možné po zákazníkovi požadovat dodatečné ověření pro provedení ověření držitele platební karty.

V případě předautorizované platby lze blokované prostředky následně strhnout pomocí API voláním stržení předautorizované platby, případně odblokovat pomocí zrušení předautorizace platby.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer xzZnu3YnAHRk298EsmyttFQMcbCcvmwTKK5hrJx2aGG8ZnFyBJhAvFWNmbWVSD7p" \
-d '{
    "payer": {
            "allowed_payment_instruments":["PAYMENT_CARD"],
            "contact":{
                        "first_name":"Zbynek",
                        "last_name":"Zak",
                        "email":"test@test.cz",
                        "phone_number":"+420777456123",
                        "city":"C.Budejovice",
                        "street":"Plana 67",
                        "postal_code":"373 01",
                        "country_code":"CZE"
                        },
            "verify_pin":"1234"
            },
    "target": {"type":"ACCOUNT",
               "goid":"8123456789"
              },
    "amount":"1000",
    "currency":"CZK",
    "order_number":"001",
    "order_description":"pojisteni01",
    "items":[{"name":"item01","amount":"500"},
             {"name":"item02","amount":"500"}],
    "preauthorization":"true",
    "additional_params":[{"name":"invoicenumber",
                          "value":"2015001003"
                        }],
    "callback":{
                "return_url":"http://www.eshop.cz/return",
                "notification_url":"http://www.eshop.cz/notify"
               }
}'

Request

POST /api/payments/payment

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
payer Objekt popisující plátce platby ANO Objekt
target Objekt popisující příjemce platby ANO Objekt
amount Částka v haléřích ANO long > 0
currency Určuje měnu platby, formát měny odpovídá ISO 4217 ANO string, může nabývat hodnot viz currency
order_number Identifikace objednávky v rámci prodejního místa ANO string, pouze alfanumerické znaky (128 znaků)
order_description Popis objednávky NE string, pouze alfanumerické znaky (256 znaků)
items Detailně rozepsané jednotlivé položky objednávky ANO Pole objektů
preauthorization Aktivace předautorizované platby ANO bool
additional_params Doplňkové parametry platby NE Pole objektů
callback Návratové URL a notifikační URL pro oznámení změny stavu platby ANO Objekt

Response

{
  "id":3000006542,
  "order_number":"001",
  "state":"CREATED",
  "amount":1000,
  "currency":"CZK",
  "payer":{
           "contact":{"first_name":"Zbynek",
                      "last_name":"Zak",
                      "email":" test@test.cz ",
                      "phone_number":"+420777456123",
                      "city":"C.Budejovice",
                      "street":"Plana 67",
                      "postal_code":"37301",
                      "country_code":"CZE"
                    }
          },
  "target":{"type":"ACCOUNT",
            "goid":8123456789
          },
  "preauthorization":{"requested":true,
                      "state":"REQUESTED"
                    },
  "additional_params":[{"name":"invoicenumber",
                        "value":"2015001003"
                      }],
  "lang":"cs",
  "gw_url":" https://gw.sandbox.gopay.com/gw/v3/bCcvmwTKK5hrJx2aGG8ZnFyBJhAvF "
}
Response
Název parametru Popis parametru Datový typ
id ID platby long
order_number ID objednávky string, pouze alfanumerické znaky (128 znaků)
state Stav platby string, může nabývat hodnot viz state
amount Částka v haléřích long > 0
payer Objekt popisující plátce platby Objekt
target Objekt popisující příjemce platby Objekt
preauthorization Objekt popisující předautorizaci Objekt
additional_params Volitelné parametry platby Pole objektů
lang Jazyk platby string, může nabývat hodnot viz lang
gw_url URL pro inicializaci platební brány string

Následná platba

Požadavek založení následné platby s využitím verifikace vychází z požadavku založení standardní platby, který je rozšířený o parametr allowed_card_token.

Parametr allowed_card_token je získán z odpovědi dotazu na stav platby prvotní identifikační platby.

Request

curl -v -N https://gw.sandbox.gopay.com/api/payments/payment \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer xzZnu3YnAHRk298EsmyttFQMcbCcvmwTKK5hrJx2aGG8ZnFyBJhAvFWNmbWVSD7p" \
-d '{
    "payer": {
                "allowed_payment_instruments":["PAYMENT_CARD"],
                "contact":{"first_name":"Zbynek",
                           "last_name":"Zak",
                           "email":"test@test.cz",
                           "phone_number":"+420777456123",
                           "city":"C.Budejovice",
                           "street":"Plana 67",
                           "postal_code":"373 01",
                           "country_code":"CZE"
                          },
                "allowed_card_token":"6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcb"
              },
    "target": {
                "type":"ACCOUNT",
                "goid":"8123456789"
              },
    "amount":"1000",
    "currency":"CZK",
    "order_number":"001",
    "order_description":"pojisteni01",
    "items":[{"name":"item01","amount":"500"},
             {"name":"item02","amount":"500"}
            ],
    "additional_params":[{"name":"invoicenumber",
                          "value":"2015001003"
                        }],
    "callback":{
                "return_url":"http://www.eshop.cz/return",
                "notification_url":"http://www.eshop.cz/notify"
              },
    "lang":"cs"
}'

Request

POST /api/payments/payment

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
payer Objekt popisující plátce platby ANO Objekt
target Objekt popisující příjemce platby ANO Objekt
amount Částka v haléřích ANO long > 0
currency Určuje měnu platby, formát měny odpovídá ISO 4217 ANO string
order_number Identifikace objednávky v rámci prodejního místa ANO string, pouze alfanumerické znaky (128 znaků)
order_description Popis objednávky NE string, pouze alfanumerické znaky (256 znaků)
items Detailně rozepsané jednotlivé položky objednávky ANO Objekt
callback Návratové URL a notifikační URL pro oznámení změny stavu platby ANO Objekt
additional_params Doplňkové parametry platby NE Pole objektů
lang Parametr definuje jazyk platby NE string, může nabývat hodnot viz lang

Response

{
  "id":3000006529,
  "order_number":"001",
  "state":"CREATED",
  "amount":1000,"currency":"CZK",
  "payer":{
           "allowed_payment_instruments":["PAYMENT_CARD"],
           "contact":{"first_name":"Zbynek",
                      "last_name":"Zak",
                      "email":" test@test.cz ",
                      "phone_number":"+420777456123",
                      "city":"C.Budejovice",
                      "street":"Plana 67",
                      "postal_code":"37301",
                      "country_code":"CZE"
                    }
          },
  "target":{"type":"ACCOUNT",
            "goid":8123456789
          },
  "additional_params":[{"name":"invoicenumber",
                        "value":"2015001003"
                      }],
  "lang":"cs",
  "gw_url":" https://gw.sandbox.gopay.com/gw/v3/bCcvmwTKK5hrJx2aGG8ZnFyBJhAvF"
}  
Response
Název parametru Popis parametru Datový typ
id ID platby long
order_number ID objednávky string, pouze alfanumerické znaky (128 znaků)
state Stav platby string, může nabývat hodnot viz state
amount Částka v haléřích long > 0
currency Měna platby string, může nabývat hodnot viz currency
payer Objekt popisující plátce platby Objekt
target Objekt popisující příjemce platby Objekt
additional_params Doplňkové parametry platby Pole objektů
lang Parametr definuje jazyk platby string, může nabývat hodnot viz lang
gw_url URL pro inicializaci platební brány string

superCASH

Rozšířené možnosti platební metody superCASH umožňují vytvořit hromadně skupinu (batch) kupónů pro získání platebních údajů, včetně čárových kódů. Zákazník tak nepřichází do styku s platební bránou GoPay. Potřebné údaje pro platbu offline platební metodou superCASH je možné zákazníkovi zobrazit předem např. na fakturu za objednávku na e-shopu.

Vytvoření batche

Volání vytvoří skupinu (batch) superCASH kupónů. Po vytvoření všech kuponů bude zavolána URL uvedená v parametru batch_completed_notification_url. Parametry kupónů definuje objekt “defaults”, případně pole kupónů v objektu “coupons”.

Request

curl -v -N https://gw.sandbox.gopay.com/api/supercash/coupon/batch \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer cwY6kMhLcXGVWTOR3qIV92uonFcKtdLm0sJQurAOLORcPHw9PV3AoBQWumnJJq4pmCIU1xC1ZNxDgdzMrJuD3PMgk1pSv1Qf0cu/ILubBgY=" \
-d '{
    "go_id":8123456789,
    "batch_completed_notification_url":"http://http-notify.cz/supercash",
    "defaults":{
        "sub_type":"POSTPAID",
        "amounts":[300,400,500,600,700,800,900,1000],
        "order_description":"supercash batch test"
    },
    "coupons":[
        {
            "buyer_email":"zakaznik1@example.com",
            "custom_id":"ID-123457",
            "buyer_phone":"+420777666111",
            "amounts":[100]
        },
        {
            "buyer_email":"zakaznik2@example.com",
            "custom_id":"ID-123458",
            "buyer_phone":"+420777666222",
            "amounts":[200]
        },
        {
            "buyer_email":"zakaznik3@example.com",
            "custom_id":"ID-123459",
            "buyer_phone":"+420777666333"
        }
    ]
}'

def _create_supercash_batch(self):
    base_batch = {
        'batch_completed_notification_url' : 'http://www.notify.cz/super',
        'defaults' : {
            'sub_type' : SupercashSubType.SUB_TYPE_POSTPAID,
            'amounts' : [300, 400, 500, 600, 700, 800, 900, 1000],
            'order_description' : 'supercash_coupon_batch_test',
        },
        'coupons' : [
            {
                'buyer_email' : 'zakaznik1@example.com',
                'custom_id' : 'ID-123457',
                'buyer_phone' : '+420777666111',
                'amounts' : [100],
            },
            {
                'buyer_email' : 'zakaznik2@example.com',
                'custom_id' : 'ID-123458',
                'buyer_phone' : '+420777666222',
                'amounts' : [200],
            },
            {
                'buyer_email' : 'zakaznik3@example.com',
                'custom_id' : 'ID-123459',
                'buyer_phone' : '+420777666333',
                'amounts' : [300],
            },
        ],
    }
    }

SupercashRequestBuilder batchItemBuilder = new SupercashRequestBuilder();

SupercashRequestBuilder batchRequestBuilder = new SupercashRequestBuilder();

SupercashBatchRequest batchRequest = batchRequestBuilder
        <GOID>
        <NOTIFY_URL>
        .withDefaults(batchItemBuilder
                .subType(SubType.POSTPAID)
                .withAmounts(Arrays.asList(300L, 400L, 500L, 600L, 700L, 800L, 900L, 1000L))
                .orderDescription("Supercash Coupon Batch Test")
                .buildBatchItem()
        )
        .addCoupon(batchItemBuilder
                .reset()
                .withBuyerEmail("zakaznik1@example.com")
                .customId("ID-123457")
                .withBuyerPhone("+420777666111")
                .withAmounts(Arrays.asList(100L))
                .buildBatchItem()
        )
        .addCoupon(batchItemBuilder
                .reset()
                .withBuyerEmail("zakaznik2@example.com")
                .customId("ID-123458")
                .withBuyerPhone("+420777666222")
                .withAmounts(Arrays.asList(200L))
                .buildBatchItem()
        )
        .addCoupon(batchItemBuilder
                .reset()
                .withBuyerEmail("zakaznik3@example.com")
                .customId("ID-123459")
                .withBuyerPhone("+420777666333")
                .withAmounts(Arrays.asList(300L))
                .buildBatchItem()
        )
        .buildBatchRequest();

SupercashBatchResult batchResult = null;

try {
    batchResult = connector
            .getAppToken(CLIENT_ID, CLIENT_SECRET, OAuth.SCOPE_PAYMENT_ALL)
            .createSupercashCouponBatch(batchRequest);

} catch (GPClientException e) {
    //
}

SupercashBatchRequest batchRequest = new SupercashBatchRequest()
{
    GoId = GOID,
    BatchNotificationUrl = "http://www.notify.cz/super",
    Defaults = new SupercashBatchItem()
    {
        SubType = SubType.POSTPAID,
        Amounts = new List<long> { 300, 400, 500, 600, 700, 800, 900, 1000 },
        OrderDescription = "Supercash Coupon Batch Test"
    },
    Coupons = new List<SupercashBatchItem> {
        new SupercashBatchItem()
        {
            BuyerEmail = "zakaznik1@example.com",
            CustomId = "ID-123457",
            BuyerPhone = "+420777666111",
            Amounts = new List<long> { 100 }
        },
        new SupercashBatchItem()
        {
            BuyerEmail = "zakaznik2@example.com",
            CustomId = "ID-123458",
            BuyerPhone = "+420777666222",
            Amounts = new List<long> { 200 }
        },
        new SupercashBatchItem()
        {
            BuyerEmail = "zakaznik3@example.com",
            CustomId = "ID-123459",
            BuyerPhone = "+420777666333",
            Amounts = new List<long> { 300 }
        }
    }
};

try
{
    SupercashBatchResult result = connector.GetAppToken().CreateSupercashCouponBatch(batchRequest);
    Console.WriteLine(result.ToString());
}
catch (GPClientException ex)
{
    //
}  

Request

POST /api/supercash/coupon/batch

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
go_id Jedinečný identifikátor eshopu v systému platební brány ANO long
batch_completed_notification_url URL adresa pro odeslání asynchronní notifikace v případě změny stavu skupiny (včetně protokolu) ANO string
defaults Výchozí hodnoty superCASH kupónů ANO Objekt
coupons Specifické parametry jednotlivých kupónů ANO Objekt

Response

{"batch_request_id":951806260} 
Response
Název parametru Popis parametru Datový typ
batch_request_id ID vytvořené skupiny kupónů long

Vytvoření kupónu

Volání vytvoří superCASH kupón. Po vytvoření kupónu bude zavolána URL uvedená v parametru notification_url.

Request

curl -v -N https://gw.sandbox.gopay.com/api/supercash/coupon \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eMk5PlDzC9wjGle/1F1sfOI7MvOoFZoFjVVzWMiBTD0KoiT2HgyW9z9wfIBaZg1eDzN21tbf11oABJmgbliXd4d+ZlqVlOoY78kdhGR0tEE=" \
-d '{
    "go_id":8123456789,
    "sub_type":"POSTPAID",
    "custom_id":"ID-123457",
    "order_number":"1",
    "amount":100,
    "order_description":"supercash test",
    "buyer_email":"zakaznik@example.com",
    "buyer_phone":"+420777666111",
    "date_valid_to":"2018-12-31",
    "notification_url":"http://http-notify.cz/supercash"
}'

def test_create_supercash_coupon(self):
    base_coupon = {
        'sub_type' : SupercashSubType.SUB_TYPE_POSTPAID,
        'custom_id' : 'ID-123457',
        'amount' : 100,
        'order_number' : '1',
        'order_description' : 'supercash_coupon_test',
        'buyer_email' : 'zakaznik@example.com',
        'buyer_phone' : '+420777123456',
        'date_valid_to' : '2018-12-31',
        'notification_url' : 'http://www.example-notify.cz/supercash',
    }

SupercashRequestBuilder couponRequestBuilder = new SupercashRequestBuilder();

SupercashCouponRequest couponRequest = couponRequestBuilder
        <GOID>
        .subType(SubType.POSTPAID)
        .withAmount(100L)
        .customId("ID-123457")
        .orderNumber("1")
        .orderDescription("Supercash Coupon Test")
        .withBuyerEmail("zakaznik@example.com")
        .withBuyerPhone("+420777123456")
        .validTo(new Date(2018, 12, 31))
        <NOTIFY_URL>
        .buildCouponRequest();

SupercashCoupon coupon = null;

try {
    coupon = connector
            .getAppToken(CLIENT_ID, CLIENT_SECRET, OAuth.SCOPE_PAYMENT_ALL)
            .createSupercashCoupon(couponRequest);

} catch (GPClientException e) {
    //
}

SupercashCouponRequest couponRequest = new SupercashCouponRequest()
{
    GoId = GOID,
    SubType = SubType.POSTPAID,
    CustomId = "ID-123457",
    Amount = 100,
    OrderNumber = "1",
    OrderDescription = "Supercash Coupon Test",
    BuyerEmail = "zakaznik@example.com",
    BuyerPhone = "+420777123456",
    DateValidTo = new DateTime(2018, 12, 31),
    NotificiationUrl = "http://www.example-notify.cz/supercash"
};

try
{
    SupercashCoupon result = connector.GetAppToken().CreateSupercashCoupon(couponRequest);

    Console.WriteLine("SC coupon id: {0}", result.SupercashCouponId);
    Console.WriteLine("SC custom id: {0}", result.CustomId);
    Console.WriteLine("SC coupon number: {0}", result.SupercashNumber);
}
catch (GPClientException ex)
{
   //
}   

Request

POST /api/supercash/coupon

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/json ANO
Authorization Bearer <access-token> ANO
Tělo požadavku
Název parametru Popis parametru Povinný Datový typ
go_id Jedinečný identifikátor eshopu v systému platební brány ANO long
sub_type Typ superCASH kupónu ANO Nabývá hodnot, viz sub_type
custom_id Vlastní ID pro kupón NE string, pouze alfanumerické znaky (256 znaků)
amount Částka v haléřích ANO long > 0
order_number Identifikace objednávky v rámci prodejního místa NE string, pouze alfanumerické znaky (128 znaků)
order_description Popis objednávky NE string, pouze alfanumerické znaky (256 znaků)
buyer_email Validní e-mail zákazníka ANO string
buyer_phone Telefonní číslo zákazníka s předvolbou ANO string
date_valid_to Datum platnosti kupónu ANO string, yyyy-mm-dd
notification_url URL adresa pro odeslání asynchronní notifikace v případě změny stavu kupónu (včetně protokolu) ANO string

Response

{
    "supercash_coupon_id":100154021,
    "custom_id":"ID-123457",
    "barcode_image_url":"https://partner.sandbox.gopay.com/gp-gateways/supercash/generateImg.action?barCode=14969119252751496911925275149691",
    "supercash_number":"1496911925275",
    "barcode":"14969119252751496911925275149691",
    "date_created":"2017-06-08T10:52:05.224+0200",
    "date_valid_to":"2018-12-31",
    "payment_session_id_list":[3050854820]
}
Response
Název parametru Popis parametru Datový typ
supercash_coupon_id ID superCASH kupónu string
custom_id Vlastní ID pro kupón string
barcode_image_url Odkaz na JPG soubor s čárovým kódem superCASH string
supercash_number Číslo superCASH string
barcode Číslo čárového kódu superCASH string
date_created Datum vytvoření kupónu yyyy-MM-dd’T'HH:mm:ss.SSSZ
date_valid_to Datum platnosti kupónu string, yyyy-mm-dd
payment_session_id_list List ID plateb string

Stav vytvoření batche

Umožňuje zjistit stav vytvářeného superCASH batche.

Request

curl -v -N https://gw.sandbox.gopay.com/api/batch/951806260 \
-X "GET" \
-H "Accept: application/json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer m/7OTknCbdIiHTNfFW6GWMyfL7XO40OfOKixtzUvkp+eLw9gWBl96+Lk4fPz7BrpFUGWvA3bi29Ywc8gC5tOONeUJQvXmruhjJQNw7QyeqQ=" \

def _get_supercash_coupon_batch_status(self):
    batch_id = 961667719

long batchId = 961667719;
SupercashBatchState batchState = null;

try {
    batchState = connector
            .getAppToken(CLIENT_ID, CLIENT_SECRET, OAuth.SCOPE_PAYMENT_ALL)
            .getSupercashCouponBatchStatus(batchId);

} catch (GPClientException e) {
    //
}

var batchId = 961667719;

try
{
    SupercashBatchState result = connector.GetAppToken().GetSupercashCouponBatchStatus(batchId);
    Console.WriteLine(result.ToString());
}
catch (GPClientException ex)
{
    //
}

Request

GET /api/batch/{id_batche}

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/x-www-form-urlencoded ANO
Authorization Bearer <access-token> ANO

Response

{
    "state":"COMPLETED",
    "batch_completed":true,
    "items_finished":10,
    "items_count":10
}
Response
Název parametru Popis parametru Datový typ
state Stav dokončení batche string, může nabývat hodnot viz state
batch_completed Batch dokončen boolean
items_finished Počet dokončných kupónů long
items_count Celkový počet kupónů long

Detaily

Funkcionalita umožňuje získávat superCASH údaje pro kupóny, batche nebo platby. Jednotlivé funkce se liší v GET parametrech uvedených ve volané URL adrese, viz requesty níže.

Kupóny
Funkcionalita vypisuje detaily konkrétního superCASH kupónu.

Batche
Funkcionalita vypisuje detaily superCASH kupónů daného batche uvedeného jako GET parametr v URL požadavku.

Platby
Funkcionalita vypisuje detaily superCASH kupónů pro konkrétní ID platby uvedené jako GET parametr v URL požadavku.
Více ID plateb je v URL požadavku odděleno čárkou.

Request

curl -v -N https://gw.sandbox.gopay.com/api/supercash/coupon/100153229 \
-X "GET" \
-H "Accept: application/json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer Ufgxd1w6C4rvm/UD8PovgE4fV9phwJKTEbWFQeoWY69w9Ph7+qFCajyBxVz75k7/G6yGhQpwFmgPfB9cahnJR6wp8ja/mX8x/0wAlgbX1o8=" \

def _get_supercash_coupon(self):
        coupon_id = 100154175

long couponId = 100154175;

SupercashPayment supercashPayment = null;

try {
    supercashPayment = connector
            .getAppToken(CLIENT_ID, CLIENT_SECRET, OAuth.SCOPE_PAYMENT_ALL)
            .getSupercashCoupon(couponId);
} catch (GPClientException e) {
    //
}

long couponId = 100154175;

try
{
    SupercashPayment result = connector.GetAppToken().GetSupercashCoupon(couponId);
    Console.WriteLine(result.ToString());
}
catch (GPClientException ex)
{
    //
}

Request kupónu

GET /api/supercash/coupon/{id_kuponu}

Request batche

GET /api/supercash/coupon/find?batch_request_id={id_batche}&go_id={goid_eshopu}

Request platby

GET /api/supercash/coupon/find?payment_session_id_list={id_platby}&go_id={goid_eshopu}

Hlavička požadavku
Název parametru Popis parametru Povinný
Accept application/json ANO
Content-Type application/x-www-form-urlencoded ANO
Authorization Bearer <access-token> ANO

Response

{
    "coupons":[{
        "supercash_coupon_id":100153229,
        "custom_id":"ID-123457",
        "barcode_image_url":"https://partner.sandbox.gopay.com/gp-gateways/supercash/generateImg.action?barCode=14950224995111495022499511149502",
        "supercash_number":"1495022499511",
        "barcode":"14950224995111495022499511149502",
        "date_created":"2017-05-17T14:01:39.462+0200",
        "date_valid_to":"2017-08-15",
        "payment_session_id_list":[3050400405]}
    ]
}
Response
Název parametru Popis parametru Datový typ
supercash_coupon_id ID superCASH kupónu string
custom_id Identifikace objednávky v rámci prodejního místa string
barcode_image_url Odkaz na JPG soubor s čárovým kódem superCASH string
supercash_number Číslo superCASH string
barcode Číslo čárového kódu superCASH string
date_created Datum vytvoření kupónu yyyy-MM-dd’T'HH:mm:ss.SSSZ
date_valid_to Datum platnosti kupónu string, yyyy-mm-dd
payment_session_id_list List ID plateb string

Objekty

Popis jednotlivých objektů použitých při komunikaci s platební bránou

payer

Definice plátce platby

 {
   "allowed_payment_instruments":["PAYMENT_CARD", "BANK_ACCOUNT"],
   "default_payment_instrument":"BANK_ACCOUNT",
   "default_swift":"GIBACZPX",
   "allowed_swifts":["FIOBCZPP","BREXCZPP"],
   "bank_account":{},
   "contact": {}
 }
Název parametru Popis parametru Datový typ
allowed_payment_instruments Pole povolených platebních metod string, nabývající hodnot viz payment_instrument
default_payment_instrument Preferovaná platební metoda string, nabývající hodnot viz payment_instrument
default_swift Preferová banka pokud je default_payment_instrument nastaveno na BANK_ACCOUNT, nastaveno pomocí SWIFT kódu banky string, nabývající hodnot viz SWIFT
allowed_swifts Pole povolených kódů bank string, nabývající hodnot viz SWIFT
bank_account Údaje o bankovním účtu plátce Objekt
payment_card Údaje o použité platební kartě Objekt
contact Údaje o zákaníkovi Objekt
verify_pin PIN pro účely identifikační platby String, 4 číslice
allowed_card_token Token pro účely identifikační platby String

bank_account

Údaje o bankovním účtu plátce

{
    "prefix":"670100",
    "account_number":"7654322",
    "bank_code":"0100",
    "account_name":"JAN NOVAK"
}
Název parametru Popis parametru Datový typ
iban Kód IBAN bankovního účtu zákazníka string, 50 znaků
bic SWIFT kód banky zákazníka string, 11 znaků
prefix Předčíslí bankovního účtu zákazníka string, 64 znaků
account_number Číslo bankovního účtu zákazníka string, 128 znaků
bank_code Kód banky zákazníka string, 8 znaků
account_name Jméno majitele bankovního účtu string, 70 znaků

payment_card

Údaje o použité platební kartě

{
    "card_number":"444444******4448",
    "card_expiration":"1909",
    "card_brand":"VISA",
    "card_issuer_country":"CZE",
    "card_issuer_bank":"AIR BANK, A.S."
}
Název parametru Popis parametru Datový typ
card_number Vymaskované číslo platební karty string, 16 znaků
card_expiration Datum expirace string, 4 znaky
card_brand Typ platební karty string, 50 znaků
card_issuer_country Kód země vydavatelské banky string, 3 znaky
card_issuer_bank Vydavatelská banka string, 80 znaků
card_token Token platební karty pro účely identifikační platby string
3ds_result Výsledek 3D Secure autorizace pro účely identifikační platby string

contact

Zákaznické informace

{
   "first_name":"Zbynek",
   "last_name":"Zak",
   "email":"test@test.cz",
   "phone_number":"+420777456123",
   "city":"C.Budejovice",
   "street":"Plana 67",
   "postal_code":"373 01",
   "country_code":"CZE"
}
Název parametru Popis parametru Datový typ
first_name Jméno zákazníka string, 256 znaků
last_name Příjmení zákazníka string, 256 znaků
email Validní e-mail zákazníka string, 128 znaků
phone_number Telefonní číslo zákazníka s předvolbou string, 128 znaků
city Město zákazníka string, 128 znaků
street Ulice zákazníka string, 128 znaků
postal_code Poštovní směrovací číslo zákazníka string, 16 znaků
country_code Kód státu zákazníka string ISO 3166-1 alpha-3

target

Identifikace příjemce platby

{
  "type":"ACCOUNT",
  "goid":"8123456789"
}
Název parametru Popis parametru Datový typ
type Popis příjemce platby string, nastaveno na ACCOUNT
goid Jedinečný identifikátor eshopu v systému platební brány long

items

Jednotlivé položky objednávky

{
    "type":"ITEM", 
    "name":"obuv",
    "product_url":"https://www.eshop.cz/boty/lodicky", 
    "ean":1234567890123,
    "amount":119990,
    "count":1,
    "vat_rate":21
}
Název parametru Popis parametru Datový typ
type Typ položky enum, nabývá hodnot viz type
product_url URL adresa produktu string, (512 znaků)
ean EAN kód produktu varchar, (13 znaků)
count Počet položek produktu long > 0
name Název produktu string, alfanumerické znaky (256 znaků)
amount Součet cen položek s DPH v haléřích long, kladná nebo záporná celá čísla
vat_rate Sazba daně, pro potřeby EET nabývá hodnot viz vat_rate

eet

Parametry pro elektronickou evidenci tržeb (EET)

{
    "celk_trzba":139950,
    "zakl_dan1":99165,
    "dan1":20825,
    "zakl_dan2":17357,
    "dan2":2604,
    "mena":"CZK"
}
Název parametru Popis parametru Datový typ
dic_poverujiciho DIČ pověřujícího poplatníka varchar
celk_trzba Celková částka tržby long v centech
zakl_nepodl_dph Celková částka plnění osvobozených od DPH long v centech
zakl_dan1 Celkový základ daně se základní sazbou DPH long v centech
dan1 Celková DPH se základní sazbou long v centech
zakl_dan2 Celkový základ daně s první sníženou sazbou DPH long v centech
dan2 Celková DPH s první sníženou sazbou long v centech
zakl_dan3 Celkový základ daně s druhou sníženou sazbou DPH long v centech
dan3 Celková DPH s druhou sníženou sazbou long v centech
cest_sluz Celková částka v režimu DPH pro cestovní službu long v centech
pouzit_zboz1 Celková částka v režimu DPH pro prodej použitého zboží se základní sazbou long v centech
pouzit_zboz2 Celková částka v režimu DPH pro prodej použitého zboží s první sníženou sazbou long v centech
pouzit_zboz3 Celková částka v režimu DPH pro prodej použitého zboží s druhou sníženou sazbou long v centech
urceno_cerp_zuct Celková částka plateb určená k následnému čerpání nebo zúčtování long v centech
cerp_zuct Celková částka plateb, které jsou následným čerpáním nebo zúčtováním platby long v centech
mena Měna, ve které jsou údaje předávány string

eet_code

EET kódy účtenky

{
    "fik":"28da0811-e050-46c7-a62c-aa456d1f07ef-ff",
    "bkp":"5d874afc-251f8661-ff0e0b13-c7cd8793-6bf0386a",
    "pkp":"Ca8sTbURReQjjgcy/znXBKjPOnZof3AxWK5WySpyMrUXF0o7cz1BP6a....."
}
Název parametru Popis parametru Datový typ
fik Fiskální identifikační kód (FIK) varchar, 39 znaků
bkp Bezpečnostní kód poplatníka (BKP) varchar, 44 znaků
pkp Podpisový kód poplatníka (PKP) varchar, 344 znaků

callback

Definice návratové a notifikační URL

{
   "return_url":"http://www.eshop.cz/return",
   "notification_url":"http://www.eshop.cz/notify"
}
Název parametru Popis parametru Datový typ
return_url URL adresa pro návrat na eshop (včetně protokolu) string, (512 znaků)
notification_url URL adresa pro odeslání asynchronní notifikace v případě změny stavu platby (včetně protokolu) string, (512 znaků)

additional_params

Dodatečné parametry platby

[
   {"name":"invoicenumber","value":"2015001003"},
   {"name":"...","value":"..."}
]
Název parametru Popis parametru Datový typ
name Název parametru string
value Hodnota volitelného parametru string

recurrence

Nastavení opakované platby

Opakování každý sedmý den

{
  "recurrence_cycle":"DAY",
  "recurrence_period":"7",
  "recurrence_date_to":"2015-12-31"
}

Opakování každý třetí den

{
  "recurrence_cycle":"DAY",
  "recurrence_period":"3",
  "recurrence_date_to":"2015-12-31"
}

Opakování každý druhý měsíc

{
  "recurrence_cycle":"MONTH",
  "recurrence_period":"2",
  "recurrence_date_to":"2015-12-31"
}
Název parametru Popis parametru Datový typ
recurrence_cycle Časový úsek opakování string, nabývá hodnot viz recurrence_cycle
recurrence_period Perioda opakování opakované platby long
recurrence_date_to Doba platnosti opakované platby string yyyy-mm-dd
recurrence_state Popis stavu opakované platby string, nabývá hodnot REQUESTED, STARTED, STOPPED

groups

Název každé skupiny odpovídá kódům skupin

Název parametru Popis parametru
label Objekt obsahující lokalizované názvy skupiny platebních metod
cs Český název skupiny platebních metod

group-codes

Názvy skupin platebních metod

{
    "card-payment":{
      "label":{
        "cs":"Platební karta"}
      },
    "bank-transfer":{
      "label":{
        "cs":"Rychlý bankovní převod"}
      },
    "wallet":{
      "label":{
        "cs":"Elektronické peněženky"}
      },
    "others":{
      "label":{
        "cs":"Ostatní"}
      }
    }
Název skupiny Popis skupiny
card-payment Platby kartou
bank-transfer Bankovní převody
wallet Platby prostřednictvím elektronických peněženek
others Ostatní platební metody

enabledPaymentInstruments

Název každého objektu odpovídá kódům platebních metod

{
    "paymentInstrument":"PAYMENT_CARD",
      "label":{
        "cs":"Platební karta"},
      "image":{
        "normal":"https://gate.gopay.cz/images/checkout/payment_card.png",
        "large":"https://gate.gopay.cz/images/checkout/payment_card@2x.png"},
      "group":"card-payment",
      "enabledSwifts":null
}
Název parametru Popis parametru
label Objekt obsahující lokalizované názvy platební metody
image Logo platební metody dostupné ve dvou formátech - normal, large
group Skupina, do které platební metoda náleží viz groups
enabledSwifts Jednotlivé podobjekty reprezentují banky povolené pro platební metodu. Předává se pouze v případě metody BANK_ACCOUNT

enabledSwifts

Název každého objektu odpovídá SWIFT kódům bank

{
    "swift":"GIBACZPX",
        "label":{
          "cs":"Platba 24"},
        "image":{
          "normal":"https://gate.gopay.cz/images/checkout/GIBACZPX.png",
          "large":"https://gate.gopay.cz/images/checkout/GIBACZPX@2x.png"},
        "isOnline":true
}
Název parametru Popis parametru
label Objekt obsahující lokalizace názvu banky
image Logo banky dostupné ve dvou formátech - normal, large
isOnline Stav symbolizující zda banka podporuje online převod

defaults

Výchozí hodnoty superCASH kupónů

{
    "sub_type":"POSTPAID",
    "amounts":[300,400,500,600,700,800,900,1000],
    "order_description":"supercash batch test"
}
Název parametru Popis parametru
sub_type Typ superCASH kupónu
custom_id Vlastní ID pro kupón
amounts Pole částek v haléřích
order_number Identifikace objednávky v rámci prodejního místa
order_description Popis objednávky
buyer_email Validní e-mail zákazníka
buyer_phone Telefonní číslo zákazníka s předvolbou
date_valid_to Datum platnosti kupónu
notification_url URL adresa pro odeslání asynchronní notifikace v případě změny stavu kupónu (včetně protokolu)

coupons

Specifické hodnoty superCASH kupónů

[
    {
        "buyer_email":"zakaznik1@example.com",
        "custom_id":"ID-123457",
        "buyer_phone":"+420777666111",
        "amounts":[100]
        },
    {
        "buyer_email":"zakaznik2@example.com",
        "custom_id":"ID-123458",
        "buyer_phone":"+420777666222",
        "amounts":[200]
        },
    {
        "buyer_email":"zakaznik3@example.com",
        "custom_id":"ID-123459",
        "buyer_phone":"+420777666333"
        }
]
Název parametru Popis parametru
sub_type Typ superCASH kupónu
custom_id Vlastní ID pro kupón
amounts Pole částek v haléřích
order_number Identifikace objednávky v rámci prodejního místa
order_description Popis objednávky
buyer_email Validní e-mail zákazníka
buyer_phone Telefonní číslo zákazníka s předvolbou
date_valid_to Datum platnosti kupónu
notification_url URL adresa pro odeslání asynchronní notifikace v případě změny stavu kupónu (včetně protokolu)

Číselníky

recurrence_cycle

Cyklus opakované platby

Hodnota parametru Popis
DAY Denní opakování
WEEK Týdenní opakování
MONTH Měsíční opakování
ON_DEMAND U opakovaných plateb na vyžádání

currency

Měna platby

Hodnota parametru Popis
CZK České koruny
EUR Eura
PLN Polský złoty
HUF Maďarský forint
GBP Britská libra
USD Americký dolar
RON Rumunský nový lei
HRK Chorvatská kuna
BGN Bulharský lev

scope

Parametr popisující množinu získaných práv

Hodnota Popis
payment-create Umožňuje pouze zakládání plateb
payment-all Umožňuje provádět veškeré operace nad platbami

result

Výsledek operace

Název parametru Popis parametru
ACCEPTED Požadavek přijat
FINISHED Operace provedena
FAILED Operace skončila chybou

Stavy plateb

Platba může nabývat následujících stavů

Název stavu Popis parametru stavu
CREATED Platba založena
PAYMENT_METHOD_CHOSEN Platební metoda vybrána
PAID Platba zaplacena
AUTHORIZED Platba předautorizována
CANCELED Platba zrušena
TIMEOUTED Vypršelá platnost platby
REFUNDED Platba refundována
PARTIALLY_REFUNDED Platba částečně refundována

Podstav plateb

Platba může nabývat následujících podstavů

Hodnota parametru Popis parametru podstavu
_101 Čekáme na provedení online platby.
_102 Čekáme na provedení offline platby.
_3001 Bankovní platba potvrzena avízem.
_3002 Bankovní platba potvrzena výpisem.
_3003 Bankovní platba nebyla potvrzena.
_5001 Schváleno s nulovou částkou
_5002 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu dosažení limitů na platební kartě.
_5003 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu problémů na straně vydavatele platební karty.
_5004 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu problému na straně vydavatele platební karty.
_5005 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu zablokované platební karty.
_5006 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu nedostatku peněžních prostředků na platební kartě.
_5007 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu expirované platební karty.
_5008 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu zamítnutí CVV/CVC kódu.
_5009, _5015, _5017, _5018, _5019, _6502, _6504 Zamítnutí platby v systému 3D Secure banky zákazníka.
_5010, _5014 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu problémů na platební kartě.
_5011, _5036 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu problémů na účtu platební karty.
_5012 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu technických problémů v autorizačním centru banky zákazníka.
_5013 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu chybného zadání čísla platební karty.
_5016 Zamítnutí platby v autorizačním centru banky zákazníka, platba nebyla povolena na platební kartě zákazníka.
_5020 Neznámá konfigurace
_5021 Zamítnutí platby v autorizačním centru banky zákazníka z důvodu dosažení nastavených limitů na platební kartě.
_5022 Nastal technický problém spojený s autorizačním centrem banky zákazníka.
_5023, _5038 Platba nebyla provedena.
_5024 Platba nebyla provedena. Platební údaje nebyly zadány v časovém limitu na platební bráně.
_5025 Platba nebyla provedena. Konkrétní důvod zamítnutí je sdělen přímo zákazníkovi.
_5026 Platba nebyla provedena. Součet kreditovaných částek překročil uhrazenou částku.
_5027 Platba nebyla provedena. Uživatel není oprávněn k provedení operace.
_5028 Platba nebyla provedena. Částka k úhradě překročila autorizovanou částku.
_5029 Platba zatím nebyla provedena.
_5030 Platba nebyla provedena z důvodu opakovaného zadání platby.
_5031 Při platbě nastal technický problém na straně banky.
_5033 SMS se nepodařilo doručit.
_5035 Platební karta je vydaná v regionu, ve kterém nejsou podporovány platby kartou.
_5037 Držitel platební karty zrušil platbu.
_5039 Platba byla zamítnuta v autorizačním centru banky zákazníka z důvodu zablokované platební karty.
_5040 Duplicitni reversal transakce
_5041 Duplicitní transakce
_5042 Bankovní platba byla zamítnuta.
_5043 Platba zrušena uživatelem.
_5044 SMS byla odeslána. Zatím se ji nepodařilo doručit.
_5045 Platba byla přijata. Platba bude připsána po zpracování v síti Bitcoin.
_5046 Platba nebyla uhrazena v plné výši.
_5047 Platba byla provedena po splatnosti.

lang

Nastavení jazyka platební brány

Kód jazyka Jazyk
CS Čeština
EN Angličtina
SK Slovenština
DE Němčina
RU Ruština
PL Polština
HU Maďarština
FR Francouzština
RO Rumunština
BG Bulharština
HR Chorvatština
IT Italština

payment_instrument

Kódy platebních metod

Kód platební metody Popis platební metody
PAYMENT_CARD Platební karty
BANK_ACCOUNT Bankovní převody
PRSMS Premium SMS
MPAYMENT Mplatba
PAYSAFECARD paysafecard
SUPERCASH superCASH
GOPAY GoPay účet
PAYPAL PayPal účet
BITCOIN Platba bitcoiny
MASTERPASS Masterpass

SWIFT

Kódy jednotlivých bank

Kód banky Název banky
GIBACZPX Česká spořitelna
KOMBCZPP Komerční Banka
RZBCCZPP Raiffeisenbank
BREXCZPP mBank
FIOBCZPP FIO Banka
CEKOCZPP ČSOB
CEKOCZPP-ERA ERA
BACXCZPP Unicredit Bank CZ
SUBASKBX Všeobecná úverová banka
TATRSKBX Tatra Banka
UNCRSKBX Unicredit Bank SK
GIBASKBX Slovenská spořitelna
POBNSKBA Poštová Banka
CEKOSKBX ČSOB SK
OTHERS Speciální swift bez předvýběru konkrétní banky
BREXPLPW mBank
CITIPLPX Citi Handlowy
BPKOPLPW-IKO IKO
BPKOPLPW-INTELIGO Inteligo
IVSEPLPP Plus Bank
BPHKPLPK BANK BPH S.A.
TOBAPLPW Toyota Bank
VOWAPLP1 Volkswagen Bank
GBWCPLPP SGB
POCZPLP4 Pocztowy bank
GOPZPLPW BGZ Bank
IEEAPLPA IDEA
POLUPLPR BPS
GBGCPLPK-GIO Getin Online
GBGCPLPK-BLIK Blik
GBGCPLPK-NOB Noble bank
BREXPLPW-OMB Orange
WBKPPLPP BZ WBK
RCBWPLPW RAIFFEISEN BANK POLSKA S.A.
BPKOPLPW POWSZECHNA KASA OSZCZEDNOSCI BANK POLSKI SA
ALBPPLPW Alior Bank
INGBPLPW ING Bank Śląski
PKOPPLPW PEKAO S.A
GBGCPLPK Getin Online
BIGBPLPW Bank Millennium
EBOSPLPW Bank Ochrony Środowiska
PPABPLPK BNP Paribas Polska
AGRIPLPR Credit Agricole
DEUTPLPX DEUTSCHE BANK POLSKA S.A.
DNBANOKK DnB Nord
NBPLPLPW E-SKOK
SOGEPLPW Eurobank
PBPBPLPW POLSKI BANK PRZEDSIEBIORCZOSCI SPOLKA AKCYJNA

format

Formát souboru generovaného výpisu

Hodnota parametru Popis
CSV_A CSV typ A
CSV_B CSV typ B
CSV_C CSV typ C
CSV_D CSV typ D
XLS_A XLS typ A
XLS_B XLS typ B
XLS_C XLS typ C
ABO_A ABO vnější formát (.gpc)
ABO_B ABO vnitřní formát (.gpc)

type

Typ položky

Hodnota parametru Popis
ITEM Položka
DELIVERY Poštovné
DISCOUNT Sleva

vat_rate

Sazba daně pro potřeby EET

Hodnota parametru Popis
0 Nulová daňová sazba
10 Daňová sazba 10 %
15 Daňová sazba 15 %
21 Daňová sazba 21 %

state

Popis stavu EET účtenky

Hodnota parametru Popis
CREATED Vytvořena
DELIVERY_FAILED Doručení selhalo
DELIVERED Doručena

eet_mode

Varianta EET, viz popis variant

Hodnota parametru Popis
AUTO varianta A
EET varianta B

stav superCASH batche

Stav dokončení skupiny (batche) superCASH kupónů

Hodnota parametru Popis
CREATED Vytvořen
RUNNING Probíhá
QUEUED Čeká ve frontě
SCHEDULED Naplánován
COMPLETED Dokončen
STOPPED Zastaven
FAILED Selhal

sub_type

Typ superCASH kupónu

Hodnota parametru Popis
POSTPAID Kupón určený pro jednorázové uhrazení. Při vytvoření vzniká platba.
PREPAID Kupón určený pro vícenásobné uhrazení. Platba vzniká po první úhradě zákazníkem.

3ds_result

Výsledek 3D Secure autorizace

Hodnota parametru Popis
“N/” Platební karta nepodporuje 3D Secure ověření
“Y/Y” Plné 3D Secure ověření
“Y/A” Částečné 3D Secure ověření
“X/X” 3D Secure ověření nebylo provedeno

Chyby

HTTP result kódy

HTTP kód Význam kódu
200 Volání proběhlo úspěšně
403 Neautorizovaný přístup
409 Validační chyby
500 Volání skončilo chybou
404 Neexistující služba

Návratové chyby

Příklad chybové odpovědi - field specific

{"date_issued":1390336022001,
"errors":[
    {"scope":"F","field":"email","message":"E-mail jiz existuje.","error_code":112,"error_name":"NOT_UNIQUE"},
    {"scope":"F","field":"mobile_phone","message":"Mobilni telefon jiz existuje.","error_code":112,"error_name":"NOT_UNIQUE"}
]}

Příklad chybové odpovědi - global

{"scope":"G","field":null,"error_code":500,"error_name":null,"message":null,"description":null}

Detail chyby je popsán v body odpovědi jako application/json data následující struktury.

Parametr Popis parametru
date issued timestamp okamžiku chyby
errors list chybových zpráv

errors

Parametr Popis parametru
scope F - field specific, G - global
field Uvedeno pouze v případě validační chyby spojené s fieldem
message Lokalizovaný message. Lokalizace založená na Accept-Language v hlavičce. Deafultně je nastaveno na en-US, dále je možné použít českou lokalizaci pomocí hlavičky Accept-Language: cs.
description Technický popis chyby
error_code Číselné označení typu chyby
error_name Kódové označení typu chyby

Číselník chyb

Global

Kód popis
100 Systémová chyba
110 Povinný
111 Chybný formát
112 Již existuje
113 Nelze změnit
114 Nelze smazat
115 Nejednoznačné
116 Neplatný požadavek

Authentication, authorization

Kód popis
200 Neoprávněný přístup
201 Způsob přidělení práv není podporován
202 Chybné přístupové údaje
203 Přístup přes PIN byl deaktivován

Payment

Kód popis
350 Stržení platby selhalo
351 Stržení platby provedeno
352 Zrušení přeautorizace selhalo
353 Zrušení předautorizace provedeno
340 Provedení opakované platby selhalo
341 Provedení opakované platby není podporováno
342 Opakování platby zastaveno
343 Překročen časový limit počtu provedení opakované platby
330 Platbu nelze vrátit
331 Platbu nelze vrátit
332 Chybná částka
333 Nedostatek peněz na účtu
301 Platbu nelze vytvořit
302 Platbu nelze provést
303 Platba v chybném stavu
304 Platba nebyla nalezena