Payments

The Payment object returned by the API and delivered on webhooks.

Payments

A Payment represents a single money movement from a customer to a merchant. It is created automatically when a Checkout Session completes or an Invoice is paid — you don't create it directly.

The Payment object

{
  "id": "py_01H…",
  "object": "payment",
  "session_id": "cs_01H…",
  "invoice_id": null,
  "amount": 4990,
  "amount_refunded": 0,
  "currency": "EUR",
  "status": "succeeded",
  "payment_method": "visa_mc",
  "card": { "brand": "visa", "last4": "4242", "country": "DE", "funding": "credit" },
  "fee": {
    "spuke_fee_eur": 132,
    "spuke_fee_charge_currency": 132,
    "psp_fee_eur": 189,
    "currency": "EUR"
  },
  "customer": { "name": "Jane Doe", "email": "jane@example.com" },
  "reference": "ORDER-12345",
  "metadata": {},
  "created": 1735689600
}

Status values

Status Meaning
succeeded Money captured, fee deducted.
processing Async method (SEPA, Klarna) still clearing.
refunded Fully refunded.
partially_refunded Partial refund issued.
disputed Chargeback opened.
failed Attempt failed.

Retrieval

Fetch the parent session/invoice — the payment is embedded in its response:

GET /v1/checkout/sessions/{id}

A dedicated GET /v1/payments/{id} endpoint is planned for the next API release.

Currency & fees

Every fee is computed in EUR against your plan's rate for the actual card region and payment method, then converted back to the charge currency. See Fees, currency & minimum amounts.