Przejdź do głównej zawartości

Integracja płatności BLIK

Przetwarzanie płatności dla każdego typu integracji odbywa się poprzez utworzenie zamówienia w formie standardowego zamówienia rozszerzonego o dodatkowe pola.

Nagłówki żądań

Utworzone żądania musisz wysłać razem z nagłówkiem Authorization, zawierającym wygenerowany token OAuth dla danego zamówienia i nagłówkiem Content-Type ustawionym na application/json:

Nagłówki żądania
-H Authorization: Bearer <token oauth for grant_type=client_credentials/trusted_merchant>
-H Content-Type: application/json

Przekierowanie na stronę płatności BLIK

Żądanie powinieneś uwierzytelnić za pomocą tokena OAuth w trybie grant_type=client_credentials i dołączyć go do nagłówka Authorization żądania.

Rozszerzenie standardowego zamówienia

Jako że przekierowanie kupującego na stronę płatności BLIK jest obsługiwane jak płatność pay-by-link, to standardowe zamówienie powinieneś rozszerzyć o sekcję payMethods z parametrem type ustawionym na PBL, oraz parameterm value ustawionym na blik:

Przykład sekcji payMethods
"payMethods": {
"payMethod": {
"type": "PBL",
"value": "blik"
}
}

Przykład odpowiedzi

Przykład odpowiedzi na pomyślnie przetworzone żądanie
{
"status": {
"statusCode": "SUCCESS"
},
"redirectUri": "<adres z przekierowaniem>",
"orderId": "<id utworzonego zamówienia>"
}

Płatność kodem autoryzacyjnym BLIK

Żądanie powinieneś uwierzytelnić za pomocą tokena OAuth w trybie grant_type=client_credentials i dołączyć go do nagłówka Authorization żądania.

Rozszerzenia standardowego zamówienia

Standardowe zamówienie powinieneś rozszerzyć o sekcję payMethods z parametrem type ustawionym na BLIK_AUTHORIZATION_CODE, oraz parameterm value ustawionym na wartość autoryzacyjnego BLIK, wygenerowanego przez kupujacego:

Przykład sekcji payMethods
"payMethods": {
"payMethod": {
"type": "BLIK_AUTHORIZATION_CODE",
"value": "<BLIK authorization code>"
}
}

Szczegółowe informacje na temat parametrów znajdziesz w sekcji Create an Order w naszej referencji API.

Przykłady odpowiedzi

{
"status": {
"statusCode": "SUCCESS"
},
"orderId": "<id utworzonego zamówienia>"
}
Możliwe błędy
Status HTTPKod statusuOpis
400
ERROR_AUTHORIZATION_CODE / AUTH_CODE_EXPIRED
Kod autoryzacyjny wygasł.
400
ERROR_AUTHORIZATION_CODE / AUTH_CODE_EXCEEDED
Limit dla kodu autoryzacyjnego został przekroczony.
400
ERROR_AUTHORIZATION_CODE / AUTH_CODE_CANCEL
Kod autoryzacyjny został anulowany.
400
ERROR_AUTHORIZATION_CODE / AUTH_CODE_USED
Kod autoryzacyjny był już wykorzystany.
400
ERROR_AUTHORIZATION_CODE / AUTH_CODE_INVALID
Niepoprawny kod autoryzacyjny.
400
ERROR_VALUE_INVALID / INVALID_BLIK_CODE
Niepoprawny składniowo kod autoryzacyjny BLIK. Kod autoryzacyjny BLIK powinien składać się z 6 cyfr.
400
ERROR_VALUE_INVALID / INVALID_AUTHORIZATION_CODE_USAGE
Pole authorizationCode nie może zostać użyte w tym kontekście.
400
ERROR_VALUE_INVALID / INVALID_ALIAS_LABEL_PROPOSAL_USAGE
Pole aliasLabelProposal nie może być użyte podczas płatności tokenem.
400
ERROR_VALUE_INVALID / INVALID_RECOMMENDED_AUTH_LEVEL_USAGE
Pole recommendedAuthLevel nie może zostać użyte w tym kontekście.
400
ERROR_VALUE_INVALID / INVALID_APP_KEY_USAGE
Pole appKey nie może zostać użyte w tym kontekście.
400
ERROR_VALUE_MISSING / MISSING_AUTHORIZATION_CODE
Błąd walidacji, kod autoryzacyjny wymagany.
400
ERROR_VALUE_MISSING / INVALID_CURRENCY_CODE
Niepoprawny kod waluty. Obsługiwana waluta: PLN.
400
ERROR_VALUE_MISSING / MISSING_BUYER_EMAIL
Błąd walidacji, brakuje pola email w sekcji buyer.

