Skip to content

Create a payment intent

POST
/api/v1/payments
curl --request POST \
--url https://example.com/api/v1/payments \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '{ "customerId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "amount": 4900, "currency": "usd", "idempotencyKey": "example" }'
Media typeapplication/json
object
customerId
required

Local customer id (UUID)

string format: uuid
amount
required

Amount in smallest currency unit (cents)

number
>= 1

Example

4900
currency
required
string
>= 3 characters <= 3 characters

Example

usd
idempotencyKey

Pass the same key on retries to guarantee the charge is created at most once

string
Media typeapplication/json
object
payment
required
object
id
required
string
stripePaymentIntentId
required
string
customerId
required
string
amount
required

Smallest currency unit (cents)

number
currency
required
string
status
required
string
Allowed values: requires_payment_method requires_confirmation requires_action processing succeeded canceled refunded
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
clientSecret
required
string
nullable

Example

{
"payment": {
"status": "requires_payment_method"
}
}