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

Cargos recurrentes con tarjeta asíncronos

Los cargos recurrentes con tarjeta asíncronos son un servicio exclusivo de Chile que registra la tarjeta de un cliente para cargos recurrentes a través del portal Webpay de Transbank. El cliente se redirige a Webpay para autenticarse y autorizar el registro de la tarjeta — después de eso, puedes cobrar la tarjeta registrada de forma programada o a demanda usando los endpoints estándar de One-Click.
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 cargo recurrente asíncrono
Llama a POST /subscriptions/v1/card-async/tokens con la moneda, el email y la URL a la que regresa el cliente después del registro.
{
  "currency": "CLP",
  "email": "user@example.com",
  "callbackUrl": "https://yoursite.com/subscription/return"
}
Devuelve un token de un solo uso, vigente por 30 minutos.
⚠️ Nota PCI: Puedes incluir cardNumber directamente en esta petición de forma opcional, pero solo si tu backend cumple con PCI DSS.
2
Inicia el cargo recurrente asíncrono
Llama a POST /subscriptions/v1/card-async/init con el token, los datos del plan, el monto y la fecha de inicio de cobro. La respuesta devuelve un redirectUrl y un 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"
}
Respuesta:
{
  "subscriptionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "redirectUrl": "https://webpay.transbank.cl/..."
}
💡 Guarda el subscriptionId — lo necesitas para todos los cargos, autorizaciones y operaciones de gestión futuras.
3
El cliente se autentica en Webpay
Redirige al cliente al redirectUrl. Ahí se autentica y autoriza el registro de la tarjeta en el portal de Transbank, y luego regresa a tu callbackUrl.
4
La suscripción está activa — cobra la tarjeta
Cuando el cliente regrese, la suscripción queda activa. Usa los endpoints estándar de One-Click para gestionarla y cobrarla:
POST /subscriptions/v1/card/{subscriptionId} — cargo a demanda
GET /subscriptions/v1/card/search/{subscriptionId} — consulta la información de la suscripción
PATCH /subscriptions/v1/card/{subscriptionId} — actualiza el plan
DELETE /subscriptions/v1/card/{subscriptionId} — cancela la suscripción
Los cargos recurrentes programados se procesan automáticamente según periodicity y startDate.

Reserva de fondos antes de la captura#

Para flujos en los que quieres reservar fondos antes de confirmar un cargo sobre una suscripción existente.
Límite de captura de 7 días
Tienes un máximo de 7 días calendario para capturar después de una autorización. Pasado ese plazo, Transbank libera automáticamente los fondos reservados.
1
Autoriza
POST /subscriptions/v1/card/{subscriptionId}/authorize — Reserva fondos en la tarjeta registrada. No hace falta redirigir a Webpay — la tarjeta ya está guardada.
{
  "amount": {
    "subtotalIva": 0,
    "subtotalIva0": 10000,
    "iva": 0,
    "ice": 0,
    "currency": "CLP"
  },
  "name": "Catalina",
  "lastName": "Fuentes",
  "email": "user@example.com",
  "fullResponse": "v2"
}
Devuelve un ticketNumber.
2
Captura
POST /subscriptions/v1/card/{subscriptionId}/capture — Captura el monto reservado dentro de 7 días.
{
  "ticketNumber": "319228478889680318",
  "amount": {
    "subtotalIva": 0,
    "subtotalIva0": 10000,
    "iva": 0,
    "ice": 0,
    "currency": "CLP"
  },
  "fullResponse": "v2"
}

Moneda#

MonedaCódigoNotas
Peso chilenoCLPSolo montos enteros — sin decimales
Unidad de FomentoUFUnidad monetaria indexada

Opciones de periodicidad#

ValorDescripción
dailyCada 1 día
weeklyCada 7 días
biweeklyCada 15 días
monthlyCada 30 días
threefortnightsCada seis semanas (42 días)
bimonthlyCada 60 días
quarterlyCada 90 días
fourmonthsCada 120 días
halfYearlyCada 180 días
yearlyCada 360 días
customIntervalo recurrente personalizado

Lógica de reintentos#

Si un cargo programado se rechaza, Kushki reintenta automáticamente. Por defecto: 3 reintentos en 3 días consecutivos. Configúralo con retryConfiguration:
{
  "retryConfiguration": {
    "retryType": "fixed",
    "value": [5, 15, 25]
  }
}
retryTypeComportamiento
scheduleReintenta cada N días durante todo el periodo de facturación
fixedReintenta solo en días específicos del mes

Diferencias con One-Click estándar#

Cargos recurrentes asíncronosOne-Click estándar
RegistroEl cliente se redirige a Transbank/WebpayBasado en token, sin redirección
ProcesadorTransbank (Webpay)Red de tarjetas directa
Autorización/CapturaSin redirección — usa la tarjeta guardadaSin redirección — usa la tarjeta guardada
Solo Chile✅ Sí✅ Sí (mediante la integración con Webpay)

Autenticación#


Uso de la API#

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

Endpoints disponibles#

Solicitar un token de cargo recurrente asíncrono
Solicita un token para iniciar el flujo de registro de la tarjeta. Vigente por 30 minutos.
Iniciar un cargo recurrente asíncrono
Inicializa la suscripción. Devuelve una URL de redirección a Webpay y un subscriptionId.
Autorizar pagos
Reserva fondos en una tarjeta ya registrada — sin redirección a Webpay.
Capturar un pago autorizado
Captura un monto previamente autorizado en la suscripción.

¿Tienes una sugerencia sobre esta documentación? Contáctanos.
Modified at 2026-09-11 14:50:59
Previous
Consultar estado
Next
Solicitar un token de cargo recurrente con tarjeta asíncrono
Built with