GoPay REST API

GoPay REST API

Dokumentace k REST API platební brány GoPay.
Dokumentace

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).

API
PHP SDK
Python SDK
.NET SDK
Java SDK
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
GitHub: https://github.com/gopaycommunity/gopay-php-api
Požadavky: PHP >= 8.1
Stažení Composeru: https://getcomposer.org
Instalace: composer require gopay/payments-sdk-php
https://github.com/gopaycommunity/gopay-python-api
Požadavky: Python >= 3.8.1
Instalace: pip install gopay
https://github.com/gopaycommunity/gopay-dotnet-api
Požadavky : .NET 4.0+

NuGet:
PM> Install-Package GOPAY.NET

dotnet-cli:
dotnet add package GoPay.NET

Závislosti:
Newtonsoft.Json
Restsharp
Restsharp.Newtonsoft.Json

Namespace:
using GoPay;
using GoPay.Common;
using GoPay.Model;
using GoPay.Payments;
using GoPay.Model.Payment;
using GoPay.Model.Payments;
using GoPay.EETProp;
using GoPay.Account;
https://github.com/gopaycommunity/gopay-java-api
Požadavky : Java 11
Instalace :
git clone https://github.com/gopaycommunity/gopay-java-api.git
cd gopay-java-api
mvn package

Všechny artefakty se nacházejí v centrálním repozitáři mavenu
http://mvnrepository.com/artifact/cz.gopay

Pokud Vám nevyhovuje HTTP Client, tak je možné z api použít další dva frameworky:

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

GoPay REST API používá pro autorizaci přístupu k API principu OAuth2.0, konkrétně metodu klientské autentizace viz RFC 6479

POST /api/oauth2/token
Získání přístupového tokenu
POST /api/oauth2/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, zakódované v base64 a předané v hlavičce Authorization. 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.

ⓘ Pokud ještě nemáte ClientID a ClientSecret, postupujte dle návodu.

Request headers

Accept
string required

Vždy application/json

Example:
application/json
Content-Type
string required

Vždy application/x-www-form-urlencoded

Example:
application/x-www-form-urlencoded
Authorization
string required

Basic HTTP autentizace viz výše

Example:
Basic MTA2MTM5OTE2MzpzdERUbVZYRg==

Request body

application/x-www-form-urlencoded
Object
scope

Rozsah práv tokenu

Example:
payment-create
grant_type
string

Vždy client_credentials

Example:
client_credentials

Responses

200 OK
Body
Object
token_type
string

Vždy bearer

Example:
bearer
access_token
string

Přístupový token

Example:
AAAnu3YnAHRk298EsmyttFQMcbCcvmwTKK5hrJx2aGG8ZnFyBJhAvFWNmbWVSD7p
refresh_token
string

Obnovovací token - nepoužívá se

Example:
xzZnu3YnAHRk298EsmyttFQMcbCcvmwTKK5hrJx2aGG8ZnFyBJhAvFWNmbWVSD7p
expires_in
integer

Životnost tokenu v sekundách

Example:
1800
HTTP
cURL
PHP
Python
.NET
Java
Response
POST /api/oauth2/token HTTP/1.1 

Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Basic MTA2MTM5OTE2MzpzdERUbVZYRg==

