Przejdź do głównej zawartości

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:

Nagłówki żądania
-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:

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​

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.

Przykład sekcji payMethods
"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​

{
"status": {
"statusCode": "SUCCESS"
},
"orderId": "<id utworzonego zamówienia>"
}
Status HTTPOpis
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.

Możliwa liczba zarejestrowanych aplikacji

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.

Przykład sekcji buyer i payMethods
"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​

{
"status": {
"statusCode": "SUCCESS"
},
"orderId": "<id utworzonego zamówienia>"
}
Status HTTPOpis
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.

Przykład sekcji buyer i payMethods
"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​

{
"status": {
"statusCode": "SUCCESS"
},
"orderId": "<id utworzonego zamówienia>"
}
Status HTTPOpis
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.