Rambursări
Procesați rambursări totale și parțiale
Cost+ suportă atât rambursări totale, cât și parțiale pentru comenzile finalizate. Rambursările sunt procesate prin metoda de plată originală utilizată pentru tranzacție.
Crearea unei rambursări
Trimiteți o cerere POST la /v1/orders/\{id\}/refunds/ pentru a iniția o rambursare pe o comandă finalizată.
Cerere
{
"amount": 100,
"description": "Refund for item",
"merchant_order_id": "refund-001"
}Câmpul amount este exprimat în cenți. Pentru a rambursa 1,00 EUR, setați amount la 100. Pentru o rambursare totală, setați suma egală cu suma totală a comenzii.
Câmpuri ale cererii
| Câmp | Obligatoriu | Descriere |
|---|---|---|
amount | Da | Suma rambursării în cenți |
description | Nu | Motivul rambursării |
merchant_order_id | Nu | ID-ul dvs. de referință propriu pentru rambursare |
extra | Nu | Metadate suplimentare ca obiect cheie-valoare |
Răspuns
API-ul returnează obiectul rambursării cu statusul curent:
{
"id": "ref_abc123...",
"created": "2024-01-02T10:00:00.000000+00:00",
"modified": "2024-01-02T10:00:00.000000+00:00",
"amount": 100,
"currency": "EUR",
"status": "pending",
"description": "Refund for item",
"merchant_order_id": "refund-001",
"extra": null
}Câmpuri ale răspunsului
| Câmp | Descriere |
|---|---|
id | Identificator unic pentru rambursare |
created | Marca temporală a creării rambursării |
modified | Marca temporală a ultimei actualizări a rambursării |
amount | Suma rambursării în cenți |
currency | Moneda rambursării (corespunde monedei comenzii) |
status | Statusul curent al rambursării (pending, completed, failed) |
description | Motivul rambursării |
merchant_order_id | ID-ul dvs. de referință |
extra | Metadate suplimentare |
Rambursări totale vs. parțiale
- Rambursare totală: Setați
amountla suma totală a comenzii. Întreaga plată este returnată clientului. - Rambursare parțială: Setați
amountla o valoare mai mică decât suma totală a comenzii. Doar suma specificată este returnată.
Puteți emite mai multe rambursări parțiale pe aceeași comandă, atâta timp cât suma totală rambursată nu depășește suma originală a comenzii.
{
"amount": 500,
"description": "Partial refund - damaged item"
}Rambursările pot fi emise doar pe comenzi cu statusul completed. Încercarea de a rambursa o comandă care nu este încă finalizată va rezulta într-o eroare.
Folosiți câmpul merchant_order_id pentru a lega rambursările de sistemele dvs. interne. Acest lucru este deosebit de util când emiteți mai multe rambursări parțiale pe aceeași comandă.
Statusurile rambursării
| Status | Descriere |
|---|---|
pending | Rambursarea a fost inițiată și este în curs de procesare. |
completed | Rambursarea a fost procesată cu succes. Fondurile vor fi returnate clientului. |
failed | Rambursarea nu a putut fi procesată. Contactați suportul Cost+ pentru asistență. |
Timpul necesar pentru ca suma rambursată să apară în contul clientului depinde de metoda de plată și de banca clientului. Rambursările pe card de credit durează de obicei 5-10 zile lucrătoare.
Verificarea sumei disponibile pentru rambursare
Înainte de a emite o rambursare parțială, puteți verifica cât este disponibil:
curl -u YOUR_API_KEY: \
"https://api.costplus.online/v1/orders/{order_id}/?fields[]=amount_details"Câmpul refundable din răspuns arată suma maximă pe care o puteți rambursa.
Endpoint-uri asociate
- Creare rambursare — emiteți o rambursare totală sau parțială pe o comandă finalizată
- Listare rambursări — preluați toate rambursările pentru o comandă