scope=payment-create
&grant_type=client_credentials
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 "1061399163:stDTmVXF" \
-d "grant_type=client_credentials&scope=payment-create"
<?php
$gopay = GoPay\payments([
    'goid' => '8123456789',
    'clientId' => '1061399163',
    'clientSecret' => 'stDTmVXF',
    'gatewayUrl' => 'https://gw.sandbox.gopay.com/',
    '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
var connector = new GPConnector(<API_URL>,<USER_ID>, <USER_SECRET>);
connector.GetAppToken();   
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
{
    "token_type":"bearer",
    "access_token":"AAAnu3YnAHRk298EsmyttFQMcbCcvmwTKK5hrJx2aGG8ZnFyBJhAvFWNmbWVSD7p",
    "expires_in":1800
}
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.

Pokud ještě nemáte GoID, postupujte dle návodu.

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í.

POST /api/payments/payment
GET /api/payments/payment/{id}
POST /api/payments/payment/{id}/refund
Založení standardní platby
POST /api/payments/payment

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.

Předáním parametrů preauthorization a recurrence je platba založena jako předautorizovaná, potažmo opakovaná.

ⓘ Při založení platby doporučujeme předávat objekt contact, který je součást objektu payer, a v něm veškeré údaje o klientovi. Předávání může vést k vyšší úspěšnosti plateb.

Request headers

Authorization
string required

Předává se string Bearer, za kterým následuje vytvořený přístupový token

Example:
Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969
Content-Type
string required

Vždy application/json

Example:
application/json
Accept
string required

Vždy application/json

Example:
application/json

Request body

Object
payer

Předává nastavení platebních metod pro danou platbu a údaje o plátci

target
Target required

Popisuje příjemce platby

items
Array of Item

Detailně rozepsané jednotlivé položky objednávky

amount
integer required

Celková částka platby v háléřích/centech

Example:
139950
currency
Currency required

Měna platby

Example:
CZK
order_number
string required

Identifikace objednávky v rámci e-shopu, alfanumerické znaky

Max length: 128
Example:
OBJ20200825
order_description
string

Popis objednávky, alfanumerické znaky

Max length: 256
Example:
Obuv
lang

Jazyk na platební bráně

Example:
CS
callback

Návratová URL a notifikační URL pro oznámení změny stavu platby

additional_params

Doplňkové parametry platby

Max items: 4
preauthorization
boolean

Pokud se jedná o předautorizovanou platbu, je předáván s hodnotou true

Example:
true
recurrence

Pokud se jedná o opakovanou platbu, je předáván objekt, popisující opakování platby

Responses

200 OK
Body
Object
id
integer

ID platby

Example:
3000006529
order_number
string

ID objednávky

Example:
OBJ20200825
state

Stav platby

Example:
CREATED
amount
integer

Celková částka platby v háléřích/centech

Example:
139950
currency

Měna platby

Example:
CZK
payer

Údaje o plátci a platebních metodách

target

Popisuje příjemce platby

additional_params

Doplňkové parametry platby

lang

Jazyk na platební bráně

Example:
CS
recurrence

Údaje o opakování platby, pokud je platba opakovaná

preauthorization

Údaje o předautorizaci, pokud je platba předautorizovaná

gw_url
string

URL pro vyvolání platební brány

Example:
https://gw.sandbox.gopay.com/gw/v3/bCcvmwTKK5hrJx2aGG8ZnFyBJhAvF
HTTP
cURL
PHP
Python
.NET
Java
Response
POST /api/payments/payment HTTP/1.1 

Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969
Content-Type: application/json
Accept: application/json

{
    "payer": {
        "allowed_payment_instruments": [
            "PAYMENT_CARD",
            "BANK_ACCOUNT"
        ],
        "default_payment_instrument": "PAYMENT_CARD",
        "allowed_swifts": [
            "FIOBCZPP",
            "BREXCZPP"
        ],
        "default_swift": "FIOBCZPP",
        "contact": {
            "first_name": "Zbyněk",
            "last_name": "Žák",
            "email": "test@test.cz",
            "phone_number": "+420777456123",
            "city": "České Budějovice",
            "street": "Planá 67",
            "postal_code": "37301",
            "country_code": "CZE"
        }
    },
    "target": {
        "type": "ACCOUNT",
        "goid": 8123456789
    },
    "items": [
        {
            "type": "DISCOUNT",
            "name": "Obuv",
            "amount": 119990,
            "count": 1,
            "vat_rate": "21",
            "ean": 1234567890123,
            "product_url": "https://www.eshop.cz/boty/lodicky"
        }
    ],
    "amount": 119990,
    "currency": "CZK",
    "order_number": "OBJ20200825",
    "order_description": "Obuv",
    "lang": "CS",
    "callback": {
        "return_url": "https://www.example.com/return",
        "notification_url": "https://www.example.com/notify"
    },
    "additional_params": [
        {
            "name": "invoicenumber",
            "value": "2015001003"
        }
    ]
}
curl -X POST "https://gw.sandbox.gopay.com/api/payments/payment"  \
 -H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"  \
 -H "Content-Type: application/json"  \
 -H "Accept: application/json"  \
 -d '{
    "payer": {
        "allowed_payment_instruments": [
            "PAYMENT_CARD",
            "BANK_ACCOUNT"
        ],
        "default_payment_instrument": "PAYMENT_CARD",
        "allowed_swifts": [
            "FIOBCZPP",
            "BREXCZPP"
        ],
        "default_swift": "FIOBCZPP",
        "contact": {
            "first_name": "Zbyněk",
            "last_name": "Žák",
            "email": "test@test.cz",
            "phone_number": "+420777456123",
            "city": "České Budějovice",
            "street": "Planá 67",
            "postal_code": "37301",
            "country_code": "CZE"
        }
    },
    "target": {
        "type": "ACCOUNT",
        "goid": 8123456789
    },
    "items": [
        {
            "type": "DISCOUNT",
            "name": "Obuv",
            "amount": 119990,
            "count": 1,
            "vat_rate": "21",
            "ean": 1234567890123,
            "product_url": "https://www.eshop.cz/boty/lodicky"
        }
    ],
    "amount": 119990,
    "currency": "CZK",
    "order_number": "OBJ20200825",
    "order_description": "Obuv",
    "lang": "CS",
    "callback": {
        "return_url": "https://www.example.com/return",
        "notification_url": "https://www.example.com/notify"
    },
    "additional_params": [
        {
            "name": "invoicenumber",
            "value": "2015001003"
        }
    ]
}'
<?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'
    }
})
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) {
//
}
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();
    }
}
{
    "id": 3000006529,
    "order_number": "OBJ20200825",
    "state": "CREATED",
    "amount": 139950,
    "currency": "CZK",
    "payer": {
        "allowed_payment_instruments": [
            "PAYMENT_CARD",
            "BANK_ACCOUNT"
        ],
        "default_payment_instrument": "PAYMENT_CARD",
        "allowed_swifts": [
            "FIOBCZPP",
            "BREXCZPP"
        ],
        "default_swift": "FIOBCZPP",
        "contact": {
            "first_name": "Zbyněk",
            "last_name": "Žák",
            "email": "test@test.cz",
            "phone_number": "+420777456123",
            "city": "České Budějovice",
            "street": "Planá 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"
}
Dotaz na stav platby
GET /api/payments/payment/{id}

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.

V případě předautorizované a opakované platby obsahuje také odpověď informace o opakování platby či předautorizaci. Objekt payer může obsahovat údaje o platební kartě či bankovním účtu, pokud klient uhradil platbu jedním z těchto způsobů. Také může obsahovat náležitosti identifikační platby.

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

Path variables

id
string required

ID dotazované platby

Request headers

Accept
string required

Vždy application/json

Example:
application/json
Authorization
string required

Předává se string Bearer, za kterým následuje vytvořený přístupový token

Example:
Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

Responses

200 OK
Body
Object
id
integer

ID platby

Example:
3000006529
order_number
string

ID objednávky

Example:
OBJ20200825
state

Stav platby

Example:
PAID
sub_state

Podstav platby

Example:
_3001
amount
integer

Celková částka platby v háléřích/centech

Example:
139950
currency

Měna platby

Example:
CZK
payment_instrument

Použitá platební metoda

Example:
BANK_ACCOUNT
payer

Údaje o plátci a platebních metodách

target

Popisuje příjemce platby

additional_params

Doplňkové parametry platby

lang

Jazyk na platební bráně

Example:
CS
recurrence

Údaje o opakování platby, pokud je platba opakovaná

preauthorization

Údaje o předautorizaci, pokud je platba předautorizovaná

gw_url
string

URL platební brány

Example:
https://gw.sandbox.gopay.com/gw/v3/bCcvmwTKK5hrJx2aGG8ZnFyBJhAvF
HTTP
cURL
PHP
Python
.NET
Java
Response
GET /api/payments/payment/3000006529 HTTP/1.1 

Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969
curl -X GET "/api/payments/payment/3000006529"  \
 -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)
try {
  var payment = connector.PaymentStatus(<PAYMENT_ID>);
} catch (GPClientException e) {
//
}
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();
    }            
}
{
    "id": 3000006529,
    "order_number": "OBJ20200825",
    "state": "PAID",
    "amount": 139950,
    "currency": "CZK",
    "payment_instrument": "PAYMENT_CARD",
   "payer": {
        "allowed_payment_instruments": [
            "PAYMENT_CARD",
            "BANK_ACCOUNT"
        ],
        "default_payment_instrument": "PAYMENT_CARD",
        "allowed_swifts": [
            "FIOBCZPP",
            "BREXCZPP"
        ],
        "default_swift": "FIOBCZPP",
        "contact": {
            "first_name": "Zbyněk",
            "last_name": "Žák",
            "email": "test@test.cz",
            "phone_number": "+420777456123",
            "city": "České Budějovice",
            "street": "Planá 67",
            "postal_code": "37301",
            "country_code": "CZE"
        },
        "payment_card": {
            "card_number": "444444******4448",
            "card_expiration": "1909",
            "card_brand": "VISA",
            "card_issuer_country": "CZE",
            "card_issuer_bank": "AIR BANK, A.S.",
            "3ds_result": "Y/Y"
        }
    },
    "target": {
        "type": "ACCOUNT",
        "goid": 8123456789
    },
    "additional_params": [
        {
            "name": "invoicenumber",
            "value": "2015001003"
        }
    ],
    "lang": "CS",
    "gw_url": " https://gw.sandbox.gopay.com/gw/v3/bCcvmwTKK5hrJx2aGG8ZnFyBJhAvF"
}
Refundace platby
POST /api/payments/payment/{id}/refund

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.

