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.
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ć.
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.
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.
{
"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ć.
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.
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.
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
cardOnFileustawiony 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:
| Rodzaj karty | Rodzaj transakcji | Rodzaj autoryzacji | MCC | Czas 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ń |
| Rodzaj karty | Rodzaj transakcji | Rodzaj autoryzacji | MCC | Czas na odebranie |
|---|---|---|---|---|
Debit/Credit | Wszystkie | Auth | Wszystkie | 5 dni |
Debit/Credit | Wszystkie | Pre-Auth | Wszystkie | 28 dni |
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.
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.
{
"status": {
"statusCode": "SUCCESS",
"statusDesc": "Status was updated"
}
}
Anulowanie zamówienia
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.
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.
{
"orderId":"71S3CTJJXV140325GUEST000P01",
"extOrderId":"your_order_id"
"status":{
"statusCode":"SUCCESS"
}
}