Cost+Docs

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ódViselkedé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ő.
delayedAz összeg automatikusan rögzítésre kerül az expiration_period lejártakor.
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"
    }
  ]
}

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ípusLeírás
physicalFizikai termék
discountKedvezmény összege
shipping_feeSzállítási költség
sales_taxForgalmi adó
digitalDigitális termék
gift_cardAjándékkártya
store_creditBolti kredit
surchargePó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
Request body
{
  "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
Request body
{
  "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
Request body
{
  "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
Request body
{
  "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éterLeírás
?fields[]=order_line_detailsRendelé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.

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}'

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

On this page