Path variables

id
string required

ID platby k refundaci

Request headers

Accept
string required

Vždy application/json

Example:
application/json
Content-Type
string required

Vždy application/x-www-form-urlencoded

Example:
application/x-www-form-urlencoded
Authorization
string required

Předává se string Bearer, za kterým následuje vytvořený přístupový token

Example:
Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

Request body

application/x-www-form-urlencoded
Object
amount
integer

Částka k navrácení

Example:
50000

Responses

200 OK
Body
Object
id
integer

ID platby

Example:
3000006620
result

Výsledek operace

Example:
FINISHED
HTTP
cURL
PHP
Python
.NET
Java
Response
POST /api/payments/payment/3000006620/refund HTTP/1.1 

Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

amount=50000
curl -X POST "/api/payments/payment/3000006620/refund"  \
 -H "Accept: application/json"  \
 -H "Content-Type: application/x-www-form-urlencoded"  \
 -H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"  \
 -d 'amount=50000'
<?php
$response = $gopay->refundPayment(3000006620, 50000);
response = api.refund_payment(3000006620, 50000)
try {
    var result = connector.RefundPayment(<PAYMENT_ID>, <AMOUNT>);
} catch (GPClientException e) {
//
}
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();
    }              
}
{
    "id": 3000006620,
    "result": "FINISHED"
}
Opakované platby
POST /api/payments/payment/{id}/create-recurrence
POST /api/payments/payment/{id}/void-recurrence
Založení opakované platby

Opakovaná platba je funkcionalita, která umožňuje přijímat platby kartou od zákazníka na pravidelné bázi. 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

ⓘ Podrobný popis kroků nutných k provedení opakované platby naleznete v centru nápovědy.

Vytvoření opakované platby se řídí API voláním pro založení standardní platby, kde je potřeba povinně přidat objekt recurrence.

HTTP
cURL
PHP
Python
.NET
Java
Response
POST /api/payments/payment HTTP/1.1 

Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969
Content-Type: application/json
Accept: application/json

{
    "payer": {
        "allowed_payment_instruments": [
            "PAYMENT_CARD",
            "APPLE_PAY"
        ],
        "default_payment_instrument": "PAYMENT_CARD",
        "contact": {
            "first_name": "Zbyněk",
            "last_name": "Žák",
            "email": "test@test.cz",
            "phone_number": "+420777456123",
            "city": "České Budějovice",
            "street": "Planá 67",
            "postal_code": "37301",
            "country_code": "CZE"
        }
    },
    "target": {
        "type": "ACCOUNT",
        "goid": 8123456789
    },
    "items": [
        {
            "type": "DISCOUNT",
            "name": "Obuv",
            "amount": 119990,
            "count": 2,
            "vat_rate": "21",
            "ean": 1234567890123,
            "product_url": "https://www.eshop.cz/boty/lodicky"
        }
    ],
    "recurrence": {
        "recurrence_cycle": "MONTH",
        "recurrence_period": 1,
        "recurrence_date_to": "2025-12-31",
    },
    "amount": 139950,
    "currency": "CZK",
    "order_number": "OBJ20200825",
    "order_description": "Obuv",
    "lang": "CS",
    "callback": {
        "return_url": "https://www.example.com/return",
        "notification_url": "https://www.example.com/notify"
    },
    "additional_params": [
        {
            "name": "invoicenumber",
            "value": "2015001003"
        }
    ]
}
curl -X POST "https://gw.sandbox.gopay.com/api/payments/payment"  \
 -H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"  \
 -H "Content-Type: application/json"  \
 -H "Accept: application/json"  \
 -d '{
    "payer": {
        "allowed_payment_instruments": [
            "PAYMENT_CARD",
            "APPLE_PAY"
        ],
        "default_payment_instrument": "PAYMENT_CARD",
        "contact": {
            "first_name": "Zbyněk",
            "last_name": "Žák",
            "email": "test@test.cz",
            "phone_number": "+420777456123",
            "city": "České Budějovice",
            "street": "Planá 67",
            "postal_code": "37301",
            "country_code": "CZE"
        }
    },
    "target": {
        "type": "ACCOUNT",
        "goid": 8123456789
    },
    "items": [
        {
            "type": "DISCOUNT",
            "name": "Obuv",
            "amount": 119990,
            "count": 2,
            "vat_rate": "21",
            "ean": 1234567890123,
            "product_url": "https://www.eshop.cz/boty/lodicky"
        }
    ],
    "recurrence": {
        "recurrence_cycle": "MONTH",
        "recurrence_period": 1,
        "recurrence_date_to": "2025-12-31"
    },
    "amount": 139950,
    "currency": "CZK",
    "order_number": "OBJ20200825",
    "order_description": "Obuv",
    "lang": "CS",
    "callback": {
        "return_url": "https://www.example.com/return",
        "notification_url": "https://www.example.com/notify"
    },
    "additional_params": [
        {
            "name": "invoicenumber",
            "value": "2015001003"
        }
    ]
}'
<?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' => '2025-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'
    }
})
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) {
//
}
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();
    }
}
{
  "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":"2025-12-31",
                  "recurrence_state":"REQUESTED"
                },
    "additional_params":[{"name":"invoicenumber",
                          "value":"2015001003"
                        }],
    "lang":"cs",
    "gw_url": "https://gw.sandbox.gopay.com/gw/v3/bCcvmwTKK5hrJx2aGG8ZnFyBJhAvF "
}
Opakování na vyžádání
POST /api/payments/payment/{id}/create-recurrence

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.

Path variables

id
string required

ID zakládající platby

Request headers

Accept
string required

Vždy application/json

Example:
application/json
Content-Type
string required

Vždy application/json

Example:
application/json
Authorization
string required

Předává se string Bearer, za kterým následuje vytvořený přístupový token

