Skip to main content
The card method supports stored credentials (the card brands’ COF mandate): your payer saves their card with explicit consent on the first payment, and afterwards you can offer one-click payment without re-typing the number — or charge subscriptions and unscheduled amounts yourself without the payer present. The card number never exists in your integration or on the platform: only an opaque processor reference plus display data (brand, last 4 digits, expiry) is stored.
1

Seed: offer to save the card on the first payment

Create the card payin with save_card: true and your payer reference:
The hosted page shows a “Save this card for future payments” checkbox. The credential is stored ONLY if the payer ticks it and the 3-D Secure payment is approved. On credit you receive the card_stored webhook and the card appears in your list.
2

List the payer's cards

3

Pay with a saved card (payer present)

Create the card payin with stored_card_id: the page skips card entry, shows the saved card (VISA •••• 2701) and 3-D Secure still runs — the payer only confirms with their bank. The billing details the payer entered when saving the card are also kept on file: the page applies them automatically and shows only a masked summary (name, partial email, city) with a “use different details” link in case they want to change them — nothing is retyped. On the public checkout page, paying with a saved card additionally requires entering the same cardholder email it was saved with (a mismatch responds 404).
4

Recurring / unscheduled charge (payer not present)

Charge the card directly — subscriptions (recurring: true) or unscheduled amounts your customer agreed to:
Response 201 — an approved charge credits your balance automatically (payin_credited webhook, same path as any card payin):
An issuer decline responds 422 with the payin in failed and a failure_reason. A retry with the same idempotency_key returns the original payin and never charges twice.
To revoke a saved card (at the payer’s request or on suspicion): DELETE /v1/stored-cards/{stored_card_id} — charges stop working immediately and you receive stored_card_revoked (422 stored_card_revoked if you try to charge it afterwards).
Charges without the payer present travel without 3-D Secure by definition of the mandate: the chargeback risk is yours. Charge only what your customer explicitly agreed to — the platform persists the seed’s consent evidence (checkbox, IP and timestamp) for disputes.

Subscriptions (scheduled recurring charges)

Instead of charging manually every month, let the platform run the schedule: create a subscription on the saved card — the first period is charged on creation (unless start_at is in the future) and the rest fire automatically per interval.
Response 201 (first_charge is present when the first period was charged on creation):
  • interval: daily, weekly, monthly or yearly. The day of month is kept and clamped to the last day in short months (a plan on the 31st charges on Feb 28/29 and returns to the 31st in March).
  • start_at (optional, future RFC3339): defers the first charge (trial / start date); without it, it charges on creation.
  • Dunning: on an issuer decline the platform retries every 24h up to 3 times; exhausted, the subscription becomes past_due and you get the subscription_status_changed webhook. resume reactivates it with a fresh attempt.
  • Each successful charge credits your balance like any card payin (payin_credited webhook, carrying subscription_id to link it to the plan).
Lifecycle management:
Revoking the saved card (DELETE /v1/stored-cards/{id}) automatically cancels its subscriptions (cancel_reason: card_revoked).

Subscription states

Errors

The general error catalog lives in Errors.

FAQ

Never. Saving a card stores an opaque network token — the PAN never touches the platform. Revoking the credential invalidates the token.
Merchant-initiated transactions (MIT) run without 3DS by card-network mandate: the payer authenticated with 3DS on the initial consented payment, and every MIT references that transaction.
They are canceled automatically (card_revoked). The payer must save the card again and you create a new subscription.
No — there is no catch-up: periods elapsed while paused advance the counter without charging. Resuming charges from the next due period only.
The scheduler retries up to 3 times, 24 h apart. If all fail the plan moves to past_due and you receive subscription_status_changed — no more charges until you resume.
Synchronously at creation, unless you pass a future start_at (trial): then the first charge waits for that date.
Last modified on July 25, 2026