kepa

Online payments

Three ways to take a card-not-present payment, by how much card data your server handles.

The shape is always the same

Whichever method, your server creates a payment intent with a secret key and gets back a client secret. Where the card is entered is the only thing that changes: a hosted page, your page via Elements, or your server. Fulfil on the webhook, never the browser callback.

Reuse a card

Set setupFutureUsage on the intent to save the card as a payment method. Charge it later from your server for rebills, or put it on a subscription for recurring billing.

Orchestration is automatic

Retries, cascading, and failover across acquirers happen for you — a soft decline is retried, a down acquirer is routed around. There is nothing to wire up; it runs behind every charge.