Example:
Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

Request body

Object
amount
integer required

Částka platby v haléřích/centech

Example:
29900
currency
Currency required

Měna platby

Example:
CZK
order_number
string required

Identifikace objednávky v rámci e-shopu, alfanumerické znaky

Max length: 128
Example:
OBJ20200825
order_description
string

Popis objednávky

Max length: 256
Example:
Predplatne
items
Array of Item required

Detailně rozepsané jednotlivé položky objednávky

additional_params

Doplňkové parametry platby

Responses

200 OK
Body
Object
id
integer

ID platby

Example:
3000006621
parent_id
integer

ID zakládající platby

Example:
3000006542
order_number
string

ID objednávky

Example:
OBJ20200825
state

Stav platby

Example:
CREATED
amount
integer

Částka platby v haléřích/centech

Example:
29900
currency

Měna platby

Example:
CZK
payment_instrument

Platební metoda

Example:
PAYMENT_CARD
payer

Údaje o plátci a platebních metodách

target

Popisuje příjemce platby

additional_params

Doplňkové parametry platby

lang

Jazyk na platební bráně

Example:
CS
HTTP
cURL
PHP
Python
.NET
Java
Response
POST /api/payments/payment/3000006542/create-recurrence HTTP/1.1 

Accept: application/json
Content-Type: application/json
Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

{
    "amount": 119900,
    "currency": "CZK",
    "order_number": "OBJ20200825",
    "order_description": "Pojistne",
    "items": [
        {
            "type": "ITEM",
            "name": "Pojisteni",
            "amount": 119900,
            "count": 1,
            "vat_rate": "21",
            "ean": 1234567890123,
            "product_url": "https://www.eshop.cz/pojisteni"
        }
    ],
    "additional_params": [
        {
            "name": "invoicenumber",
            "value": "2015001003"
        }
    ]
}
curl -X POST "/api/payments/payment/3000006542/create-recurrence"  \
 -H "Accept: application/json"  \
 -H "Content-Type: application/json"  \
 -H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"  \
 -d '{
    "amount": 119900,
    "currency": "CZK",
    "order_number": "OBJ20200825",
    "order_description": "Pojistne",
    "items": [
        {
            "type": "ITEM",
            "name": "Pojisteni",
            "amount": 119900,
            "count": 1,
            "vat_rate": "21",
            "ean": 1234567890123,
            "product_url": "https://www.eshop.cz/pojisteni"
        }
    ],
    "additional_params": [
        {
            "name": "invoicenumber",
            "value": "2015001003"
        }
    ]
}'
<?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'}
        }
    }
)
var nextPayment = new NextPayment()
  {
    Amount = <Amount>,
    Currency = <Currency>,
    OrderNumber = <OrderNumber>,
    OrderDescription = <OrderDescription>
  };
try
  {
    connector.CreateRecurrentPayment(<IdOfPaidOnDemandPayment>, nextPayment)
  }
    catch (GPClientExcepetion exception)
  {
    //
  }
try {
  NextPaymentBuilder builder = PaymentFactory.createNextPaymentBuilder();
  ...
  PaymentResult recurrentPayment = connector.createRecurrentPayment(<ID>, builder.build());
} catch (GPClientException ex) {
  //
}
{
 "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"
}
Zrušení opakované platby
POST /api/payments/payment/{id}/void-recurrence

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.

ⓘ Doporučujeme se pokoušet alespoň o 3 pokusy stržení. Pokud žádný z pokusů o stržení následné opakované platby nebude úspěšný, opakování může být zrušeno.

Path variables

id
string required

ID zakládající opakované platby

Request headers

Accept
string required

Vždy application/json

Example:
application/json
Content-Type
string required

Vždy application/x-www-form-urlencoded

Example:
application/x-www-form-urlencoded
Authorization
string required

Předává se string Bearer, za kterým následuje vytvořený přístupový token

Example:
Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

Responses

200 OK
Body
Object
id
integer

ID platby

Example:
3000006542
result

Výsledek operace

Example:
FINISHED
HTTP
cURL
PHP
Python
.NET
Java
Response
POST /api/payments/payment/3000006542/void-recurrence HTTP/1.1 

Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969
curl -X POST "/api/payments/payment/3000006542/void-recurrence"  \
 -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)
try {
    var voidRecurrency = connector.VoidRecurrency(<ID>);
} catch (GPClientException ex) {
//
}
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();
    }           
}
{
    "id": 3000006542,
    "result": "ACCEPTED"
}
Přeadautorizované platby
POST /api/payments/payment/{id}/capture
POST /api/payments/payment/{id}/capture
POST /api/payments/payment/{id}/void-authorization
Založení předautorizované platby

Předautorizace umožní při platbě kartou zablokovat po dobu 4 dnů prostředky na účtu zákazníka. 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.

Vytvoření předautorizované platby se řídí API voláním pro založení standardní platby, kde je potřeba povinně přidat parametr preauthorization s hodnotou true.

HTTP
cURL
PHP
Python
.NET
Java
Response
POST /api/payments/payment HTTP/1.1 

Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969
Content-Type: application/json
Accept: application/json

{
    "payer": {
        "allowed_payment_instruments": [
            "PAYMENT_CARD"
        ],
        "default_payment_instrument": "PAYMENT_CARD",
        "contact": {
            "first_name": "Zbyněk",
            "last_name": "Žák",
            "email": "test@test.cz",
            "phone_number": "+420777456123",
            "city": "České Budějovice",
            "street": "Planá 67",
            "postal_code": "37301",
            "country_code": "CZE"
        }
    },
    "target": {
        "type": "ACCOUNT",
        "goid": 8123456789
    },
    "items": [
        {
            "type": "DISCOUNT",
            "name": "Obuv",
            "amount": 119990,
            "count": 1,
            "vat_rate": "21",
            "ean": 1234567890123,
            "product_url": "https://www.eshop.cz/boty/lodicky"
        }
    ],
    "preauthorization": true,
    "amount": 119990,
    "currency": "CZK",
    "order_number": "OBJ20200825",
    "order_description": "Obuv",
    "lang": "CS",
    "callback": {
        "return_url": "https://www.example.com/return",
        "notification_url": "https://www.example.com/notify"
    },
    "additional_params": [
        {
            "name": "invoicenumber",
            "value": "2015001003"
        }
    ]
}
curl -X POST "https://gw.sandbox.gopay.com/api/payments/payment"  \
 -H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"  \
 -H "Content-Type: application/json"  \
 -H "Accept: application/json"  \
 -d '{
    "payer": {
        "allowed_payment_instruments": [
            "PAYMENT_CARD",
            "BANK_ACCOUNT"
        ],
        "default_payment_instrument": "PAYMENT_CARD",
        "allowed_swifts": [
            "FIOBCZPP",
            "BREXCZPP"
        ],
        "default_swift": "FIOBCZPP",
        "contact": {
            "first_name": "Zbyněk",
            "last_name": "Žák",
            "email": "test@test.cz",
            "phone_number": "+420777456123",
            "city": "České Budějovice",
            "street": "Planá 67",
            "postal_code": "37301",
            "country_code": "CZE"
        }
    },
    "target": {
        "type": "ACCOUNT",
        "goid": 8123456789
    },
    "items": [
        {
            "type": "DISCOUNT",
            "name": "Obuv",
            "amount": 119990,
            "count": 1,
            "vat_rate": "21",
            "ean": 1234567890123,
            "product_url": "https://www.eshop.cz/boty/lodicky"
        }
    ],
    "preauthorization": "true",
    "amount": 119990,
    "currency": "CZK",
    "order_number": "OBJ20200825",
    "order_description": "Obuv",
    "lang": "CS",
    "callback": {
        "return_url": "https://www.example.com/return",
        "notification_url": "https://www.example.com/notify"
    },
    "additional_params": [
        {
            "name": "invoicenumber",
            "value": "2015001003"
        }
    ]
}'
<?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'
    }
})
var payment = new BasePayment() 
    {
        PreAuthorize = true,
        ...
    };

