Autorizācijas, iegūšana un anulēšana
Pārvaldiet maksājumu autorizācijas, iegūšanas un anulēšanas plūsmas
Dažas maksājumu metodes atbalsta divpakāpju plūsmu: vispirms autorizējiet (rezervējiet līdzekļus), pēc tam iegūstiet (iekasējiet līdzekļus) vai anulējiet (atbrīvojiet rezervāciju).
Iegūšanas režīmi
Iestatiet capture_mode pasūtījumam, lai kontrolētu, kad līdzekļi tiek iegūti:
| Režīms | Uzvedība |
|---|---|
manual | Jūs tieši iegūstat, kad esat gatavs (piemēram, pēc nosūtīšanas). Ja neiegūstat pirms pasūtījuma termiņa beigām, autorizācija tiek zaudēta un to vairs nevar iegūt. |
delayed | Līdzekļi tiek automātiski iegūti brīdī, kad beidzas expiration_period. |
{
"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"
}
]
}Ar manual iegūšanu jums jāiegūst pirms pasūtījuma derīguma termiņa beigām. Pēc termiņa beigām autorizācija tiek atbrīvota un līdzekļus vairs nevar iegūt. Iestatiet atbilstošu expiration_period savam izpildes grafikam.
Varat iestatīt capture_mode pasūtījuma līmenī bez transactions norādīšanas. Mitinātā maksājuma lapa tad parādīs tikai tās maksājumu metodes, kas atbalsta norādīto iegūšanas režīmu.
Iegūstamo summu pārbaude
Pirms iegūšanas varat pārbaudīt, cik ir pieejams iegūšanai, pieprasot amount_details:
curl -u YOUR_API_KEY: \
"https://api.costplus.online/v1/orders/{order_id}/?fields[]=amount_details"Atbilde ietver amount_details objektu:
{
"amount": 5000,
"amount_details": {
"capturable": 5000,
"captured": 0,
"refundable": 0,
"refunded": 0,
"voidable": 5000,
"voided": 0
}
}Pasūtījuma rindas
Izmantojot iegūšanu un anulēšanu pa pasūtījuma rindām, izmantojiet šos tipus:
| Tips | Apraksts |
|---|---|
physical | Fizisks produkts |
discount | Atlaides summa |
shipping_fee | Piegādes izmaksas |
sales_tax | Pārdošanas nodoklis |
digital | Digitāls produkts |
gift_card | Dāvanu karte |
store_credit | Veikala kredīts |
surcharge | Piemaksa |
Maksājumu iegūšana
Iegūšana pa pasūtījuma rindu
POST /v1/orders/{id}/transactions/{transaction_id}/captures/orderlines{
"description": "Shipping item #1",
"order_line": {
"merchant_order_line_id": "item-001",
"quantity": 1
}
}Iegūšana pa summu
POST /v1/orders/{id}/transactions/{transaction_id}/captures/amount{
"description": "Partial capture",
"amount": 2500
}Maksājumu anulēšana
Anulēšana atbrīvo autorizētos līdzekļus atpakaļ klientam.
Anulēšana pa pasūtījuma rindu
POST /v1/orders/{id}/transactions/{transaction_id}/voids/orderlines{
"description": "Voiding item #2",
"order_line": {
"merchant_order_line_id": "item-002",
"quantity": 1
}
}Anulēšana pa summu
POST /v1/orders/{id}/transactions/{transaction_id}/voids/amount{
"description": "Partial void",
"amount": 1500
}Vaicājuma parametri
Pievienojiet vaicājuma parametrus, lai iekļautu papildu informāciju atbildē:
| Parametrs | Apraksts |
|---|---|
?fields[]=order_line_details | Iekļaut pasūtījuma rindu sadalījumu |
?fields[]=amount_details | Iekļaut summu sadalījumu |
Optimistiskā bloķēšana
Iegūšanas un anulēšanas galapunkti atbalsta ETag bāzētu optimistisko bloķēšanu ar if-match galveni. Tas novērš sacensību nosacījumus, kad vairākas sistēmas mēģina iegūt vienu un to pašu darījumu.
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}'Ja ETag nesakrīt (pasūtījums ir mainīts kopš jūsu pēdējās iegūšanas), jūs saņemsiet 412 Precondition Failed atbildi.
Cost+ atbalsta vienu iegūšanu uz autorizāciju, un anulēšanu var apstrādāt tikai pirms jebkuras iegūšanas. Plānojiet savu iegūšanas stratēģiju atbilstoši.
Saistītie galapunkti
- Iegūt pa summu — iegūt noteiktu summu no autorizēta pasūtījuma
- Iegūt pa pasūtījuma rindu — iegūt noteiktas pasūtījuma rindas
- Anulēt pa summu — anulēt noteiktu summu no autorizēta pasūtījuma
- Anulēt pa pasūtījuma rindu — anulēt noteiktas pasūtījuma rindas