Card Async es un método de pago exclusivo de Chile que procesa transacciones con tarjeta a través del portal Webpay de Transbank. A diferencia del flujo de tarjeta estándar, el cliente se redirige al portal de Transbank para autenticarse y completar el pago — tu servidor recibe el resultado de forma asíncrona.
Solo Chile 🇨🇱
Este servicio está disponible únicamente en Chile. Requiere una integración Transbank/Webpay activa y habilitada en tu cuenta de Kushki.
Llama a POST /card-async/v1/tokens con el monto total, la URL de retorno y la moneda. Devuelve un token de un solo uso.
{"totalAmount":10000,"returnUrl":"https://yoursite.com/payment/return","currency":"CLP","email":"user@example.com","description":"Compra en Mi Comercio Chile"}
⚠️ Vigencia del token: Los tokens vencen en 30 minutos y solo se pueden usar para una única transacción. Solicita un token nuevo cuando venza.
2
Inicia la transacción
Llama a POST /card-async/v1/init con el token y el monto. La respuesta devuelve un redirectUrl — envía ahí a tu cliente para que complete el pago en el portal Webpay de Transbank.
El cliente se autentica y confirma el pago en el portal de Transbank. Al terminar, Transbank lo redirige de vuelta a tu returnUrl.
4
Consulta el estado de la transacción
Llama a GET /card-async/v1/status/{token} para obtener el resultado final. Usa el token del paso 1 como parámetro de ruta.Una respuesta exitosa incluye:
Usa la preautorización para reservar fondos sin capturarlos de inmediato — por ejemplo, en flujos de hotelería, arriendo o marketplace.
Límite de captura de 7 días
Tienes un máximo de 7 días calendario para capturar después de una preautorización. Pasado ese plazo, Transbank libera automáticamente los fondos reservados. Este límite no se puede extender.
1
Solicita un token
Igual que en un cargo normal — llama a POST /card-async/v1/tokens con el monto a reservar.
2
Preautoriza
POST /card-async/v1/preAuthorization — Devuelve un redirectUrl para redirigir al cliente a Transbank.
El cliente se redirige al portal de Transbank y confirma la retención.
4
Consulta el estado y el ticketNumber
GET /card-async/v1/status/{token} — Cuando el cliente regrese, consulta este endpoint para confirmar la autorización y obtener el ticketNumber que necesitas para la captura.
5
Captura
POST /card-async/v1/capture — Cobra los fondos reservados usando el ticketNumber de la respuesta de estado. Debes hacerlo dentro de 7 días calendario.