try {
    connector.CreatePayment(payment);
} catch (GPClientException ex) {
//
}
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();
    }
}
{
  "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 "
}
Stržení předautorizace
POST /api/payments/payment/{id}/capture

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.

Path variables

id
string required

ID platby předautorizace

Request headers

Accept
string required

Vždy application/json

Example:
application/json
Authorization
string required

Předává se string Bearer, za kterým následuje vytvořený přístupový token

Example:
Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

Responses

200 OK
Body
Object
id
integer

ID platby

Example:
3000006542
result

Výsledek operace

Example:
FINISHED
HTTP
cURL
PHP
Python
.NET
Java
Response
POST /api/payments/payment/3000006542/capture HTTP/1.1 

Accept: application/json
Content-Type: application/x-www-from-urlencoded
Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969
curl -X POST "/api/payments/payment/3000006542/capture"  \
 -H "Accept: application/json"  \
 -H "Content-Type: application/x-www-from-urlencoded"  \
 -H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"
<?php
$response = $gopay->captureAuthorization(3000006542);
response = api.capture_authorization(3000006542)
try {
    var capture = connector.CapturePayment(<ID>);
} catch (GPClientException ex) {
//
}    
try {
    PaymentResult capture = connector.capturePayment(<ID>);
} catch (GPClientException ex) {
    //
}
{
    "id": 3000006542,
    "result": "FINISHED"
}
Částečné stržení předautorizace
POST /api/payments/payment/{id}/capture

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.

Požadovaná částka stržení nesmí být vyšší než původní částka předautorizované platby.

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

ⓘ Pro aktivaci funkce částečného stržení předautorizovaných plateb je nutné kontaktovat technickou podporu GoPay.

Path variables

id
string required

ID platby předautorizace

Request headers

Accept
string required

Vždy application/json

Example:
application/json
Content-Type
string required

Vždy application/json

Example:
application/json
Authorization
string required

Předává se string Bearer, za kterým následuje vytvořený přístupový token

Example:
Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

Request body

Object
amount
integer

Celková částka v haléřích/centech

Example:
30000
items
Array of Item

Detailně rozepsané jednotlivé položky platby

Responses

200 OK
Body
Object
id
integer

ID platby

Example:
3000006542
result

Výsledek operace

Example:
FINISHED
HTTP
cURL
PHP
Python
Response
POST /api/payments/payment/3000006542/capture HTTP/1.1 

Accept: application/json
Content-Type: application/json
Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

{
    "amount": 119990,
    "items": [
        {
            "type": "ITEM",
            "name": "Obuv",
            "amount": 119990,
            "count": 1,
            "vat_rate": "15",
            "ean": 1234567890123,
            "product_url": "https://www.eshop.cz/boty/lodicky"
        }
    ]
}
curl -X POST "/api/payments/payment/3000006542/capture"  \
 -H "Accept: application/json"  \
 -H "Content-Type: application/json"  \
 -H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"  \
 -d '{
    "amount": 119990,
    "items": [
        {
            "type": "ITEM",
            "name": "Obuv",
            "amount": 119990,
            "count": 1,
            "vat_rate": "15",
            "ean": 1234567890123,
            "product_url": "https://www.eshop.cz/boty/lodicky"
        }
    ]
}'
...
response = api.capture_authorization_partial(3000006542,
    {
        "amount": 1500,
        'items': [
            {'name': 'item01', 'amount': 500},
            {'name': 'item02', 'amount': 1000},
        ],
    })
{
    "id": 3000006542,
    "result": "FINISHED"
}
Zrušení předautorizace
POST /api/payments/payment/{id}/void-authorization

Provede uvolnění prostředků předautorizace dříve vytvořené předautorizované platby.

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

Path variables

id
string required

ID platby předautorizace

Request headers

Accept
string required

Vždy application/json

Example:
application/json
Content-Type
string required

Vždy application/x-www-form-urlencoded

Example:
application/x-www-form-urlencoded
Authorization
string required

Předává se string Bearer, za kterým následuje vytvořený přístupový token

Example:
Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

Responses

200 OK
Body
Object
id
integer

ID platby

Example:
3000006542
result

Výsledek operace

Example:
FINISHED
HTTP
cURL
PHP
Python
.NET
Java
Response
POST /api/payments/payment/3000006542/void-authorization HTTP/1.1 

Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969
curl -X POST "/api/payments/payment/3000006542/void-authorization"  \
 -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)
try {
    var result = connector.VoidAuthorization(<ID>);
} catch (GPClientException ex) {
//
}
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();
    }           
}
{
    "id": 3000006542,
    "result": "FINISHED"
}
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.

Doporučené způsoby rozdělení platebních metod v košíku vašeho e-shopu naleznete v našem centru nápovědy.

GET /api/eshops/eshop/{goid}/payment-instruments/{currency}
Povolené platební metody
GET /api/eshops/eshop/{goid}/payment-instruments/{currency}

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.

Path variables

goid
string required
currency
string required

Request headers

Accept
string required

Vždy application/json

Example:
application/json
Authorization
string required

Předává se string Bearer, za kterým následuje vytvořený přístupový token

Example:
Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

Responses

