POST /subscriptions/v1/card/tokens with the card data and currency. Returns a one-time token used to create the subscription.{
"card": {
"name": "Catalina Fuentes",
"number": "5451951574925480",
"expiryMonth": "05",
"expiryYear": "28",
"cvv": "123"
},
"currency": "CLP"
}POST /subscriptions/v1/card with the token, plan details, and contact information. Kushki runs a small validation charge and automatically reverses it — this confirms the card can be charged.{
"token": "gV3ox6100000sAxClU033646vnnJsT83",
"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"
}
}subscriptionId — store it to manage future charges.startDate before this time if you want the first charge on the same day.startDate.retryConfiguration:retryType | Behavior |
|---|---|
schedule | Retries every N days for the entire period |
fixed | Retries only on specific days of the month |
{
"retryConfiguration": {
"retryType": "fixed",
"value": [5, 15, 25]
}
}POST /subscriptions/v1/card/{subscriptionId}{
"amount": {
"subtotalIva": 0,
"subtotalIva0": 10000,
"iva": 0,
"ice": 0,
"currency": "CLP"
}
}| Currency | Code | Notes |
|---|---|---|
| Chilean Peso | CLP | Integer amounts only — no decimal places |
| Unidad de Fomento | UF | Indexed currency unit |
10000.50 returns 400 Bad Request.| Value | Description |
|---|---|
CC | Cédula de Identidad 🇨🇱 |
PP | Pasaporte 🇨🇱 |
RUT | Rol Único Tributario 🇨🇱 |
⚠️ Beta: Cuotas Comercio requires creditType: "03"and is currently in Beta phase for Chile. Contact the Kushki team to enable it.
deferred object inside the charge request:{
"amount": {
"subtotalIva": 0,
"subtotalIva0": 30000,
"iva": 0,
"ice": 0,
"currency": "CLP"
},
"deferred": {
"creditType": "03",
"months": 6
}
}POST /subscriptions/v1/card/{subscriptionId}/authorize — Reserves funds on the registered card. Returns a ticketNumber.POST /subscriptions/v1/card/{subscriptionId}/capture — Captures the reserved amount. Pass the ticketNumber from the pre-authorization.| Operation | Endpoint | Description |
|---|---|---|
| Get info | GET /subscriptions/v1/card/search/{subscriptionId} | Retrieve current status and configuration |
| Update card | PUT /subscriptions/v1/card/{subscriptionId}/card | Replace the card without canceling the subscription |
| Update plan | PATCH /subscriptions/v1/card/{subscriptionId} | Modify amount, frequency, or dates |
| Add temporary charge | PUT /subscriptions/v1/card/{subscriptionId} | Apply a one-time extra charge or discount to the next cycle |
| Cancel | DELETE /subscriptions/v1/card/{subscriptionId} | Cancel and deactivate the subscription |
| 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 | For one-click (on-demand) payments |
Idempotency-Key header to safely retry operations:| Rule | Detail |
|---|---|
| Validity window | 24 hours |
| Maximum length | 56 characters |
| Format | UUIDv4 recommended |
https://api.kushkipagos.com/Got a suggestion on this documentation? Contact us.