v20

latestOpenAPI 3.0.0raw.githubusercontent.com2026-07-214885191.3 KB
Payment Intents

Create a payment intent

Creates a new payment intent for a customer to purchase a plan. Requires an idempotency key to prevent duplicate charges. Returns client secret and publishable key needed for frontend integration.

post/v1/sdk/payment-intents

Headers

idempotency-keystring required

Unique idempotency key to prevent duplicate payments (required)

Request body

amountinteger
currencystring
customerRefstring required
descriptionstring
planRefstring
pricingTierstring
productRefstring
purpose'product' | 'credit_topup' | 'usage_billing'

Response

Payment intent created successfully

accountIdstring

Connected Stripe account ID (only present on create)

amountnumber required

Amount in the charge currency (minor units)

clientSecretstring required

Client secret used to confirm the payment on the client

createdAtstring

Creation timestamp

currencystring required

ISO 4217 currency code

customerRefstring

Customer reference

exchangeRatenumber

Exchange rate applied to the amount

expiresAtstring

Expiry timestamp of the payment intent

originalAmountnumber

Original amount in the payment currency (minor units)

planRefstring

Plan reference

processorPaymentIdstring required

Payment processor payment intent ID

publishableKeystring required

Stripe publishable key for the environment

statusstring required

Payment intent status

transactionIdstring

Ledger transaction ID

Example response

{
  "accountId": "acct_1A2B3C4D",
  "amount": 4999,
  "clientSecret": "pi_1a2b3c4d5e6f7g8h_secret_AbCdEf123456",
  "createdAt": "2025-10-18T10:30:00.000Z",
  "currency": "usd",
  "customerRef": "cus_3c4d5e6f7g8h",
  "exchangeRate": 1,
  "expiresAt": "2025-10-19T10:30:00.000Z",
  "originalAmount": 4999,
  "planRef": "pln_2b3c4d5e6f7g",
  "processorPaymentId": "pi_1a2b3c4d5e6f7g8h",
  "publishableKey": "pk_test_...",
  "status": "requires_payment_method",
  "transactionId": "507f1f77bcf86cd799439011"
}