POST /subscriptions/v1/card-async/tokens with the currency, email, and the URL to return the customer to after registration.{
"currency": "CLP",
"email": "user@example.com",
"callbackUrl": "https://yoursite.com/subscription/return"
}token valid for 30 minutes.⚠️ PCI note: You may optionally include cardNumberdirectly in this request, but only if your backend is PCI DSS compliant.
POST /subscriptions/v1/card-async/init with the token, plan details, amount, and billing start date. The response returns a redirectUrl and subscriptionId.{
"token": "AbCDef123456Z7Ghi8901234jkLMNopQ",
"planName": "Plan Mensual",
"periodicity": "monthly",
"startDate": "2026-06-01",
"amount": {
"subtotalIva": 0,
"subtotalIva0": 10000,
"iva": 0,
"ice": 0,
"currency": "CLP"
},
"contactDetails": {
"documentType": "RUT",
"documentNumber": "12345678-9",
"firstName": "Catalina",
"lastName": "Fuentes",
"email": "user@example.com",
"phoneNumber": "+56912345678"
},
"language": "es",
"fullResponse": "v2"
}{
"subscriptionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"redirectUrl": "https://webpay.transbank.cl/..."
}💡 Store the subscriptionId— you need it for all future charges, authorizations, and management operations.
redirectUrl. They authenticate and authorize the card registration on Transbank's portal, then are redirected back to your callbackUrl.POST /subscriptions/v1/card/{subscriptionId} — on-demand chargeGET /subscriptions/v1/card/search/{subscriptionId} — get subscription infoPATCH /subscriptions/v1/card/{subscriptionId} — update planDELETE /subscriptions/v1/card/{subscriptionId} — cancelperiodicity and startDate.POST /subscriptions/v1/card/{subscriptionId}/authorize — Reserves funds on the registered card. No Webpay redirect needed — the card is already on file.{
"amount": {
"subtotalIva": 0,
"subtotalIva0": 10000,
"iva": 0,
"ice": 0,
"currency": "CLP"
},
"name": "Catalina",
"lastName": "Fuentes",
"email": "user@example.com",
"fullResponse": "v2"
}ticketNumber.POST /subscriptions/v1/card/{subscriptionId}/capture — Capture the reserved amount within 7 days.{
"ticketNumber": "319228478889680318",
"amount": {
"subtotalIva": 0,
"subtotalIva0": 10000,
"iva": 0,
"ice": 0,
"currency": "CLP"
},
"fullResponse": "v2"
}| Currency | Code | Notes |
|---|---|---|
| Chilean Peso | CLP | Integer amounts only — no decimal places |
| Unidad de Fomento | UF | Indexed currency unit |
| Value | Description |
|---|---|
daily | Every 1 day |
weekly | Every 7 days |
biweekly | Every 15 days |
monthly | Every 30 days |
threefortnights | Every six weeks (42 days) |
bimonthly | Every 60 days |
quarterly | Every 90 days |
fourmonths | Every 120 days |
halfYearly | Every 180 days |
yearly | Every 360 days |
custom | Custom recurring interval |
retryConfiguration:{
"retryConfiguration": {
"retryType": "fixed",
"value": [5, 15, 25]
}
}retryType | Behavior |
|---|---|
scheduled | Retries every N days for the entire billing period |
fixed | Retries only on specific days of the month |
| Async Card Recurring | Standard One-Click | |
|---|---|---|
| Registration | Customer redirected to Transbank/Webpay | Token-based, no redirect |
| Processor | Transbank (Webpay) | Direct card network |
| Authorize/Capture | No redirect — uses saved card | No redirect — uses saved card |
| Chile only | ✅ Yes | ✅ Yes (via Webpay integration) |
https://api.kushkipagos.com/Got a suggestion on this documentation? Contact us.