Płatność kodem BLIK z rejestracją tokenu UID

Żądanie powinieneś uwierzytelnić za pomocą tokena OAuth w trybie grant_type=trusted_merchant i dołączyć go do nagłówka Authorization żądania.

Możliwa liczba zarejestrowanych aplikacji

Jeden token BLIK może być powiązany z 5 bankowymi aplikacjami mobilnymi.

Rozszerzenia standardowego zamówienia

Standardowe zamówienie powinieneś rozszerzyć o sekcję payMethods z obiektem blikData z parametrem register ustawionym na true i sekcję buyer rozszerzoną o extCustomerId.

Przykład sekcji buyer i payMethods
"buyer": {
"extCustomerId": "<id kupującego w systemie merchant'a>",
"email": "<adres email kupującego>"
},
"payMethods": {
"payMethod": {
"type": "BLIK_AUTHORIZATION_CODE",
"value": "<kod autoryzacyjny BLIK>",
"blikData": {
"aliasLabelProposal":"<propozycja etykiety nadana przez sklep>",
"register": true
}
}
}

Szczegółowe informacje na temat parametrów znajdziesz w sekcji Create an Order w naszej referencji API.

Przykłady odpowiedzi

{
"status": {
"statusCode": "SUCCESS"
},
"orderId": "<id utworzonego zamówienia>"
}
Możliwe błędy
Status HTTPKod statusu / Code LiteralOpis
400
BUSINESS_ERROR / TOKEN_PAYMENT_NOT_ALLOWED
Proces płatności tokenem wymaga dodatkowych uzgodnień i konfiguracji.
400
ERROR_AUTHORIZATION_CODE / AUTH_CODE_EXPIRED
Kod autoryzacyjny wygasł.
400
ERROR_AUTHORIZATION_CODE / AUTH_CODE_LIMIT_EXCEEDED
Limit dla kodu autoryzacyjnego został przekroczony.
400
ERROR_AUTHORIZATION_CODE / AUTH_CODE_CANCEL
Kod autoryzacyjny został anulowany.
400
ERROR_AUTHORIZATION_CODE / AUTH_CODE_USED
Kod autoryzacyjny był już wykorzystany.
400
ERROR_AUTHORIZATION_CODE / AUTH_CODE_INVALID
Niepoprawny kod autoryzacyjny.
400
ERROR_VALUE_MISSING / MISSING_AUTHORIZATION_CODE
Błąd walidacji, kod autoryzacyjny BLIK wymagany do autoryzacji.
400
ERROR_VALUE_INVALID / INVALID_BLIK_CODE
Niepoprawny składniowo kod autoryzacyjny BLIK. Kod autoryzacyjny BLIK powinien składać się z 6 cyfr.
400
ERROR_VALUE_INVALID / INVALID_AUTHORIZATION_CODE_USAGE
Pole authorizationCode nie może zostać użyte w tym kontekście.
400
ERROR_VALUE_INVALID / INVALID_RECOMMENDED_AUTH_LEVEL_USAGE
Pole recommendedAuthLevel nie może zostać użyte w tym kontekście.
400
ERROR_VALUE_INVALID / INVALID_APP_KEY_USAGE
Pole appKey nie może zostać użyte w tym kontekście.
400
ERROR_VALUE_MISSING / INVALID_CURRENCY_CODE
Niepoprawny kod waluty. Obsługiwana waluta: PLN.
400
ERROR_VALUE_MISSING / MISSING_BUYER_EMAIL
Błąd walidacji, brakuje pola email w sekcji buyer.
400
ERROR_VALUE_MISSING / MISSING_BUYER_EXT_CUSTOMER_ID
Błąd walidacji, brakuje pola extCustomerId w sekcji buyer.
400
ERROR_TOKEN / AUTH_TOKEN_EXISTS
Użytkownik o identyfikatorze zawartym w extCustomerId posiada już token płatniczy o innej wartości. Kiedy użytkownik posiada inny aktywny token, należy go pobrać za pośrednictwem paymethods. Jeżeli użytkownik posiada inny token, który nie został zapisany, w odpowiedzi otrzyma komunikat o błędzie. W obiekcie blikData pojawi się tablica tokens z wartością tokena.
400
ERROR_TOKEN / AUTH_TOKEN_NOT_ACTIVE
Użyty token płatniczy nie został zapisany przez użytkownika.

