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:
-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:
"payMethods": {
"payMethod": {
"type": "PBL",
"value": "blik"
}
}
Przykład odpowiedzi
{
"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.
Jeżeli płatność jest inicjowana na rynku słowackim, musisz dołączyć parametr countryCode
z wartością ustawioną na SK. W przypadku płatności na rynku polskim, możesz pominąć ten parametr.
"payMethods": {
"payMethod": {
"type": "BLIK_AUTHORIZATION_CODE",
"value": "<BLIK authorization code>",
"blikData": {
"countryCode": "SK"
}
}
}
Szczegółowe informacje na temat parametrów znajdziesz w sekcji Create an Order w naszej referencji API.
Przykłady odpowiedzi
- Odpowiedź pozytywna
- Odpowiedź negatywna
{
"status": {
"statusCode": "SUCCESS"
},
"orderId": "<id utworzonego zamówienia>"
}
{
"status": {
"statusCode": "<kod grupy błędów>",
"codeLiteral": "<kod błędu>",
"statusDesc": "<opis błędu>"
},
"orderId": "<id utworzonego zamówienia>"
}
Status HTTP | Kod statusu | Opis |
---|---|---|
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.
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
.
Jeżeli płatność jest inicjowana na rynku słowackim, musisz dołączyć parametr countryCode
z wartością ustawioną na SK. W przypadku płatności na rynku polskim, możesz pominąć ten parametr.
"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,
"countryCode": "SK"
}
}
}
Szczegółowe informacje na temat parametrów znajdziesz w sekcji Create an Order w naszej referencji API.
Przykłady odpowiedzi
- Odpowiedź pozytywna
- Odpowiedź negatywna
{
"status": {
"statusCode": "SUCCESS"
},
"orderId": "<id utworzonego zamówienia>"
}
{
"status": {
"statusCode": "<kod grupy błędów>",
"codeLiteral": "<kod błędu>",
"statusDesc": "<opis błędu>"
},
"orderId": "<id utworzonego zamówienia>",
"blikData": {
// konkretne dane zależne od określonego błędu
}
}
Status HTTP | Kod statusu / Code Literal | Opis |
---|---|---|
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
.
Jeżeli płatność jest inicjowana na rynku słowackim, musisz dołączyć parametr countryCode
z wartością ustawioną na SK. W przypadku płatności na rynku polskim, możesz pominąć ten parametr.
"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>",
"countryCode": "SK"
}
}
}
Szczegółowe informacje na temat parametrów znajdziesz w sekcji Create an Order w naszej referencji API.
Przykłady odpowiedzi
- Odpowiedź pozytywna
- Odpowiedź negatywna
{
"status": {
"statusCode": "SUCCESS"
},
"orderId": "<id utworzonego zamówienia>"
}
{
"status": {
"statusCode": "<kod grupy błędów>",
"codeLiteral": "<kod błędu>",
"statusDesc": "<opis błędu>"
},
"orderId": "<id utworzonego zamówienia>",
"blikData": { <dane specyficzne zależne od określonego błędu> }
}
Status HTTP | Kod statusu / Code Literal | Opis |
---|---|---|
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. |