Przejdź do głównej zawartości

Płatności cykliczne

Płatności cykliczne odnoszą się do regularnych i automatycznych transakcji, w których ustalona kwota jest pobierana z karty klienta w określonych odstępach czasu.

Opis usługi

Usługa płatności cyklicznych opiera się na typie integracji white-label, który umożliwia akceptowanie płatności kartą bez przekierowywania użytkowników na stronę hostowaną przez dostawcę usług płatniczych. Ten typ integracji zachowuje wysoki poziom bezpieczeństwa i minimalizuje wysiłek związany ze zgodnością z PCI DSS. Ma również na celu zapewnienie większej elastyczności i zwiększenie współczynników konwersji poprzez lepszą kontrolę nad procesem płatności.

Proces płatności opiera się na dwóch krokach:

  1. Pobierania danych uwierzytelniających karty w bezpieczny sposób (proces front-end),
  2. Obciążenia karty poprzez utworzenie transakcji płatniczej (proces back-end).

Dane uwierzytelniające karty są zwracane w postaci tokena i zamaskowanego numeru karty, dlatego nigdy nie otrzymasz pełnych danych karty. Procesy back-end opierają się na protokole OpenPayU, a integracja jest ułatwiona dzięki dostępnym biblioteki SDK.

Płatności cykliczne polegają na obciążaniu tokenów wielokrotnego użytku (TOKC_). Wszystkie transakcje poza pierwszą, która inicjuje cykl, nie są wywoływane przez płacącego, ale bezpośrednio przez aplikację sklepu. Dlatego takie transakcje nie wymagają dodatkowego uwierzytelnienia poprzez 3DS lub podanie kodu bezpieczeństwa (CVV2/CVC2). W celu obciążania karty zgodnie z harmongramem (cyklem, subskrypcją) na który płatnik wyraził zgodę, aplikacja sklepowa powinna posiadać stosowną funkcjonalność (ang. scheduler).

Konfiguracja

Płatność cykliczna wymaga specjalnej konfiguracji po stronie PayU. Dlatego przed przystąpieniem do integracji należy skontaktować się z opiekunem handlowym w PayU lub poprzez formularz kontaktowy.


Na środowisku Sandbox punkty płatności typu REST API zostaną skonfigurowane automatycznie pod możliwość testowania tej funkcjonalności w ciągu 90 minut od utworzenia.

Wymogi i zalecenia dotyczące bezpieczeństwa

Zanim przystąpisz do integracji usługi, zapoznaj się z zaleceniami i wymogami przygotowanymi przez ekspertów ds. bezpieczeństwa w PayU. Ich przestrzeganie pomoże zminimalizować ryzyko związane z transakcjami oszukańczymi.

Integracja usługi

Płatności cykliczne opierają sie na tokenizacji danych karty. Szczegółowy opis obsłgui tokenów znajdziesz w sekcjach:

Jeśli chcesz dowiedzieć się więcej o procesie tokenizacji i ogólnych wymaganiach, zapoznaj się ze stroną Tokenizacja kart.

Odbieranie danych karty

Notatka

Do odbierania danych uwierzytelniających karty użyj Secure Form.


Pamiętaj o wyświetleniu płatnikowi wszystkich niezbędnych informacji podanych w Zbiorze wymagań oraz zaleceń dot. usługi płatności cyklicznych.

Integracja back-end

Przy płatności cyklicznej standardowe zamówienie należy rozszerzyć o sekcję payMethods.payMethod i parametr recurring, który określa rodzaj płatności cyklicznej.

Parametr recurring przyjmuje jedną z dwóch wartości:

  • FIRST - dla pierwszej płatności rozpoczynającej cykl.
  • STANDARD - dla kolejnych płatności w cyklu (nie jest wymagana obecność kupującego).

W związku z tym, że każdy zapis karty wymaga uwierzytelnienia 3DS, sugerujemy dodanie dodatkowych informacji związanych z 3DS, w szczególności obiekt recurring w sekcji threeDsAuthentication. Więcej informacji znajdziesz w sekcji poświęconej parametrom wymaganym w 3DS.

Poniżej przedstawiono przykłady żądań dla FIRST i kolejnych (STANDARD) płatności cyklicznych.

curl -v -X POST https://secure.payu.com/api/v2_1/orders \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd" \
-d '{
"notifyUrl":"https://your.eshop.com/notify",
"customerIp":"127.0.0.1",
"merchantPosId":"145227",
"recurring": "FIRST",
"description":"Laptop",
"currencyCode":"PLN",
"totalAmount":"15000",
"extOrderId":"n7kln2ipw5q1neabmjabc123",
"products":[
{
"name":"Laptop",
"unitPrice":"15000",
"quantity":"1"
}
],
"buyer": {
"email": "john.doe@example.com",
"firstName": "John",
"lastName": "Doe",
"language": "en"
},
"payMethods": {
"payMethod": {
"value": "TOK_1JQMSW8MILUV69k0TVFZV593Riw2",
"type": "CARD_TOKEN"
}
},
"threeDsAuthentication": {
"recurring": {
"frequency": "30",
"expiry": "2025-12-31T00:00:00Z"
}
}
}'
Notatka
Obiekt recurring

Wyróżniony w powyższych przykładach został obiekt recurring w sekcji threeDsAuthentication. Informacje przesyłane w obiekcie recurring pomogą w przypisaniu odpowiedniego wskaźnika uwierzytelnienia do transakcji w trakcie przetwarzania 3DS. Chociaż obiekt ten nie jest obowiązkowy, zalecamy uwzględnienie go w żądaniu transakcji cyklicznej w celu optymalizacji procesu płatniczego.


Wyróżniony obiekt recurring jest innym bytem niż parametr recurring opisany wcześniej na tej stronie!


POS używany w przykładach nie ma włączonej tokenizacji.

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

Poniżej przedstawiono przykładowe odpowiedzi na żądania płatności cyklicznych.

{
"orderId": "ORDER_ID",
"payMethods": {
"payMethod": {
"card": {
"number": "424242******4242",
"expirationMonth": "12",
"expirationYear": "2017"
},
"type": "CARD_TOKEN",
"value": "TOKC_KPNZVSLJUNR4DHF5NPVKDPJGMX7"
}
},
"status": {
"statusCode": "SUCCESS",
"statusDesc": "Request successful"
}
}

System PayU powiadamia sklep o statusie zamówienia poprzez wysłanie notyfikacji na adres podany w parametrze notifyUrl zamówienia. Więcej informacji o notyfikacjach znajdziesz w sekcji Powiadomienia.

Integracja oparta na czystych danych kartowych

Notatka

Opis tworzenia zamówienia z czystymi danymi kartowymi znajduje się w sekcji Dane karty w postaci tekstowej.