Płatność BLIK z tokenem UID

Żądanie powinieneś uwierzytelnić za pomocą tokena OAuth w trybie grant_type=trusted_merchant i dołączyć go do nagłówka Authorization żądania.

Rozszerzenia standardowego zamówienia

Standardowe zamówienie powinieneś rozszerzyć o sekcję payMethods z obiektem blikData z identyfikatorem wybranej aplikacji bankowej i rekomendowanym poziomem autoryzacji, oraz sekcję buyer rozszerzoną o extCustomerId.

Przykład sekcji buyer i payMethods
"buyer": {
"extCustomerId": "<id kupującego w systemie merchant'a>",
"email": "<adres email kupującego>"
},
"payMethods": {
"payMethod": {
"type": "BLIK_TOKEN",
"value": "<wartość tokenu, który zostanie użyty do autoryzacji>",
"blikData": {
"appKey":"<id danego przypisania aplikacji bankowej>",
"recommendedAuthLevel":"<NO_CONFIRMATION|REQUIRED_CONFIRMATION>",
}
}
}

Szczegółowe informacje na temat parametrów znajdziesz w sekcji Create an Order w naszej referencji API.

Przykłady odpowiedzi

{
"status": {
"statusCode": "SUCCESS"
},
"orderId": "<id utworzonego zamówienia>"
}
Możliwe błędy
Status HTTPKod statusu / Code LiteralOpis
400
ERROR_TOKEN / AUTH_TOKEN_NOT_FOUND
Podany token płatniczy nie istnieje.
400
ERROR_TOKEN / AUTH_TOKEN_NONUNIQUE
Użyty token płatniczy jest przypisany do kilku aplikacji bankowych. Wymagane jest podanie określonej aplikacji bankowej, do której zostanie wysłane prośba o autoryzację przez kupującego. Razem z błędem, w zamówieniu, w sekcji blikData zostanie zwrócona aktualna lista aplikacji bankowych przypisanych do tokena.
400
ERROR_VALUE_MISSING / INVALID_CURRENCY_CODE
Niepoprawny kod waluty. Obsługiwana waluta: PLN.
400
ERROR_VALUE_MISSING / MISSING_APPKEY
Błąd walidacji, brakuje identyfikatora powiązanej aplikacji bankowej.
400
ERROR_VALUE_MISSING / MISSING_BUYER_EMAIL
Błąd walidacji, brakuje pola email w sekcji buyer.
400
ERROR_VALUE_MISSING / MISSING_BUYER_EXT_CUSTOMER_ID
Błąd walidacji, brakuje pola extCustomerId w sekcji buyer.
400
ERROR_VALUE_MISSING / MISSING_AUTHORIZATION_CODE_OR_TOKEN
Błąd walidacji, dane autoryzacyjne wymagane – brakuje tokena.
400
ERROR_VALUE_INVALID / INVALID_ALIAS_LABEL_PROPOSAL_USAGE
Pole aliasLabelProposal nie może być użyte podczas płatności tokenem.
400
ERROR_VALUE_INVALID / AMBIGUOUS_AUTHORIZATION_USAGE
Podano dwa instrumenty do autoryzacji; w celu realizacji płatność tokenem powinno być wypełnione wyłącznie pole value, w którym umieszczony zostanie token.
400
BUSINESS_ERROR / RECOMMENDED_AUTH_LEVEL_NOT_ALLOWED
Opcja wyboru poziomu autoryzacji nie została udostępniona merchantowi. Należy skontaktować się z działem obsługi klienta.
400
BUSINESS_ERROR / RECOMMENDED_AUTH_LEVEL_USAGE_NOT_ALLOWED
Wykorzystanie recommendedAuthLevel wymaga podpisania odpowiedniego aneksu oraz spełnienie określonych wymagań compliance.