Create a new payment
Initiates a payment request for processing. Returns immediately with an accepted response; the payment is processed asynchronously.
payment_instrument accepts three shapes at the gateway:
{ "id": "<instrument_id>" }— use an existing instrument{ "payment_method", "pan_data", ... }— gateway tokenizes card data first{ "payment_method", "data", ... }— gateway tokenizes encrypted payload first
Inline tokenization requires customer.id. The payment service always receives
payment_instrument.id after gateway processing.
Authorizations
API key for service-to-service or merchant authentication.
Headers
Unique identifier for request tracing. Generated by the client or server if not provided.
"550e8400-e29b-41d4-a716-446655440000"
Unique key for idempotent request processing. Duplicate requests with the same key are safely ignored.
"baf6a8e2-0c89-46ef-9ca5-faa65b99bcd5"
Body
Create a new payment
- Existing instrument
- Inline PAN data
- Encrypted instrument data
Pay with a previously tokenized instrument. The gateway forwards
payment_instrument.id as-is; customer is optional.
Payment amount in minor units (e.g. 10000 for 100.00 SAR)
x >= 110000
Currency code (ISO 4217)
"SAR"
Device information (required for 3DS and risk assessment)
Reference an existing tokenized payment instrument by ID.
Processing details
Capture options
Order details
Customer details
3DS settings
Risk assessment data
Return URLs
Additional metadata
{ "custom_field": "value" }Channel ID for the payment
"019859f8-3149-7a55-8211-a8179675d269"