Integracja płatności BLIK
Sposób wywoływania API PayU zależy od metody integracji. Na tej stronie znajdziesz rozszerzenia zamówienia wymagane w każdym scenariuszu BLIK.
Przetwarzanie płatności dla każdego typu integracji odbywa się przez utworzenie zamówienia w formie standardowego zamówienia rozszerzonego o dodatkowe pola.
Nagłówki żądań
Do żądania dołącz nagłówek Authorization z tokenem OAuth i nagłówek Content-Type ustawiony na application/json:
-H "Authorization: Bearer <token OAuth dla grant_type=client_credentials/trusted_merchant>" \
-H "Content-Type: application/json"
Przekierowanie na stronę płatności BLIK
Uwierzytelnij żądanie tokenem OAuth uzyskanym w trybie grant_type=client_credentials i dołącz go do nagłówka Authorization.
Rozszerzenie standardowego zamówienia
Przekierowanie kupującego na stronę płatności BLIK działa jak płatność pay-by-link, dlatego rozszerz standardowe zamówienie o sekcję payMethods z parametrem type ustawionym na PBL i parametrem 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
Uwierzytelnij żądanie tokenem OAuth uzyskanym w trybie grant_type=client_credentials i dołącz go do nagłówka Authorization.
Rozszerzenie standardowego zamówienia
Rozszerz standardowe zamówienie o sekcję payMethods z parametrem type ustawionym na BLIK_AUTHORIZATION_CODE i parametrem value ustawionym na wartość kodu autoryzacyjnego BLIK wygenerowanego przez kupującego.
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 obiektu payMethod 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 | 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ą tokena UID
Uwierzytelnij żądanie tokenem OAuth uzyskanym w trybie grant_type=trusted_merchant i dołącz go do nagłówka Authorization.
Jeden token BLIK może być powiązany z maksymalnie 5 aplikacjami mobilnymi banków.
Rozszerzenie standardowego zamówienia
Rozszerz standardowe zamówienie o sekcję buyer z polami extCustomerId i email oraz o sekcję payMethods z obiektem blikData, w którym parametr register ma wartość true.
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 merchanta>",
"email": "<adres e-mail 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 obiektu payMethod 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 | 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 | Kupujący o podanym extCustomerId ma już aktywny token płatniczy o innej wartości. Jeśli ma inny aktywny token, pobierz go przez paymethods. Jeśli ma inny token, który nie został zapisany, w odpowiedzi 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
Uwierzytelnij żądanie tokenem OAuth uzyskanym w trybie grant_type=trusted_merchant i dołącz go do nagłówka Authorization.
Rozszerzenie standardowego zamówienia
Rozszerz standardowe zamówienie o sekcję buyer z polami extCustomerId i email oraz o sekcję payMethods z obiektem blikData z identyfikatorem wybranej aplikacji bankowej i rekomendowanym poziomem autoryzacji.
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 merchanta>",
"email": "<adres e-mail kupującego>"
},
"payMethods": {
"payMethod": {
"type": "BLIK_TOKEN",
"value": "<wartość tokena, 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 obiektu payMethod 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 | 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 aplikacji bankowej, do której zostanie wysłana prośba o autoryzację. Aktualna lista aplikacji bankowych przypisanych do tokena jest zwracana razem z błędem w odpowiedzi na żądanie utworzenia zamówienia, w sekcji blikData. |
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 dwie metody autoryzacji. Przy płatności tokenem wypełnij tylko pole value, w którym umieszczasz token. |
400 | BUSINESS_ERROR / RECOMMENDED_AUTH_LEVEL_NOT_ALLOWED | Opcja wyboru poziomu autoryzacji nie została udostępniona merchantowi. Skontaktuj się z działem obsługi klienta. |
400 | BUSINESS_ERROR / RECOMMENDED_AUTH_LEVEL_USAGE_NOT_ALLOWED | Wykorzystanie recommendedAuthLevel wymaga podpisania odpowiedniego aneksu oraz spełnienia określonych wymagań compliance. |