Charge a saved payment method
Charges an active saved payment method off-session and captures the payment immediately. The payment method must belong to the supplied customer and authenticated merchant.
Authorization
basic Basic HTTP authentication
In: header
Header Parameters
Optional client-supplied retry key (≤255 chars; UUID v4 recommended). Don't use sensitive data — emails, PANs, or other personal identifiers. Identical requests retried with the same key return the original response (2xx and 4xx are cached). Mismatched bodies return 422; in-flight duplicates return 409. Keys are scoped per merchant + endpoint and expire after 24 hours. NOTE: on 5xx the idempotency record is discarded — retry with the same key (provider-side dedup protects against duplicate execution).
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/payments/charge-saved-method" \ -H "Content-Type: application/json" \ -d '{ "amount": 7200, "customerId": "01928e3e-7b6c-7c8e-9b3a-5b9f8b9b9b9b", "paymentMethodId": "01928e3e-7b6c-7c8e-9b3a-5b9f8b9b9bff" }'{ "paymentId": "01928e3e-7b6c-7c8e-9b3a-5b9f8b9b9b9b", "amount": 7200, "customerId": "01928e3e-7b6c-7c8e-9b3a-5b9f8b9b9bcc", "paymentMethodId": "01928e3e-7b6c-7c8e-9b3a-5b9f8b9b9bff"}{ "statusCode": 400, "error": "Bad Request", "message": [ "amount must not be less than 100" ]}{ "statusCode": 401, "error": "Unauthorized", "message": "Missing Authorization header"}{ "statusCode": 404, "error": "Not Found", "message": "Merchant not found: 01928e1c-2a4d-7c8e-8b1a-1234567890ab"}Capture an authorized payment POST
Captures the full amount of a successful, uncaptured authorization. Partial captures are not supported, and a payment that is already captured or being voided cannot be captured.
Create a checkout session POST
Creates a hosted checkout session for the total of the supplied line items and returns its URL. Payment-method saving is enabled by default and requires a customer email; set enablePaymentMethodSave to false to opt out.