Pobieranie i usuwanie tokenów
Pobieranie tokenów
Metody płatności dostępne dla danego użytkownika nie powinny być przechowywane lokalnie przez sklep, ale raczej pobierane od PayU. Pobierane są zarówno zapisane metody płatności (tokeny) oraz standardowe metody płatności. Użycie tej usługi daje następujące korzyści:
- zwracane są wyłącznie metody płatności dostępne w danym momencie dla danego użytkownika,
- zwrócone tokeny są zawsze aktualne i zsynchronizowane z aktywnym kontem PayU danego użytkownika.
Aby pobrać metody płatności (i tokeny), należy najpierw wygenerować token uwierzytelniający OAuth w trybie trusted_merchant
. To stworzenia tokena powinieneś użyć danych klienta (adres e-mail, ext_customer_id
), dla którego chcesz pobrać metody płatności. Aby uzyskać więcej informacji na temat autoryzacji, zobacz sekcję Uwierzytelnienie i tworzenie zamówienia w naszej dokumentacji lub sekcję Authorize w naszej referencji API.
Przykład pobierania tokenów
Wysyłając żądania z metodą GET upewnij się, że w ciele żądania nie przesyłasz żadnych danych. Zgodnie ze standardem RFC 9110 żądania, które nie spełniają tego wymogu, zostaną odrzucone przez PayU i zwrócony zostanie kod HTTP 403.
Aby pobrać dostępne tokeny wywołaj endpoint api/v2_1/paymethods
używając metody GET z wygenerowanym tokenem uwierzytelniającym załączonym w nagłówku Authorization
.
curl -X GET https://secure.payu.com/api/v2_1/paymethods \
-H "Authorization: Bearer 87ad751f-7ea5-4023-a16f-04b6647a07f5"
-H "Cache-Control: no-cache"
Przykład odpowiedzi do pobrania tokenów
W odpowiedzi otrzymasz tablice z dostępnymi tokenami:
- sekcja
cardTokens
zostanie zwrócona jako pusta, jeśli użytkownik nie ma żadnych aktywnych lub wygasłych tokenów. - sekcja
pexTokens
została wycofana z użytku, możesz się spodziewać, że ta sekcja zawsze będzie pusta. - sekcja
payByLinks
zawiera metody płatnościpayByLinks
, które zawsze wymagają przekierowania. Oznaczają zarówno szybkie przelewy (pay-by-links), tradycyjny przelew, raty lub standardową płatność kartą bez tokenizacji poprzez formularz serwowany przez PayU.
{
"cardTokens": [
{
"cardExpirationYear": "2017",
"cardExpirationMonth": "12",
"cardNumberMasked": "411111******1111",
"cardBrand": "VISA",
"value": "TOKC_XATB7DF8ACXYTVQIPLWTVPFRKQE",
"brandImageUrl": "http://static.payu.com/images/mobile/visa.png",
"preferred": true,
"status": "ACTIVE"
},
{
"cardExpirationYear": "2014",
"cardExpirationMonth": "12",
"cardNumberMasked": "424242******4242",
"cardBrand": "VISA",
"value": "TOKC_XATB7DF8ACXYTVQIPLWTVPFRKQE",
"brandImageUrl": "http://static.payu.com/images/mobile/visa.png",
"preferred": false,
"status": "EXPIRED"
}
],
"pexTokens": [],
"payByLinks": [
{
"value": "c",
"name": "Płatność online kartą płatniczą",
"brandImageUrl": "http://static.payu.com/images/mobile/logos/pbl_c.png",
"status": "ENABLED",
"minAmount": 50,
"maxAmount": 100000
},
{
"value": "o",
"name": "Pekao24Przelew",
"brandImageUrl": "http://static.payu.com/images/mobile/logos/pbl_o.png",
"status": "DISABLED",
"minAmount": 50,
"maxAmount": 100000
},
{
"value": "ab",
"name": "Płacę z Alior Bankiem",
"brandImageUrl": "http://static.payu.com/images/mobile/logos/pbl_ab.png",
"status": "TEMPORARY_DISABLED",
"minAmount": 50,
"maxAmount": 100000
}
]
}
Szczegółowe informacje na temat parametrów znajdziesz w sekcji Retrieve All Available Payment Methods w naszej referencji API.
Usuwanie tokenów
Token należy skasować w przypadku kiedy użytkownik zamknie swoje konto w sklepie internetowym lub chce usunąć zapisaną kartę, .
W tym celu wyślij żądanie z metodą DELETE na endpoint https://secure.payu.com/api/v2_1/tokens/{tokenValue}
, gdzie parametr tokenValue
jest tokenem, który chcesz usunąć.
Nagłówek Authorization
powinien zawierać token uwierzytelniający OAuth wygenerowany w trybie trusted_merchant
. To stworzenia tokena uwierzytelniającego powinieneś użyć danych klienta (adres e-mail, ext_customer_id
), dla którego chcesz usunąć dany token.
Przykład usunięcia tokenu
curl -X DELETE https://secure.payu.com/api/v2_1/tokens/TOKC_XATB7DF8ACXYTVQIPLWTVPFRKQE \
-H "Authorization: Bearer cccbbc40-8113-443b-b4ea-c4b266272b22"
-H "Cache-Control: no-cache"
W przykładzie usunięto token o wartości: TOKC_XATB7DF8ACXYTVQIPLWTVPFRKQE
.