GET /transfer/v1/bankList to retrieve the list of available banks. In Chile this step is optional — you only need it if you want to display a bank selector to the customer before initiating the transfer.POST /transfer/v1/tokens with the amount, callback URL, and customer identification. Returns a one-time token.{
"amount": {
"subtotalIva": 0,
"subtotalIva0": 10000,
"iva": 0
},
"callbackUrl": "https://yoursite.com/transfer/return",
"documentType": "RUT",
"documentNumber": "12345678-9",
"email": "user@example.com",
"currency": "CLP"
}| Field | Required | Notes |
|---|---|---|
amount | ✅ | CLP integer amounts only |
callbackUrl | ✅ | URL to redirect the customer after payment |
documentType | ✅ | CC, PP, or RUT |
documentNumber | ✅ | Customer's ID number |
email | ✅ | Customer email for transaction notifications |
currency | ✅ | CLP |
userType | Optional | "0" = Natural person, "1" = Company |
bankId | Optional | Pre-select a bank for the customer |
paymentDescription | Optional | Description shown in the customer's bank statement |
POST /transfer/v1/init with the token and amount. The response contains a redirectUrl — send the customer there to complete the payment at their bank portal.{
"token": "AbCDef123456Z7Ghi8901234jkLMNopQ",
"amount": {
"subtotalIva": 0,
"subtotalIva0": 10000,
"iva": 0
},
"fullResponse": "v2"
}{
"redirectUrl": "https://bank.cl/authorize/...",
"transactionReference": "6f16659e-b711-4995-a9ae-161aecbd6521"
}callbackUrl when finished.GET /transfer/v1/status/{token} to get the final transaction result. Use the token from Step 2 as the path parameter.{
"status": "approvedTransaction",
"ticketNumber": "319228478889680318",
"documentType": "RUT",
"documentNumber": "12345678-9"
}| Currency | Code | Notes |
|---|---|---|
| Chilean Peso | CLP | Integer amounts only — no decimal places |
| Value | Description |
|---|---|
CC | Cédula de Identidad 🇨🇱 |
PP | Pasaporte 🇨🇱 |
RUT | Rol Único Tributario 🇨🇱 |
| Status | Description |
|---|---|
initializedTransaction | Transaction created — customer redirected to bank |
approvedTransaction | Transfer completed and confirmed |
declinedTransaction | Transfer was rejected |
webhooks object in your init request to receive real-time notifications when the transfer status changes:{
"webhooks": {
"events": ["approvedTransaction", "declinedTransaction"],
"urls": ["https://yoursite.com/kushki/notify"]
}
}https://api.kushkipagos.com/Got a suggestion on this documentation? Contact us.