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