Ugrás a tartalomra
kassza

Barion

A Barion callback csak a fizetés azonosítóját (paymentId) küldi, aláírás nélkül. A barionWebhook() ezért nem bízik a kérésben: a POSKey-jel lekérdezi a fizetés állapotát a Barion API-tól (GET /v4/Payment/{paymentId}/PaymentState), és csak a válasz alapján hívja meg az onPayment függvényedet.

Beállítás#

A fizetés indításakor a CallbackUrl legyen a végpontod, például https://bolt.example.hu/api/barion/callback. A POSKey a Barion shop adatai között van.

.env.local
BARION_POS_KEY=...

A webhook#

app/api/barion/callback/route.ts
import { barionWebhook } from 'kassza/payments/barion'
import { kassza } from '@/lib/kassza'

export const POST = barionWebhook({
  posKey: process.env.BARION_POS_KEY!,
  onPayment: (payment) => kassza.issueForPayment(payment, { vat: 27 }),
})
OpcióAlapértékJelentés
posKey–A shop POSKey-e.
sandboxfalseA teszt Barion API-t hívja (api.test.barion.com).
method–Fix fizetési mód. Alapból kártyánál bankkártya, átutalásnál átutalás, egyébként Barion.
onPayment, onError, maxBodyBytes–Lásd Fizetésből bizonylat.

A kezelő a paymentId-t a query stringből, űrlapként vagy JSON-ként küldött törzsből is kiolvassa. Ellenőrzi, hogy érvényes azonosító-e, és hogy a Barion ugyanarról a fizetésről adott-e választ.

Állapotok#

Barion állapotkind
Succeededpaid
Sikeres visszatérítés a teljes összegről, egy részletbenrefunded
Részleges vagy több részletben történt visszatérítéspartially-refunded
Canceled, Failed, Expiredfailed
Egyébother

A tételeket a fizetés tranzakcióinak Items listájából veszi, a díj- és visszatérítési tranzakciókat kihagyja.

Kapcsolódó#

Oldal szerkesztéseUtoljára frissítve: