1. Online Payments
Español
  • English
  • Español
  • Docs de API 🇨🇱
  • Online Payments
    • Errores ISO
    • Errores del API de Kushki
    • Notas de versión
    • Card Payments
      • Solicitar un token de tarjeta
      • Hacer un cargo o cargo diferido
      • Crear pago (sin token)
      • Anular una transacción
      • Reembolsar una transacción
      • Solicitar opciones de diferido
      • Autorizar pagos
      • Preautorización (sin token)
      • Reautorizar pagos
      • Capturar un pago autorizado
      • Verificar cuenta
      • Validar OTP
      • Información de BIN V2
      • Información de BIN
      • Voucher
    • One-Click & Scheduled Payments
      • Solicitar un token de cargo recurrente
      • Crear un cargo recurrente
      • Actualizar los datos de la tarjeta del cargo recurrente
      • Hacer un pago One-click
      • Cancelar un cargo recurrente
      • Actualizar un cargo recurrente
      • Agregar un cargo o descuento temporal
      • Autorizar pagos
      • Capturar un pago autorizado
      • Consultar información del cargo recurrente
    • Card Async
      • Solicitar un token de Card Async
      • Iniciar transacción
      • Autorizar pagos
      • Capturar un pago autorizado
      • Consultar estado
    • Async Card Recurring Charges
      • Solicitar un token de cargo recurrente con tarjeta asíncrono
      • Iniciar un cargo recurrente con tarjeta asíncrono
      • Autorizar pagos
      • Capturar un pago autorizado
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Transfer In
      • Consultar lista de bancos
      • Solicitar un token de Transfer In
      • Iniciar transacción
      • Consultar estado
    • Transfer Out
      • Consultar lista de bancos
      • Consultar lista de bancos V2
      • Solicitar un token de Transfer Out
      • Iniciar transacción
      • Consultar estado
      • Saldo para payouts
    • Cash In
      • Solicitar un token de Cash In
      • Iniciar transacción
      • Estado de la transacción
    • Smartlinks V2
      • Crear un Smartlink
      • Consultar un Smartlink
      • Eliminar un Smartlink
      • Actualizar un Smartlink
    • Payment Button
      • Crear un Payment Button
    • Analytics
      • Consultar listado de transacciones v2
    • Status
      • Consultar estado de la plataforma
      • Consultar estado del gateway
    • Subscription Transactions
      • Consultar transacciones de suscripción
    • Payment Credentials
      • Crear una credencial
      • Buscar credenciales
      • Actualizar credencial
      • Regenerar una credencial
      • Eliminar credencial
      • Activar o desactivar
      • Búsqueda avanzada
    • Settlement
      • Consultar liquidación
    • Fraud Report
      • Consultar alertas de fraude
  • API Raw Card Present Payments 🇨🇱
    • Notas de versión
    • Catálogo de errores
    • Datos de prueba
    • Proceso de intercambio de llaves
    • El objeto Amount
    • One-time payments
      • Pago único
    • Two-step-payments
      • Autorización y captura
    • Voids & Refunds
      • Reembolsar una transacción
      • Anular y reversar
    • Card information
      • Consultar información de BIN
      • Información de BIN V2
      • Solicitar opciones de diferido
    • Query Transactions
      • Búsqueda de transacciones
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Webhooks
      • Introducción
      • Buenas prácticas
      • Reembolsos
      • Pagos con tarjeta
      • Revisa tus webhooks
    • Fraud Report
      • Consultar alertas de fraude
  • Kushki One
    • Error Catalog
    • Release notes
    • Transaction Examples
    • Webhooks
    • Cloud Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • Abort
        • Search
          • Transaction Search
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
      • Print
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • Abort
        • Search
          • Transaction Search — Online
          • Transaction Search — Local
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
          • Abort (Async)
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • Appian - Submerchant Register
    • Release notes
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Submerchant Document Upload
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • documentType
    • ChargebackListResponse
    • Channel
    • TransactionResponse
    • PrintJobRequest
    • one-and-two-step-payment-1
    • one-and-two-step-payment-1
    • Card Present (CP)
    • Card
    • Amount-cash-in
    • SubscriptionTransactionsResponse
    • SettlementDateRangeRequest
    • StatusComponent
    • FraudAlertRequest
    • amount
    • extra_taxes
    • ChargebackItem
    • SubscriptionTransaction
    • RawResponse
    • CommandText
    • Card Not Present (CNP)
    • one-and-two-step-payment-11
    • networkToken
    • FraudAlertResponse
    • card
    • ErrorResponse400
    • CardData
    • CommandColumns
    • FraudAlertRecord
    • Amount-CL
    • webhooks
    • SettlementResponse
    • webhooksItem
    • headers
    • ErrorResponse401
    • SettlementRecord
    • LinkFailure
    • ColumnItem
    • Amount
    • currency
    • ValidationError
    • card_details
    • transactionType
    • enc_tlv
    • ErrorResponse403
    • CommandDivider
    • TransactionEvent
    • ErrorResponse
    • Country
    • binInfo
    • ErrorResponse500
    • payment_method
    • CommandFeed
    • TransactionStatus
    • extraTaxes
    • Deferred
    • deferred
    • CommandSpace
    • ReadingType
    • SubscriptionUpdate
    • pos_details
    • ContactDetails
    • Language
    • sub_merchant
    • CommandCut
    • FailureReason
    • contact_details
    • metadata
    • CommandImage
    • EventTerminal
    • Subscription
    • orderDetails
    • TransactionSearchRequest
    • CommandQR
    • EventOperation
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • EventAmount
    • Billing-Address
    • EventExtraTaxes
    • PrintJobAccepted
    • PrinterError
    • EventMetadata
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • AmountCore
    • webhooksChargeback
    • ExtraTaxes
    • PrintWebhookPayload
    • Metadata
    • AmountWithTip
    • citMit
    • TransactionSearchBody
    • TransactionSearchOnlineBody
    • network
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • TransactionEvent_2
    • messageFields
    • UnexpectedErrorResponse
    • FailureReason_2
    • EventTerminal_2
    • ExternalReferenceId
    • EventOperation_2
    • ExternalSubscriptionId
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • product
    • SettlementTicketRequest
    • TransactionEvent_21
    • TransactionStatus2
    • ReadingType3
    • FailureReason_24
    • EventTerminal_25
    • EventOperation_26
    • EventAmount_27
    • EventMetadata_28
    • EventExtraTaxes_29
    • PrintWebhookPayload10
    • TransactionEvent11
    • FailureReason12
    • EventTerminal13
    • EventOperation14
    • EventAmount15
    • EventMetadata16
    • EventExtraTaxes17
    • TransactionEvent_22
    • TransactionStatus3
    • ReadingType4
    • FailureReason_25
    • EventTerminal_26
    • EventOperation_27
    • EventAmount_28
    • EventMetadata_29
    • EventExtraTaxes_210
    • PrintWebhookPayload11
    • TransactionEvent12
    • FailureReason13
    • EventTerminal14
    • EventOperation15
    • EventAmount16
    • EventMetadata17
    • EventExtraTaxes18
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
  1. Online Payments

