Developers / Reference

API reference, version 2026-06-01

Base URL https://api.example.com. Authenticate with a bearer secret key; test keys start with sk_test_. The playground below never touches the network — it renders canned responses marked as sample data.

POST

/v1/payments

Charges a customer through the method you select. Returns the payment object with its current status.

Parameters

NameTypeRequiredDescription
amount integer Required Amount in the smallest currency unit, e.g. cents.
currency string Required Three-letter ISO code, e.g. EUR.
method string Required cards, bank_transfer, wallets, or bnpl.
reference string Optional Your order identifier, echoed in the settlement file.
return_url string Optional Where to send the customer after redirect methods.

Request

curl https://api.example.com/v1/payments \
  -u sk_test_example: \
  -d amount=4900 \
  -d currency=EUR \
  -d method=bank_transfer \
  -d reference=order-10482

Response

HTTP 201
{
  "id": "pay_8Kd2mQ",
  "object": "payment",
  "amount": 4900,
  "currency": "EUR",
  "method": "bank_transfer",
  "status": "pending",
  "reference": "order-10482",
  "created": "2026-10-26T09:14:31Z",
  "expires_at": "2026-10-28T09:14:31Z",
  "redirect_url": "https://pay.example.com/p/pay_8Kd2mQ"
}
GET

/v1/payments/{id}

Fetches the payment with its full timeline: authorization, captures, refunds, and dispute state.

Parameters

NameTypeRequiredDescription
id string Required Payment identifier, e.g. pay_8Kd2mQ.

Request

curl https://api.example.com/v1/payments/pay_8Kd2mQ \
  -u sk_test_example:

Response

HTTP 200
{
  "id": "pay_8Kd2mQ",
  "object": "payment",
  "amount": 4900,
  "currency": "EUR",
  "status": "succeeded",
  "timeline": [
    { "event": "created", "at": "2026-10-26T09:14:31Z" },
    { "event": "funds_reserved", "at": "2026-10-26T15:02:11Z" },
    { "event": "settled", "at": "2026-10-27T06:00:04Z" }
  ]
}
GET

/v1/payments

Returns payments newest first, filterable by status, method, and date range.

Parameters

NameTypeRequiredDescription
status string Optional pending, succeeded, failed, or refunded.
limit integer Optional Between 1 and 100. Defaults to 20.
starting_after string Optional Cursor for pagination.

Request

curl "https://api.example.com/v1/payments?limit=2" \
  -u sk_test_example:

Response

HTTP 200
{
  "object": "list",
  "has_more": true,
  "data": [
    { "id": "pay_8Kd2mQ", "amount": 4900, "currency": "EUR", "status": "succeeded" },
    { "id": "pay_3Fn9xR", "amount": 12900, "currency": "GBP", "status": "pending" }
  ]
}
POST

/v1/payouts

Sends funds from one of your balances to a bank account, with maker-checker approval applied per your program rules.

Parameters

NameTypeRequiredDescription
amount integer Required Amount in the smallest currency unit.
currency string Required Balance currency to debit.
destination string Required Destination account token, e.g. dest_2Lf8kP.
schedule string Optional immediate or a cut‑off name such as sepa_1600.

Request

curl https://api.example.com/v1/payouts \
  -u sk_test_example: \
  -d amount=250000 \
  -d currency=EUR \
  -d destination=dest_2Lf8kP \
  -d schedule=sepa_1600

Response

HTTP 201
{
  "id": "po_9Qw4tN",
  "object": "payout",
  "amount": 250000,
  "currency": "EUR",
  "status": "awaiting_approval",
  "schedule": "sepa_1600",
  "arrival_estimate": "2026-10-27",
  "approval": { "required": true, "approvers": 2 }
}
GET

/v1/balances

Returns every balance you hold, with available and pending amounts per currency.

Parameters

NameTypeRequiredDescription
currency string Optional Filter to one currency.

Request

curl https://api.example.com/v1/balances \
  -u sk_test_example:

Response

HTTP 200
{
  "object": "list",
  "data": [
    { "currency": "EUR", "available": 12840255, "pending": 310400 },
    { "currency": "GBP", "available": 4021880, "pending": 0 },
    { "currency": "USD", "available": 9615300, "pending": 88900 }
  ]
}
POST

/v1/cards

Creates a virtual card with spend controls that are enforced at authorization.

Parameters

NameTypeRequiredDescription
currency string Required Settlement currency for the card.
limit_amount integer Optional Per-period spend limit in the smallest currency unit.
limit_period string Optional daily, monthly, or lifetime.
allowed_categories array Optional Merchant category codes allowed on this card.

Request

curl https://api.example.com/v1/cards \
  -u sk_test_example: \
  -d currency=EUR \
  -d limit_amount=50000 \
  -d limit_period=monthly \
  -d allowed_categories[]=saas

Response

HTTP 201
{
  "id": "card_5Tr7vB",
  "object": "card",
  "currency": "EUR",
  "status": "active",
  "limit": { "amount": 50000, "period": "monthly" },
  "pan_last4": "4417",
  "secrets_url": "https://dashboard.example.com/cards/card_5Tr7vB/reveal"
}

Playground

Send a demo request

Static and offline: the response is canned sample data rendered after a short delay. Nothing is sent anywhere.

Choose an endpoint, then send the demo request.