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.


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.

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"
}
}