Get started / Introduction
Lumen Payments API
Take payments, refund in one call and stream payouts — a predictable REST API that speaks JSON everywhere.
Authentication
Bearer keys, scoped per project and mode.
Read guide →
Idempotency
Retry any write safely with one header.
Read guide →
Webhooks
Signed events, delivered in under 200 ms.
Read guide →
POST/v3/charges
Create a charge
Charges a payment method. Returns the charge object, or an error if the card is declined.
amount integerREQUIRED
Smallest currency unit — 2400 is €24.00.
currency stringREQUIRED
Three-letter ISO code, lowercase.
customer string
Attach the charge to a saved customer.
1import Lumen from '@lumen/payments';23const lumen = new Lumen('lk_test_8Rv2…');4const charge = await lumen.charges.create({5 amount: 2400,6 currency: 'eur',7 customer: 'cust_K1d0F2',8});9// → charge.status === 'succeeded'
▸Response200 OK84 ms
Test mode · no real money moves
The charge object
Every endpoint returns the same shape. Expand any field to see its children.
GET/v3/chargesList
POST/v3/chargesCreate
GET/v3/charges/:idRetrieve
POST/v3/charges/:id/refundRefund
Response200 OK84 ms · application/json
{ "id": "chg_3Px9Lm2", "kind": "charge", "amount": 2400, "currency": "eur", "status": "succeeded",▾"payment_method": { "type": "card", "funding": "debit", "last4": "1881" }, "test_mode": true}