Ugrás a tartalomra
kassza

Revolut

A Revolut webhook csak az eseményt és a rendelés azonosítóját küldi. A revolutWebhook() ellenőrzi a Revolut-Signature aláírást és a Revolut-Request-Timestamp időbélyeget, majd a titkos API-kulccsal lekéri a rendelést, és abból készít PaymentEvent-et.

Beállítás#

  1. A Revolut Business felületén (Merchant / API) hozz létre webhookot a végpontodra, például https://bolt.example.hu/api/revolut/webhook, az ORDER_COMPLETED, ORDER_CANCELLED, ORDER_FAILED, ORDER_PAYMENT_DECLINED és ORDER_PAYMENT_FAILED eseményekre.
  2. A webhook aláíró titka a webhook adatai között van; a titkos API-kulcs a Merchant API beállításoknál.
.env.local
REVOLUT_WEBHOOK_SECRET=wsk_...
REVOLUT_SECRET_KEY=sk_...

A webhook#

app/api/revolut/webhook/route.ts
import { revolutWebhook } from 'kassza/payments/revolut'
import { kassza } from '@/lib/kassza'

export const POST = revolutWebhook({
  secret: process.env.REVOLUT_WEBHOOK_SECRET!,
  apiKey: process.env.REVOLUT_SECRET_KEY!,
  onPayment: (payment) => kassza.issueForPayment(payment, { vat: 27 }),
})
OpcióAlapértékJelentés
secret–Az aláíró titok. Kulcsváltáskor tömbként több is megadható.
apiKey–A titkos API-kulcs a rendelés lekéréséhez. Kötelező.
sandboxfalseA sandbox API-t hívja.
toleranceMs5 percEnnél régebbi időbélyeget elutasít.
apiVersion2026-08-17A Revolut-Api-Version fejléc.
method–Fix fizetési mód. Alapból kártyánál bankkártya, Revolut Pay-nél Revolut Pay, SEPA beszedésnél csoportos beszedés.
onPayment, onError, maxBodyBytes–Lásd Fizetésből bizonylat.

Sikeres feldolgozás után a kezelő 204-et ad.

Események#

Revolut eseménykind
ORDER_COMPLETED fizetési rendelésrepaid
ORDER_COMPLETED visszatérítési rendelésrerefunded vagy partially-refunded
ORDER_CANCELLED, ORDER_FAILED, ORDER_PAYMENT_DECLINED, ORDER_PAYMENT_FAILEDfailed
ORDER_AUTHORISEDother

A Revolut a visszatérítést külön rendelésként kezeli. A kassza ilyenkor az eredeti rendelést is lekéri, így a visszatérítés ugyanahhoz a rendelésszámhoz kötődik, mint a fizetés.

A tételeket a rendelés line_items listájából, a vevőt a customer, a számlázási és a szállítási cím mezőkből veszi. A saját rendelésazonosítód a merchant_order_data.reference mezőből a PaymentEvent orderRef mezőjébe kerül.

Kapcsolódó#

Oldal szerkesztéseUtoljára frissítve: