Engedélyezés, rögzítés és érvénytelenítés
Fizetési engedélyezés, rögzítés és érvénytelenítés kezelése
Egyes fizetési módok kétlépcsős folyamatot támogatnak: először engedélyezés (összeg foglalása), majd rögzítés (összeg levonása) vagy érvénytelenítés (foglalás feloldása).
Rögzítési módok
Állítsa be a capture_mode értéket a rendelésen az összeg rögzítésének időpontjának szabályozásához:
| Mód | Viselkedés |
|---|---|
manual | Ön manuálisan rögzíti, amikor kész (pl. szállítás után). Ha nem rögzíti az engedélyezést a rendelés lejárta előtt, az engedélyezés elvész és nem rögzíthető. |
delayed | Az összeg automatikusan rögzítésre kerül az expiration_period lejártakor. |
{
"currency": "EUR",
"amount": 5000,
"capture_mode": "manual",
"return_url": "https://www.example.com",
"webhook_url": "https://www.example.com/webhook",
"transactions": [
{
"payment_method": "credit-card"
}
]
}manual rögzítés esetén kötelező a rögzítés a rendelés lejárati idejének vége előtt. A lejárat után az engedélyezés feloldásra kerül, és az összeg nem rögzíthető. Állítson be megfelelő expiration_period-ot a teljesítési idővonalához.
A capture_mode beállítható rendelés szinten a transactions megadása nélkül. A tárolt fizetési oldal ekkor csak azokat a fizetési módokat jeleníti meg, amelyek támogatják a megadott rögzítési módot.
Rögzíthető összegek ellenőrzése
Rögzítés előtt ellenőrizheti, mennyi áll rendelkezésre rögzítésre az amount_details lekérdezésével:
curl -u YOUR_API_KEY: \
"https://api.costplus.online/v1/orders/{order_id}/?fields[]=amount_details"A válasz tartalmaz egy amount_details objektumot:
{
"amount": 5000,
"amount_details": {
"capturable": 5000,
"captured": 0,
"refundable": 0,
"refunded": 0,
"voidable": 5000,
"voided": 0
}
}Rendelési tételek
Rögzítések és érvénytelenítések rendelési tételenként történő kezeléséhez használja az alábbi típusokat:
| Típus | Leírás |
|---|---|
physical | Fizikai termék |
discount | Kedvezmény összege |
shipping_fee | Szállítási költség |
sales_tax | Forgalmi adó |
digital | Digitális termék |
gift_card | Ajándékkártya |
store_credit | Bolti kredit |
surcharge | Pótdíj |
Fizetés rögzítése
Rögzítés rendelési tételenként
POST /v1/orders/{id}/transactions/{transaction_id}/captures/orderlines{
"description": "Shipping item #1",
"order_line": {
"merchant_order_line_id": "item-001",
"quantity": 1
}
}Rögzítés összeg alapján
POST /v1/orders/{id}/transactions/{transaction_id}/captures/amount{
"description": "Partial capture",
"amount": 2500
}Fizetés érvénytelenítése
Az érvénytelenítés feloldja az engedélyezett összeget az ügyfél számára.
Érvénytelenítés rendelési tételenként
POST /v1/orders/{id}/transactions/{transaction_id}/voids/orderlines{
"description": "Voiding item #2",
"order_line": {
"merchant_order_line_id": "item-002",
"quantity": 1
}
}Érvénytelenítés összeg alapján
POST /v1/orders/{id}/transactions/{transaction_id}/voids/amount{
"description": "Partial void",
"amount": 1500
}Lekérdezési paraméterek
Adjon hozzá lekérdezési paramétereket a válaszban további részletek eléréséhez:
| Paraméter | Leírás |
|---|---|
?fields[]=order_line_details | Rendelési tétel bontás megjelenítése |
?fields[]=amount_details | Összeg bontás megjelenítése |
Optimista zárolás
A rögzítési és érvénytelenítési végpontok támogatják az ETag-alapú optimista zárolást az if-match fejlécen keresztül. Ez megelőzi a versenyfeltételeket, amikor több rendszer kísérli meg ugyanazon tranzakció rögzítését.
curl -X POST https://api.costplus.online/v1/orders/{id}/transactions/{tid}/captures/amount \
-u {api_key}: \
-H "Content-Type: application/json" \
-H "if-match: \"etag-value\"" \
-d '{"description": "Capture", "amount": 2500}'Ha az ETag nem egyezik (a rendelés módosult az utolsó lekérdezés óta), 412 Precondition Failed választ kap.
A Cost+ engedélyezésenként egy rögzítést támogat, és az érvénytelenítés csak a rögzítés előtt dolgozható fel. Tervezze meg rögzítési stratégiáját ennek megfelelően.
Kapcsolódó végpontok
- Rögzítés összeg alapján — meghatározott összeg rögzítése engedélyezett rendelésből
- Rögzítés rendelési tételenként — meghatározott rendelési tételek rögzítése
- Érvénytelenítés összeg alapján — meghatározott összeg érvénytelenítése engedélyezett rendelésből
- Érvénytelenítés rendelési tételenként — meghatározott rendelési tételek érvénytelenítése