200 OK
Body
Object
groups

Popisy skupin platebních metod

enabledPaymentInstruments

Seznam povolených platebních metod pro danou měnu na e-shopu, jejich popisky a loga

HTTP
cURL
PHP
Python
Response
GET /api/eshops/eshop/8123456789/payment-instruments/CZK HTTP/1.1 

Accept: application/json
Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969
curl -X GET "/api/eshops/eshop/8123456789/payment-instruments/CZK"  \
 -H "Accept: application/json"  \
 -H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"
// Předpokládáme, že v proměnné $goid máte uložené vaše GoID

use GoPay\Definition\Payment\Currency;

// API call pro získání platebních metod, druhý parametr je zvolená měna
$response = $gopay->getPaymentInstruments($goid, Currency::CZECH_CROWNS);

// Kontrola, zda bylo API volání úspěšné a získání těla API odpovědi
if ($response->hasSucceed()) {
    $responseBody = $response->json;
    // získání array s kódy platebních metod
    $instruments = array_map(
        fn ($el) => $el['paymentInstrument'],
        $responseBody['enabledPaymentInstruments']
    );
}
...
{
"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},
    ...]},
]}
Platební brána

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

Podrobný popis všech kroků nutných k vyvolání platební brány naleznete v našem centru nápovědy.

Inline

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.

ⓘ Pro využití inline platební brány na prodejních místech je nutné mít SSL certifikát (podpora HTTPS). Na prodejních místech, které SSL certifikát nemají, dojde standardně k vyvolání redirect varianty popisované níže.

HTML

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>
Redirect

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.

HTML

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>
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.

POST /api/accounts/account-statement
Výpis pohybů
POST /api/accounts/account-statement

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 headers

Accept
string required

Vždy application/json

Example:
application/json
Content-Type
string required

Vždy application/json

Example:
application/json
Authorization
string required

Předává se string Bearer, za kterým následuje vytvořený přístupový token

Example:
Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

Request body

Object
date_from
string date

Počáteční datum výpisu

Example:
2016-07-08
date_to
string date

Koncové datum výpisu

Example:
2016-08-08
goid
integer

Jedinečný identifikátor e-shopu v systému platební brány

Example:
8123456789
currency

Měna účtu, ze kterého má být výpis vygenerován

Example:
CZK
format

Určuje formát souboru generovaného výpisu

Example:
CSV_A

Responses

200 OK

Jako tělo odpovědi se vrací obsah výpisu jako application/octet-stream

application/octet-stream
HTTP
cURL
POST /api/accounts/account-statement HTTP/1.1 

Accept: application/json
Content-Type: application/json
Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969

{
    "date_from": "2020-07-08",
    "date_to": "2020-08-08",
    "goid": 8123456789,
    "currency": "CZK",
    "format": "CSV_A"
}
curl -X POST "/api/accounts/account-statement"  \
 -H "Accept: application/json"  \
 -H "Content-Type: application/json"  \
 -H "Authorization: Bearer AAArt6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcbNyUTvQtCv45R969"  \
 -d '{
    "date_from": "2020-07-08",
    "date_to": "2020-08-08",
    "goid": 8123456789,
    "currency": "CZK",
    "format": "CSV_A"
}'
Objekty
Target

Popisuje příjemce platby/e-shop

Object
type
string

Vždy ACCOUNT

Example:
ACCOUNT
goid
integer

Jedinečný identifikátor eshopu v systému platební brány

Example:
8123456789
Item

Položka platby

Object
type
Type required

Typ položky

Example:
ITEM
name
string required

Název položky, alfanumerické znaky

Max length: 256
Example:
Obuv
amount
integer required

Celková částka položek v haléřích/centech

Example:
119990
count
integer

Počet položek

Min: 1
Example:
2
vat_rate
integer

sazba DPH

Min: 0
Max: 100
Example:
21
ean
string

EAN kód produktu

Max length: 13
Example:
ABcd123456789
product_url
string

URL adresa produktu

Max length: 512
Example:
https://www.eshop.cz/boty/lodicky
Contact

Informace o zákazníkovi

Object
first_name
string

Jméno zákazníka

Max length: 256
Example:
Zbyněk
last_name
string

Příjmené zákazníka

Max length: 256
Example:
Žák
email
string

Validní e-mail zákazníka

Max length: 128
Example:
test@test.cz
phone_number
string

Telefonní číslo zákazníka s předvolbou

Max length: 128
Example:
+420777456123
city
string

Město zákazníka

Max length: 128
Example:
České Budějovice
street
string

Ulice zákazníka

Max length: 128
Example:
Planá 67
postal_code
string

Poštovní směrovací číslo zákazníka

Max length: 16
Example:
37301
country_code
string

Třípísmenný kód státu zákazníka podle standardu ISO 3166-1 alpha-3

Example:
CZE
Types: Payer
Payer

Objekt popisující údaje o zákazníkovi a nastavení platebních metod pro danou platbu. Objekty payment_card a bank_account jsou vraceny v dotazu na stav platby, pokud klient touto metodou platbu zaplatil. Paramtery verify_pin a allowed_card_token jsou používány pouze u identifikační platby. Parametr email přímo v objektu payer je vracen pouze u platební metody GOPAY a jedná se o e-mail použité peněženky.

Object
allowed_payment_instruments

Seznam povolených platebních metod

Example:
["PAYMENT_CARD","BANK_ACCOUNT"]
default_payment_instrument

Předzvolená platební metoda

Example:
BANK_ACCOUNT
allowed_swifts
Array of Swift

Seznam povolených SWIFTů pro online bankovní převody

Example:
["FIOBCZPP","BREXCZPP"]
default_swift

Předzvolený SWIFT

Example:
FIOBCZPP
contact

Údaje o klientovi

bank_account
Bank account read-only

Údaje o protistrany u převodu

payment_card
Payment card read-only

Údaje o platební kartě klienta

verify_pin
string

PIN pro účely identifikační platby, 4 číslice

Example:
1234
allowed_card_token
string

Token pro účely identifikační platby

Example:
6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcb
email
string

Email použité GoPay peněženky (pouze u platební metody GOPAY)

Example:
test@test.cz
Callback

Popisuje adresy, na které bude předáváno ID vytvořené platby - návratovou adresu pro klienta a notifikační URL.

Object
return_url
string

URL pro návrat klienta z platební brány do e-shopu (včetně protokolu)

Max length: 512
Example:
https://www.example.com/return
notification_url
string

URL pro zasílání asynchronních HTTP notifikací

Max length: 512
Example:
https://www.example.com/notify
Payment card

