Vytvoření refundace
Refundaci zpracujete požadavkem na endpoint /refunds. Používá se ID checkoutu, které Twisto vrátilo ve vašem volání /checkouts.
Refundace je možná až poté, co byl charge zachycen (captured). Podrobnosti viz tok stavů.
Toto volání API obsahuje:
- Referenci (volitelnou) — je povinná pouze u manuálního bankovního vypořádání refundace a použije se u bankovního převodu
checkout_id- Důvod
- Částku
Odpověď Twisto API obsahuje:
id— jedinečná reference refundacecheckout_id— původní identifikátor checkoutu refundované objednávky- Důvod
- Refundovanou částku
- Datum a čas vytvoření
Volání /refunds musí probíhat z vašeho serveru, ne přímo z klientského frontendu. Typicky ho spouští systém pro správu objednávek.
ID checkoutu
Twisto ke zpracování refundace vyžaduje původní ID checkoutu objednávky. Získáte ho z počátečního volání checkout API na Twisto.
Příklad předání:
{
"checkout_id": "string"
}Hromadné vs. jednotlivé platby
Refundace se zpracovávají dvěma způsoby: hromadně (pro vypořádání v dávkách) a manuálně (pro jednotlivé vypořádání 1:1).
U hromadných plateb se refundace automaticky odečte z vaší denní dávkové platby.
U manuálních refundací musíte peníze Twisto zaslat sami. Jako identifikátor bankovního převodu nastavte přesně hodnotu reference z volání refundace API.
Částečné a plné refundace
Lze provést plnou nebo částečnou refundaci původní objednávky.
Refundaci nazýváme full, pokud se její částka rovná částce objednávky.
Podporujeme také partial refundace, kdy je refundovaná částka nižší než částka objednávky, např. při vrácení jedné z více položek. Vrátí-li zákazník jednu položku z více kusů, do požadavku na refundaci pošlete pouze hodnotu vracené položky.
Pokud už checkout obsahuje refundaci (např. částka checkoutu byla 100 Kč a už bylo refundováno 20 Kč) a zákazník chce vrátit zbytek, částka v požadavku na refundaci musí odpovídat zbývající částce objednávky (80 Kč), jinak API vrátí chybu.
Důvod refundace
Důvod refundace slouží pro vaši evidenci při pozdějším načtení dat o refundaci z Twisto.
Příklad předání:
{
"reason": "Unwanted item",
"amount": 5
}Celý požadavek
Příklad těla požadavku:
{
"reference": "string",
"reason": "Unwanted item",
"amount": 5,
"checkout_id": "string"
}