Card Async

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.

Cómo funciona#

1
Solicita un token de Card Async
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.
{
  "token": "AbCDef123456Z7Ghi8901234jkLMNopQ",
  "amount": {
    "subtotalIva": 0,
    "subtotalIva0": 10000,
    "iva": 0,
    "ice": 0,
    "currency": "CLP"
  },
  "webhooks": ["https://yoursite.com/kushki/notify"],
  "fullResponse": "v2"
}
Respuesta:
{
  "redirectUrl": "https://webpay.transbank.cl/...",
  "transactionReference": "6f16659e-b711-4995-a9ae-161aecbd6521"
}
3
El cliente completa el pago en Webpay
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:
{
  "status": "approvedTransaction",
  "ticketNumber": "319228478889680318",
  "transactionReference": "6f16659e-b711-4995-a9ae-161aecbd6521",
  "approvedTransactionAmount": 10000,
  "lastFourDigits": "1234",
  "cardType": "CREDIT"
}

Flujo de preautorización#

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.
{
  "token": "AbCDef123456Z7Ghi8901234jkLMNopQ",
  "amount": {
    "subtotalIva": 0,
    "subtotalIva0": 30000,
    "iva": 0
  }
}
3
El cliente se autentica en Webpay
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.
{
  "ticketNumber": "319228478889680318",
  "amount": {
    "subtotalIva": 0,
    "subtotalIva0": 30000,
    "iva": 0,
    "ice": 0,
    "currency": "CLP"
  },
  "fullResponse": "v2"
}

Moneda#

MonedaCódigoNotas
Peso chilenoCLPSolo montos enteros — sin decimales
Unidad de FomentoUFUnidad monetaria indexada
CLP no admite decimales
Envía siempre los montos como enteros (por ejemplo, 10000). Si envías 10000.50, la respuesta es 400 Bad Request.

Valores del estado de la transacción#

EstadoDescripción
requestedTokenToken creado — la transacción aún no se ha inicializado
initializedTransactionTransacción inicializada — esperando la acción del cliente en Webpay
approvedTransactionPago aprobado
declinedTransactionPago rechazado por el emisor o el procesador

Autenticación#


Uso de la API#

🟢 Producción
🧪 Sandbox (UAT)
https://api.kushkipagos.com/

Endpoints disponibles#

Solicitar un token de Card Async
Solicita un token con el monto del pago y la URL de retorno. Vigente por 30 minutos y de un solo uso.
Iniciar transacción
Inicializa la transacción. Devuelve una URL de redirección a Webpay para el cliente.
Preautorización
Reserva fondos sin capturarlos de inmediato. Devuelve una URL de redirección a Webpay. Ventana de captura de 7 días.
Capturar
Captura un monto previamente autorizado usando el ticketNumber de la respuesta de estado.
Consultar estado
Consulta el resultado final de la transacción usando el token del paso de solicitud del token.

¿Tienes una sugerencia sobre esta documentación? Contáctanos.
Modified at 2026-09-07 16:58:20
Previous
Consultar información del cargo recurrente
Next
Solicitar un token de Card Async
Built with