Objekt popisující údaje o platební kartě. Pouze pro čtení, vracen v dotazu na stav platby, pokud zákazník platil kartou. Parametry card_token a 3ds_result jsou předávány pouze u dotazu na stav identifikační platby

Object
card_number
string

Vymaskované číslo karty

Example:
444444******4448
card_expiration
string

Datum expirace

Example:
1909
card_brand
string

Asociace platební karty

Example:
VISA
card_issuer_country
string

Země vydání platební karty

Example:
CZE
card_issuer_bank
string

Vydavatelská banka

Example:
AIR BANK, A.S.
card_token
string

Token platební karty, pouze u identifikační platby

Example:
6RuTM69kX6UUGZ6p9hyMPrTUVXmMDdkC4BNnQvQcb
3ds_result

Výsledek 3D Secure autorizace, pouze u identifikační platby

Example:
Y/Y
Types: Payer
Bank account

Údaje o bankovním účtu plátce. Pouze pro čtení, vracen v dotazu na stav platby, pokud klient platil účtem. IBAN a SWIFT jsou předávány pouze u zahraničních účtů.

Object
prefix
string

Předčíslí účtu

Example:
670100
account_number
string

Číslo účtu v domestic formátu

Example:
7654322
bank_code
string

Kód banky v domestic formátu

Example:
0200
iban
string

IBAN

Example:
SK4202006700000007654322
bic
string

SWIFT/BIC

Example:
SUBASKPP
account_name
string

Jméno majitele účtu

Example:
JAN NOVAK
Types: Payer
Additional param

Dodatečné parametry platby

Object
name
string

Název parametru

Example:
invoicenumber
value
string

Hodnota parametru

Example:
2015001003
Recurrence

Objekt popisující opakování platby. U opakované platby ON_DEMAND se nepředává parametr recurrence_period. Parametr recurrence_state je vracen v dotazu na stav platby.

Object
recurrence_cycle

Časový úsek opakování

Example:
MONTH
recurrence_period
integer

Perioda opakování platby

Example:
12
recurrence_date_to
string date

Doba platnosti opakované platby (výlučně do) YYYY-MM-DD

Example:
2025-12-31
recurrence_state
Recurrence state read-only

Stav opakování platby

Example:
STARTED
Preauthorization

Objekt popisující předautorizaci platby

Object
requested
boolean

Zda byla předautorizace založena

Example:
true

Stav předautorizace platby

Example:
REQUESTED
Group code

Obsahuje popisky skupiny platebních metod.

Object
label
Object

Popis platební metody

cs
string

Název platební metody v češtině

Example:
Platební karta
Types: Groups
Groups

Popisuje skupiny povolených platebních metod.

Object
card-payment

Popisuje platby kartou

bank-transfer

Popisuje bankovní převody

wallet

Popisuje platby pomocí elektronických peněženek

others

Popisuje ostatní druhy plateb

Enabled swift

Popisuje povolené swifty pro bankovní převody.

Object
image
Object

Ikony banky

large
string

URL velké ikony

Example:
https://gate.gopay.cz/images/checkout/GIBACZPX@2x.png
normal
string

URL menší ikony

Example:
https://gate.gopay.cz/images/checkout/GIBACZPX.png
isOnline
boolean

Zda je pro tento SWIFT možný online bankovní převod

Example:
true
label
Object

Popisek platební metody

cs
string

Český popisek

Example:
Platba 24
swift
string

SWIFT banky

Example:
GIBACZPX
Enabled payment instrument

Popisuje povolené platební metody.

Object
enabledSwifts
Array of Enabled swift nullable

Řada objektů popisující jednotlivé povolené SWIFTY (pouze pro bankovní převody)

group

Do které skupiny se platební metoda řadí

Example:
card-payment
image
Object

Ikony platební metody

large
string

URL velké ikony

Example:
https://gate.gopay.cz/images/checkout/payment_card@2x.png
normal
string

URL malé ikony

Example:
https://gate.gopay.cz/images/checkout/payment_card.png
label
Object

Popisky platební metody

cs
string

Český popisek

Example:
Platební karta
paymentInstrument

Označení platební metody v rámci API

Example:
PAYMENT_CARD
Číselníky

Seznam číselníků (enums) používaných v API

Currency

Seznam dostupných měn

string
Enumeration:
CZK

Česká Koruna

EUR

Euro

PLN

Polský złoty

USD

Americký dolar

GBP

Britská libra

HUF

Maďarský forint

RON

Rumunský nový lei

BGN

Bulharský lev

HRK

Chorvatská kuna

Payment instrument

Seznam dostupných platebních metod

string
Enumeration:
PAYMENT_CARD

Platební karta

BANK_ACCOUNT

Bankovní převod

GPAY

Google Pay

APPLE_PAY

Apple Pay

GOPAY

GoPay účet

PAYPAL

PayPal účet

MPAYMENT

mPlatba (mobilní platba)

PRSMS

Premium SMS

PAYSAFECARD

PaySafeCard kupón

BITCOIN

Bitcoin peněženka

CLICK_TO_PAY

Click to Pay

Swift

Seznam dostupných SWIFT/BIC kódů.

string
Enumeration:
GIBACZPX

Česká Spořitelna

KOMBCZPP

Komerční Banka

CEKOCZPP

ČSOB

RZBCCZPP

Raiffeisenbank

BACXCZPP

UniCredit Bank

AGBACZPP

Moneta Money Bank

BREXCZPP

mBank

FIOBCZPP

FIO Banka

AIRACZPP

AirBank

EQBKCZPP

EQUA Bank

INGBCZPP

ING Bank

OBKLCZ2X

OberBank AG

SUBACZPP

Všeobecná Úvěrová Banka - pobočka Praha

BPPFCZP1

Hello! Bank

CTASCZ22

CREDITAS

EXPNCZPP

Max banka

JTBPCZPP

J&T Banka

OTHERS

Ostatní banky - pouze pro čtení

TATRSKBX

Tatra Banka

SUBASKBX

Všeobecná Úverová Banka

UNCRSKBX

UniCredit Bank SK

GIBASKBX

Slovenská Sporiteľňa

CEKOSXBX

ČSOB Slovensko

POBNSKBA

Poštová Banka

OTPVSKBX

OTP Banka

KOMASK2X

Prima Banka

CITISKBA

Citibank Europe

FIOZSKBA

FIO Banka SK

INGBSKBX

ING Wholesale Banking SK

BREXSKBX

mBank SK

JTBPSKBA

J&T Banka SK

OBKLSKBA

OberBank AG SK

BSLOSK22

