# Payments, capture and refunds

How a payment moves through Kling, from authorisation to capture and refund, and how to charge a saved card in Iceland with the payment intents API.

Every payment in Kling is a payment intent, whether it started in a checkout session, a payment link, a subscription or a direct API call. This page covers its lifecycle and how to charge a saved card, capture later and refund.

## Lifecycle

| Status | Meaning |
|---|---|
| `requires_payment_method` | Created, waiting for a card. |
| `requires_action` | The customer must finish a step, such as 3-D Secure in their bank app. |
| `authorized` | The money is reserved on the card but not yet taken. |
| `pending_settlement` | Approved and being settled. Treat it as a success. |
| `captured` | Paid. |
| `awaiting_claim` | An [online bank claim](https://kling.is/en/docs/bank-claims) was sent and is waiting to be paid. |
| `failed` | Declined or failed. The error `code` says why, e.g. `card_declined_insufficient_funds`. |
| `canceled` | An authorisation was released before capture. |
| `partially_refunded`, `refunded` | Part or all of the payment was returned. |

## Capture now or later

By default a payment is authorised and captured in one step. That suits services, digital goods and subscriptions.

To reserve the money first and take it later, for example when the order ships, create the checkout session or payment intent with `"capture": false`. Then:

- `POST /v1/payment-intents/{id}/capture` takes the money. Send `amount` to capture less than was authorised, for example when an item is out of stock.
- `POST /v1/payment-intents/{id}/cancel` releases the reservation.

## Charge a saved card

When a customer has saved a card (checkout with `save_payment_method`, or a subscription), you can charge it again without them:

```bash
curl -X POST https://api.kling.is/v1/payment-intents \
  -H "Authorization: Bearer $KLING_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: renewal-2026-10-cus_123" \
  -d '{
    "amount": 2990,
    "customer": "cus_...",
    "payment_method": "pm_...",
    "description": "Monthly box, October"
  }'
```

Required: `amount`, `customer`, `payment_method`. Optional: `currency`, `capture`, `description`, `statement_descriptor` (up to 22 characters, shown on the card statement) and `metadata`.

## Refunds

`POST /v1/payment-intents/{id}/refund` returns money from a captured payment. Leave out `amount` for a full refund, or send it for a partial one. You can refund several times, up to what was paid. You can also refund from the payment's page in the dashboard.

## Card processors

Card payments in Kling run through Straumur, Verifone or Rapyd, depending on your account. Kling applies to the acquirer for you, and the API is the same whichever one you use. Apple Pay is available on Straumur and can be switched on for Verifone; Google Pay is available on Straumur.
