Przejdź do głównej zawartości

Odbieranie i anulowanie

W PayU wszelkie pomyślnie dokonane płatności są automatycznie odbierane, a środki są dodawane do salda danego sklepu. Jednak, jeżeli chcesz, masz możliwość wyłączenia funkcji automatycznego odbierania.

Możesz odbierać lub anulować zamówienia ze statusem WAITING_FOR_CONFIRMATION. Status ten może wystąpić tylko w przypadku wyłączenia automatycznego odbioru w POS. W przeciwnym razie wszystkie pomyślnie zakończone zamówienia automatycznie przejdą w status COMPLETED.

Jeżeli nie odbierzesz lub nie anulujesz zamówienia, zostanie ono automatycznie anulowane po czasie określonym dla odpowiedniej metody płatności.

Notatka

Odbieranie i anulowanie żądań zawsze dotyczy całego zamówienia:

  • Odebranie zamówienia aktualizuje jego status do COMPLETED (zakończone).
  • Anulowanie zamówienia powoduje zwrot wszystkich środków na konto kupującego.

Odebranie zamówienia

Aby odebrać zamówienie musisz wysłać żądanie metodą POST na endpoint /orders/{id}/captures z pustym ciałem żądania. Gdzie parametr id jest identyfikatorem zamówienia, które chcesz odebrać.

Przykład odebrania zamówienia
curl -X POST https://secure.payu.com/api/v2_1/orders/H9LL64F37H160126GUEST000P01/captures \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd" \

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

Pre-autoryzacja i częściowe odebranie zamówienia

W przypadku płatności kartami możliwe jest autoryzowanie pewnej kwoty zamówienia ale odebranie tylko części wpłaconych środków, np. gdy niektóre z zakupionych przedmiotów nie są dostępne lub opłata za wynajem pojazdu przewyższa rzeczywistą kwotę do zapłaty.

Notatka

Ta usługa wymaga dodatkowych ustaleń i konfiguracji ze strony PayU. W celu jej włączenia skontaktuj się ze swoim opiekunem handlowym w PayU.


Aktualnie częściowe odebranie zamówienia nie wspiera przewalutowania, a także nie jest dostępne przy płatnościach marketplace.


Tak jak w przypadku pełnego odebrania, częściowe odebranie zamówienia zakańcza je.

Częściowo odebrane mogą zostać tylko zamówienia utworzone z parameterem authorizationType o wartości PRE_AUTHORIZATION w sekcji payMethods.payMethod.

Przykład rozszerzenia zamówienia umożliwiającego cześciowe odebranie
{
"payMethods": {
"payMethod": {
"type":"PBL",
"value":"c",
"authorizationType": "PRE_AUTHORIZATION"
}
}
}

Aby cześciowo odebrać zamówienie musisz wysłać żądanie z metodą POST na endpoint orders/{id}/captures podając, w ciele zamówienia, kwotę transakcji i kod waluty zamówienia, które chcesz odebrać.

Przykład częściowego odebrania zamówienia
curl -X POST https://secure.payu.com/api/v2_1/orders/H9LL64F37H160126GUEST000P01/captures \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd" \
-d '{
"amount": "<kwota do odebrania w najniższej jednostce walutowej>",
"currencyCode": "kod waluty zamówienia, e.g. PLN"
}'

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

Notatka

Automatyczne czasy anulowania transakcji znajdziesz w sekcji Automatyczne anulowanie transakcji.

Czas odebrania transakcji dla różnych systemów kartowych

Dokładny czas na odebranie transakcji możesz sprawdzić poprzez Pobranie danych transakcji. Pozostały czas jest wyświetlany jako wartość parametru validUntil.

Notatka

Konfiguracja pre-autoryzacji nadpisuje ustawienia auto-odbioru dla kart na twoim punkcie sprzedaży (POS). Pamiętaj, że pre-autoryzowane transakcje kartą nie będą automatycznie odbierane.

Z pre-autoryzacją i częściowym odebraniem zamówienia wiążę się ryzyko. Dozwolony czas odebrania zamówień opłacanymi kartami Visa różni się ze względu na typ transakcji bądź kategorię merchanta:

  • standardowo jest to 8 dni,
  • niektórym kategoriom merchantów ten czas został wydłużony do 28 dni,
  • dla transakcji MIT (parametr cardOnFile ustawiony na STANDARD_MERCHANT)/recurring jest to 3 dni.

Spóźnione odebranie zamówienia wiąże się z ryzykiem reklamacji (chargeback) "late presentment".

Poniżej przedstawione zostały czasy odebrania transakcji ze względu na rodzaj i markę karty:

Czas odebrania transakcji dla kart Visa
Rodzaj kartyRodzaj transakcjiRodzaj autoryzacjiMCCCzas na odebranie
Debit/Credit
E-commerce
Wszystkie
Wszystkie
8 dni
Debit/Credit
Wszystkie
Pre-Auth
Wszystkie
28 dni
Debit/Credit
MIT/cykliczne
Wszystkie
Wszystkie
3 dni
Debit/Credit
Card not Present
Wszystkie
4121
1 dzień
Czas odebrania transakcji dla kart Mastercard
Rodzaj kartyRodzaj transakcjiRodzaj autoryzacjiMCCCzas na odebranie
Debit/Credit
Wszystkie
Auth
Wszystkie
5 dni
Debit/Credit
Wszystkie
Pre-Auth
Wszystkie
28 dni
Notatka

Pamiętaj, że w celu dotrzymania określonego czasu na odebranie transakcji, PayU musi otrzymać żądanie odebrania z co najmniej jednodniowym wyprzedzeniem.

Odebranie zamówienia - metoda PUT (przestarzałe)

Aby zaktualizować status zamówienia, należy wywołać endopint /api/v2_1/orders/{orderId}/status przy użyciu metody PUT.

Przykład odebrania zamówienia poprzez API
curl -X PUT https://secure.payu.com/api/v2_1/orders/H9LL64F37H160126GUEST000P01/status \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd" \
-d '{
"orderId": "H9LL64F37H160126GUEST000P01",
"orderStatus": "COMPLETED"
}'

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

Przykład odpowiedzi na odebranie zamówienia
{
"status": {
"statusCode": "SUCCESS",
"statusDesc": "Status was updated"
}
}

Anulowanie zamówienia

Notatka

Możesz anulować (odrzucić) zamówienia przetwarzane przez system PayU, na przykład, w przypadku, kiedy produkt lub usługa nie zostały dostarczone.

Tylko zamówienia, które nie zostały zakończone (status COMPLETED) mogą zostać anulowane.

Aby anulować zamówienie i dokonać zwrotu pieniędzy na konto płatnika, wywołaj endpoint /api/v2_1/orders/{orderId} przy użyciu metody DELETE.

Przykład anulowania zamówienia poprzez API
curl -X DELETE https://secure.payu.com/api/v2_1/orders/H9LL64F37H160126GUEST000P01 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd" \

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

Przykład odpowiedzi na anulowanie zamówienia
{
"orderId":"71S3CTJJXV140325GUEST000P01",
"extOrderId":"your_order_id"
"status":{
"statusCode":"SUCCESS"
}
}