Skip to main content
POST
cURL
Charge a customer’s vaulted payment method off-session. Calculates tax, generates an invoice, and sends a receipt. Requires the customer to have a subscription in active, trialing, or past_due state.

Authorizations

x-api-key
string
header
required

Headers

Idempotency-Key
string

Unique key used to safely retry this write for 24 hours without applying it twice.

Required string length: 1 - 200
Commet-Version
string
default:2026-08-27

API version used by this reference. Send this header to select this contract explicitly.

Body

application/json
customerId
string
required
Minimum string length: 1
amount
integer
required
Required range: x <= 9007199254740991
currency
string
required
Minimum string length: 1
description
string
required
Minimum string length: 1
metadata
object

Response

Success

paymentContext
object | null
required

Charge context captured for new payments. Null for historical payments with no captured context.

id
string
required
customerId
string | null
required
kind
enum<string>
required
Available options:
link,
charge
status
enum<string>
required
Available options:
pending,
processing,
succeeded,
requires_action,
failed,
canceled
provider
enum<string>
required
Available options:
stripe,
commet,
dlocal
amountSubtotal
integer
required
Required range: -9007199254740991 <= x <= 9007199254740991
taxAmount
integer
required
Required range: -9007199254740991 <= x <= 9007199254740991
amountTotal
integer
required
Required range: -9007199254740991 <= x <= 9007199254740991
currency
string
required
description
string
required
metadata
object | null
required
url
string | null
required
expiresAt
string<date-time> | null
required
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
object
string
required
Allowed value: "payment"
livemode
boolean
required