Private-Merchant-Id). Never expose it in client-side or frontend code — always call the token endpoint from your backend.POST /card/v1/tokens from your backend with the card data and transaction amount. The response returns a one-time token valid for a single charge.{
"card": {
"name": "Juan Pérez",
"number": "4242424242424242",
"expiryMonth": "08",
"expiryYear": "28",
"cvv": "123"
},
"totalAmount": 100.00,
"currency": "USD"
}⚠️ Token expiry: Tokens are single-use and expire after a short window. Use them immediately — never store them.
POST /card/v1/charges with the token and the amount breakdown. Include contactDetails and, optionally, orderDetails for fraud scoring.{
"token": "f5c64f7ac8ea42d5a58dcdc74de973dc",
"amount": {
"subtotalIva": 89.29,
"subtotalIva0": 0,
"ice": 0,
"iva": 10.71,
"currency": "USD"
},
"contactDetails": {
"documentType": "CID",
"documentNumber": "1712345678",
"firstName": "Juan",
"lastName": "Pérez",
"email": "user@example.com"
}
}ticketNumber and transactionReference. Store both for reconciliation, voids, and refunds.code/message fields. On approval, deliver the goods or service. On decline, surface the error to the buyer and allow a retry with a new token.USD). Send the full amount breakdown so taxes are reported correctly:| Field | Description |
|---|---|
subtotalIva | Amount subject to IVA (VAT). |
subtotalIva0 | Amount not subject to IVA. |
ice | Special consumption tax (ICE), if applicable. |
iva | IVA (VAT) amount. |
currency | Always USD. |
| Type | Description |
|---|---|
CID | Cédula de identidad. |
RUC | Registro Único de Contribuyentes. |
PASSPORT | Passport (foreign cardholders). |
corriente, diferido con interés, and diferido sin interés, with optional grace months.GET /card/v1/deferred/{bin} with the card BIN to retrieve the deferred options the issuer allows (months, creditType, graceMonths).POST /card/v1/charges including the deferred object:{
"token": "f5c64f7ac8ea42d5a58dcdc74de973dc",
"amount": { "subtotalIva": 89.29, "subtotalIva0": 0, "ice": 0, "iva": 10.71, "currency": "USD" },
"deferred": {
"creditType": "03",
"graceMonths": 2,
"months": 12
}
}POST /rules/v1/secureValidation before completing the charge.| Operation | Endpoint | When to use |
|---|---|---|
| Void | DELETE /v1/charges/{ticketNumber} | Cancel a charge the same day, before settlement. |
| Refund | DELETE /v1/refund/{ticketNumber} | Return funds after the transaction has settled. |
GET /card/v1/bin/{bin} — BIN info.GET /deferred/v2/bin/{bin} — BIN info v2, including deferred eligibility.externalSubscriptionID in POST /card/v1/charges. In Ecuador this field is used without originalTransactionID or citMit.Private-Merchant-Id header. Generate tokens and charges only from your backend.| Method | Path | Description |
|---|---|---|
POST | /card/v1/tokens | Request a card token |
POST | /card/v1/charges | Make a charge or deferred charge |
GET | /card/v1/deferred/{bin} | Request deferred options |
POST | /rules/v1/secureValidation | Validate OTP |
GET | /card/v1/bin/{bin} | BIN info |
GET | /deferred/v2/bin/{bin} | BIN info v2 |
DELETE | /v1/charges/{ticketNumber} | Void a transaction |
DELETE | /v1/refund/{ticketNumber} | Refund a transaction |