Privatbanka

BFKKSKBB

BKS Bank AG SK

GBGCPLPK

Getin Bank

NESBPLPW

Nest Bank

VOWAPLP9

Volkswagen Bank

CITIPLPX

Citi handlowy

WBKPPLPP

Santander

BIGBPLPW

Millenium Bank

EBOSPLPW

Bank Ochrony Srodowiska

PKOPPLPW

Pekao Bank

PPABPLPK

BNP Paribas

BPKOPLPW

OWSZECHNA KASA OSZCZEDNOSCI BANK POLSK

AGRIPLPR

Credit Agricole Banka Polska

GBGCPLPK-NOB

Noble Bank

POLUPLPR

BPS/Bank Nowy BFG

BREXPLPW

mBank PL

INGBPLPW

ING Bank PL

ALBPPLPW

Alior

IEEAPLPA

IdeaBank

POCZPLP4

Pocztowy24

IVSEPLPP

Plus Bank

TOBAPLPW

Toyota Bank

Types: Payer
State

Seznam možných stavů plateb

string
Enumeration:
CREATED

Platba vytvořena

PAID

Platba uhrazena

CANCELED

Platba zamítnuta

PAYMENT_METHOD_CHOSEN

Platební metoda potvrzena

TIMEOUTED

Platbě vypršela životnost

AUTHORIZED

Platba předautorizována

REFUNDED

Platba vrácena

PARTIALLY_REFUNDED

Platba částečně vrácena

Substate

Seznam podstavů plateb

string
Enumeration:
_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

Zamítnutí platby v systému 3D Secure banky zákazníka.

_5015

Zamítnutí platby v systému 3D Secure banky zákazníka.

_5017

Zamítnutí platby v systému 3D Secure banky zákazníka.

_5018

Zamítnutí platby v systému 3D Secure banky zákazníka.

_5019

Zamítnutí platby v systému 3D Secure banky zákazníka.

_6502

Zamítnutí platby v systému 3D Secure banky zákazníka.

_6504

Zamítnutí platby v systému 3D Secure banky zákazníka.

_5010

Zamítnutí platby v autorizačním centru banky zákazníka z důvodu problémů na platební kartě.

_5014

Zamítnutí platby v autorizačním centru banky zákazníka z důvodu problémů na platební kartě.

_5011

Zamítnutí platby v autorizačním centru banky zákazníka z důvodu problémů na účtu platební karty.

_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

Platba nebyla provedena.

_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.

_5048

Zákazník neudělil souhlas s provedením PSD2 platby

Type

Typy položek platby

string
Enumeration:
ITEM

Produkt/služba

DELIVERY

Poštovné

DISCOUNT

Sleva

Types: Item
Scope

Rozsah práv tokenu

string
Enumeration:
payment-create

Umožňuje pouze zakládání plateb

payment-all

Umožňuje provádět veškeré operace

Lang

Jazyk rozhraní platební brány

string
Enumeration:
CS

Čeština

SK

Slovenština

EN

Angličtina

DE

Němčina

RU

Ruština

PL

Polština

HU

Maďarština

RO

Rumunština

BG

Bulharština

HR

Chorvatština

IT

Italština

FR

Francouzština

ES

Španělština

UK

Ukrajinština

LT

Litevština

LV

Lotyšština

EE

Estonština

SI

Slovinština

PT

Portugalština

Result

Popis výsledku operace

string
Enumeration:
ACCEPTED

Požadavek přijat

FINISHED

Operace provedena

FAILED

Operace skončila chybou

Recurrence cycle

Cyklus opakovaných plateb

string
Enumeration:
DAY

Denní perioda opakování

WEEK

Týdenní perioda opakování

MONTH

Měsíční perioda opakování

ON_DEMAND

Opakovaná platba na vyžádání

Types: Recurrence
Recurrence state

Popisuje stav opakování platby

string
Enumeration:
REQUESTED

Opakovaní platby vytvořeno, čeká se na autorizaci iniciační platby

STARTED

Opakování platby aktivní

STOPPED

Opakování platby zrušeno

Types: Recurrence
Preauthorization state

Popisuje stav předautorizace platby.

string
Enumeration:
REQUESTED

Přeadutorizace založená

AUTHORIZED

Předautorizováno

CAPTURED

Předautorizace strhnuta

CANCELED

Předautorizace zrušena

Format

Formát vygenerovaného výpisu

string
Enumeration:
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 ediční formát (.gpc)

ABO_B

ABO vnitřní formát (.gpc)

Methods: Výpis pohybů
3DS result

Výsledek 3D Secure autorizace

string
Enumeration:
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

Types: Payment card
Group

Číselník skupin platebních metod.

string
Enumeration:
card-payment

Platby kartou

bank-transfer

Bankovní převody

wallet

Elektronické peněženky

others

Ostatní metody

Chyby
HTTP Result kódy
integer
Enumeration:
200

Volání proběhlo úspěšně

403

Neautorizovaný přístup

404

Neexistující služba

409

Validační chyby

500

Volání skončilo chybou

Error

Objekt popisující chybu

Object

Rozsah chyby

Example:
F
field
string

Kterého parametru se chyba týká, pokud se nejedná o globální chybu

Example:
email
message
string

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.

Example:
Email not valid.
description
string

Technický popis chyby

error_code

Číselné označení typu chyby

Example:
111
error_name
string

Kódové označení typu chyby

Example:
INVALID
Error scope

Popis rozsahu chyby

string
Enumeration:
F

Chyba se týká konkrétního parametru

G

Globální chyba

Types: Error
Error code

Chybové kódy, popisující důvod výskytu chyby

integer
Enumeration:
100

Systémová chyba

110

Povinný

111

Neplatná hodnota

112

Již existuje

113

Nelze změnit

114

Nelze smazat

115

Nejednoznačné

116

Neplatný požadavek

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

301

Platbu nelze vytvořit

302

Platbu nelze provést

303

Platba v chybném stavu

304

Platba nebyla nalezena

305

E-shop byl deaktivován

320

Příjemce platby nebyl nalezen

321

Příjemce nemůže přijmout platbu

330

Platbu nelze vrátit

331

Platbu nelze vrátit

332

Chybná částka

333

Nedostatek peněz na účtu

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

344

Opakované platby nejsou povoleny

350

Stržení platby selhalo

351

Stržení platby již provedeno

352

Zrušení přeautorizace selhalo

353

Zrušení předautorizace provedeno

360

Součet částek položek objednávky items nesouhlasí s částkou platby

394

Účet nenalezen

Default:
1
Example:
1
Types: Error