S2S Payment using Card Token
Charge a previously saved card by sending cardToken instead of the full PAN.
Get cardToken from Get Saved Card Tokens. Still send secret (CVV). customerToken is required for this flow. To send both tokens explicitly with saveCard, see S2S Payment with Card Token and Customer Token.
Endpoint Information
Name: S2S Payment using Card Token
Method: POST
URL: {{base_url}}/api/v1/payment/process-transaction
Authentication
Type: Basic Auth
- Username: App Key
- Password: Secret Key
Request Body
Content-Type: application/json
{
"reference": "test26080001",
"customerToken": "{{customerToken}}",
"currency": "USD",
"amount": "100.00",
"ttl": 5,
"tagName": "Tag",
"webhookUrl": "https://example.test",
"merchantAccountId": "{{merchantAccountId}}",
"cardToken": "{{cardToken}}",
"secret": "123",
"customerBrowserUserAgent": "Mozilla 52.0",
"customerIP": "127.0.0.1"
}
Do not send card, expiryDate, or cardName when paying with cardToken.
Key Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
reference | string | Yes | Unique payment reference (10+ characters, no special characters) |
customerToken | string | Yes | Customer token associated with the saved card |
cardToken | string | Yes | Saved card token from Get Saved Card Tokens |
secret | string | Yes | CVV/CVC |
currency | string | Yes | ISO 4217 currency code |
amount | string | Yes | Transaction amount |
merchantAccountId | string | Yes | Your merchant account ID |
customerBrowserUserAgent | string | Yes | Browser user agent (used for 3DS) |
customerIP | string | Yes | Customer IP address (used for 3DS) |
ttl | number | No | Time to live in minutes |
tagName | string | No | Optional tag for the payment |
webhookUrl | string | No | URL for payment status notifications |
Response
Success Response (3DS redirect)
When 3DS is required, redirect the customer to redirect_to.
{
"success": true,
"message": "Payment Request Processing",
"data": {
"success": true,
"reference": "6be4b237-ca3f-47c2-890b-411b7a54e121",
"reference_id": "6be4b237-ca3f-47c2-890b-411b7a54e121",
"container_type": "redirect",
"redirect_to": "https://api.sandbox.checkout.com/sessions-interceptor/sid_rl64ulqb5v6ytnjorexz55rwfm",
"errors": []
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
data.reference | string | Payment reference |
data.reference_id | string | Internal reference ID |
data.container_type | string | redirect when 3DS is required |
data.redirect_to | string | 3DS / session URL. Redirect the customer here when not null |