Cost+Docs

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žīmsUzvedība
manualJū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.
delayedLīdzekļi tiek automātiski iegūti brīdī, kad beidzas expiration_period.
POST /v1/orders/ (manual capture)
{
  "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:

TipsApraksts
physicalFizisks produkts
discountAtlaides summa
shipping_feePiegādes izmaksas
sales_taxPārdošanas nodoklis
digitalDigitāls produkts
gift_cardDāvanu karte
store_creditVeikala kredīts
surchargePiemaksa

Maksājumu iegūšana

Iegūšana pa pasūtījuma rindu

POST /v1/orders/{id}/transactions/{transaction_id}/captures/orderlines
Request body
{
  "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
Request body
{
  "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
Request body
{
  "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
Request body
{
  "description": "Partial void",
  "amount": 1500
}

Vaicājuma parametri

Pievienojiet vaicājuma parametrus, lai iekļautu papildu informāciju atbildē:

ParametrsApraksts
?fields[]=order_line_detailsIekļaut pasūtījuma rindu sadalījumu
?fields[]=amount_detailsIekļ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.

Capture with optimistic locking
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

On this page