1. Webhooks para pagos recurrentes
Kushki Docs
Español
  • Español
  • English
  • Inicio
  • Inicio rápido
    • Preguntas frecuentes
    • Paso a producción
    • Política de cambios importantes del API
    • Códigos de error
    • Datos de prueba
    • Últimas novedades
  • Glosario de pagos
    • Glosario de pagos
  • Pagos únicos con tarjeta (Online)
    • Network Tokens
    • Funcionalidades por modelo de negocio
    • Marcas de tarjeta soportadas
    • Pagos en un paso
      • Cargo directo (sin token)
      • Códigos de error autenticación OTP
      • ¿Cómo funcionan los pagos con tarjeta?
      • Acepta un pago con tarjeta
      • Acepta pagos únicos con OTP
      • Códigos de error pagos únicos con tarjeta
    • Pagos en dos pasos
      • Recibe pagos con autorización y captura
      • ¿Cómo funcionan los pagos únicos con autorización y captura?
    • Pagos con Webpay Plus
      • Reserva fondos con Webpay Plus
    • Pagos con Apple Pay
      • Pruebas en Sandbox Apple Pay
      • Configuración de Apple Pay
    • Devoluciones
      • Devoluciones, anulaciones y reembolsos
    • Autenticación 3DS
      • Introducción a 3DS
      • Integración 3DS API + librería kushki.js
      • Integración 3DS con librería kushki.js
      • Integración 100% API de 3DS
      • Códigos de error autenticación 3DS
  • Pagos recurrentes con tarjeta (Online)
    • Autentica tus suscripciones con 3DS
    • Apple Pay en Suscripciones
    • Suscripciones externas a Kushki
    • Acepta pagos one click con 3DS
    • Funcionalidades por modelo de negocio
    • Códigos de error en cargos recurrentes
    • Pagos calendarizados
      • Maneja tus cargos calendarizados
      • Crea un cargo recurrente
      • ¿Cómo funcionan los cargos recurrentes con tarjeta?
    • Pagos calendarizados con Webpay OneClick
      • Reserva fondos en recurrencias con Webpay OneClick
      • Recurrencias con Webpay OneClick
    • Pagos OneClick con Webpay OneClick
      • Pagos one click con Webpay OneClick
      • Reserva fondos en pagos one click con Webpay OneClick
    • Pagos OneClick
      • ¿Cómo funcionan los pagos OneClick con autorización y captura?
      • Recibe pagos OneClick con autorización y captura
      • Genera pagos one click
  • Pagos con tarjeta presente
    • Acepta pagos con tarjeta presente
    • Datos de prueba
    • Webhooks para tarjeta presente
    • Raw card-present API
      • Script de ejemplo para cifrar información
      • Acepta pagos
      • Intercambio de claves criptográficas
      • Preguntas frecuentes
      • Códigos de error para transacciones con tarjeta presente
    • Transacciones
      • Anula un pago
      • Transacciones
    • Kushki One
      • Autenticación y Cifrado de Requests
      • Realiza cobros con Kushki One
      • Formato de montos en Kushki ONE
      • Impresión en terminal SmartPOS
      • Catálogo Unificado de Errores — Kushki ONE Connect
      • Servicios asíncronos y webhooks
    • Kushki One App de Pagos
      • Procesa un cobro
      • Devoluciones y PreAuth & Capture
      • Pago Dividido en la terminal
      • Configuración del terminal
      • Consulta tus transacciones
  • Pagos con transferencias
    • Recibe transferencias bancarias
    • Consulta el estado de una transacción
    • Bancos y detalles de operación para pagos con transferencia bancaria
  • Pagos en efectivo
    • Acepta un pago en efectivo
    • Puntos de recaudo
    • Códigos de error para transacciones declinadas en efectivo
  • Dispersión de dinero
    • Transferencia bancaria
      • ¿Cómo funciona la dispersión por transferencia bancaria?
      • Códigos de error para dispersiones por transferencia
      • Dispersa a cuentas bancarias
  • Plugins
    • Shopify
      • Shopify
      • Operación del Plugin
    • Vtex
      • Guía de integración VTEX
  • Links de pago
    • Smartlinks
  • Formularios y botones de pago
    • Introducción
    • Kajita
      • Kajitas de pago
      • ¿Cómo funciona?
    • Botón de pago
      • Genera un botón de pago
      • ¿Cómo funciona el botón de pago?
  • Administración de sucursales
    • ¿Cómo realizar el onboarding de subcomercios vía API?
  • Notificaciones
    • Buenas prácticas
    • Consulta tus webhooks
    • Webhooks para pagos únicos
      • Webhook para pagos únicos con tarjeta
      • Webhook para pagos únicos con transferencia bancaria
      • Webhook para pagos únicos con efectivo
      • Webhook para pagos con Webpay Plus
    • Webhooks para pagos recurrentes
      • Webhook para pagos recurrentes con tarjeta
      • Webhook para pagos recurrentes con Webpay OneClick
    • Webhooks para dispersiones
      • Webhook para dispersión de dinero con transferencia
    • Webhooks para botón de pagos
      • Webhooks con Botón de pago
    • Webhooks para smartlinks
      • Webhooks con Smartlinks
    • Webhooks para devoluciones
      • Webhook para devoluciones
      • Webhook para contracargos
HomeMexico 🇲🇽Ecuador 🇪🇨Chile 🇨🇱
Colombia 🇨🇴Peru 🇵🇪
HomeMexico 🇲🇽Ecuador 🇪🇨Chile 🇨🇱
Colombia 🇨🇴Peru 🇵🇪
Status
Soporte / Support
Español
  • Español
  • English
  1. Webhooks para pagos recurrentes

Webhook para pagos recurrentes con tarjeta

Kushki puede enviar eventos vía webhook que notifican a tu aplicación en el momento en que uno de los siguientes eventos ocurra:
1.
Cuando se crea una suscripción (subscriptionApproved). Si se crea mediante smartlink el status será approvedTransaction.
2.
Cuando un cobro de una suscripción es exitoso (succesfullCharge)
3.
Cuando un cobro de una suscripción bajo demanda es declinado (declinedCharge)
4.
Cuando un intento de cobro de la suscripción calendarizada falló (failedRetry)
5.
Cuando todos los intentos de cobro de la suscripción calendarizada fallan (lastRetry)
6.
Cuando se elimina una suscripción (subscriptionDelete)
Estructura
Los webhooks enviados por Kushki contendrán los encabezados (headers) aquí listados.
Estas son las posibles variables que se entregan en el webhook:
Métodod: Post
Body: Object
VariableTipo
eventObject
event.metadataObject
event.metadata.key0string
event.metadata.key1string
event.metadata.key2string
event.endDatenumber (Unix Timestamp Format)
event.maxCountnumber
event.contactDetailsObject
event.contactDetails.firstNamestring
event.contactDetails.lastNamestring
event.contactDetails.emailstring
event.contactDetails.phoneNumberstring
event.contactDetails.documentTypestring
event.contactDetails.documentNumberstring
event.lastFourDigitsstring
event.subscriptionStatusstring
event.activeboolean
event.dayOfMonthnumber
event.tokenstring
event.binInfoObject
event.binInfo.bankstring
event.binInfo.typestring
event.binInfo.processorstring
event.binInfo.brandstring
event.binInfo.binstring
event.startDatenumber (Unix Timestamp Format)
event.providerstring
event.idstring
event.credentialAliasstring
event.subscriptionIdstring
event.creatednumber (Unix Timestamp Format)
event.credentialMetadatastring
event.ipstring
event.lastChargeDatenumber
event.paymentBrandstring
event.callbackUrlstring
event.cardTypestring
event.periodicitystring
event.countnumber
event.retryConfigurationobject
event.retryConfiguration.retryTypestring
event.retryConfiguration.valuearray
event.retryConfiguration.value.itemsinteger
event.monthstring
event.planNamestring
event.dayOfWeekstring
event.amountObject
event.amount.subtotalIvanumber
event.amount.subtotalIva0number
event.amount.ivanumber
event.amount.icenumber
event.amount.currencystring
event.amount.extraTaxesObject
event.tbkUserstring
event.credentialIdstring
event.publicCredentialIdstring
event.merchantIdstring
event.transactionMetadataObject
event.transactionReferencestring
event.convertedAmountObject
event.convertedAmount.totalAmountnumber
event.convertedAmount.amountObject
event.convertedAmount.amount.subtotalIvanumber
event.convertedAmount.amount.subtotalIva0number
event.convertedAmount.amount.ivanumber
event.convertedAmount.amount.icenumber
event.convertedAmount.amount.currencystring
event.convertedAmount.amount.extraTaxesObject
event.approvalCodestring
event.binCardstring
event.issuingBankstring
event.recapstring
event.ticketNumberstring
event.retry.typeObject
event.retry.attemptsnumber
event.retry.maxnumber
event.retry.firstAttemptDatenumber
event.retry.periodicitynumber
event.retry.daysLeftarray
event.retry.daysLeft.itemsinteger
event.retryCountnumber
event.expirationTimenumber
event.cardHolderNamestring
event.adjustmentobject
event.adjustment.amountobject
event.adjustment.amount.subtotalIvanumber
event.adjustment.amount.subtotalIva0number
event.adjustment.amount.ivanumber
event.adjustment.amount.icenumber
event.adjustment.amount.currencystring
event.adjustment.amount.extraTaxesobject
event.adjustment.amount.extraTaxes.agenciaDeViajenumber
event.adjustment.amount.extraTaxes.iacnumber
event.adjustment.amount.extraTaxes.propinanumber
event.adjustment.amount.extraTaxes.tasaAeroportuarianumber
event.adjustment.periodsnumber
event.nextAttemptDaynumber
event.lastRetryDatenumber
event.urlstring
name"succesfullCharge" "failedRetry" "lastRetry" "declinedCharge" "subscriptionDelete" "subscriptionApproved"

Ejemplos#

succesfullCharge
declinedCharge
failedRetry
subscriptionDelete
subscriptionApproved
// Transacción aprobada
{
  "name": "succesfullCharge",
  "event": {
    "userAgent": "Go-http-client/1.1",
    "metadata": {
      "plan": {
        "fitness": {
          "pool": "include",
          "rumba": "include",
          "cardio": "include"
        }
      }
    },
    "subscriptionId": "1602024113521000",
    "created": 1602024113,
    "ip": "35.193.164.95",
    "lastChargeDate": 1602024176,
    "contactDetails": {
      "firstName": "Diego",
      "lastName": "Cadena",
      "phoneNumber": "+593988734644",
      "documentType": "CC",
      "documentNumber": "1009283738",
      "email": "test@test.com"
    },
    "periodicity": "monthly",
    "lastFourDigits": "4242",
    "active": true,
    "dayOfMonth": 6,
    "token": "da44953475f74c02abca31c5371e1792",
    "binInfo": {
      "bank": null,
      "brand": "VISA",
      "processor": "NA",
      "bin": "424242",
      "info": {
        "country": {
          "emoji": "🇺🇸",
          "latitude": 38,
          "alpha2": "US",
          "name": "United States of America",
          "numeric": "840",
          "currency": "USD",
          "longitude": -97
        },
        "number": {},
        "bank": {},
        "scheme": "visa",
        "type": "credit"
      }
    },
    "cardHolderName": "Pruebas",
    "maskedCardNumber": "424242XXXXXX4242",
    "month": "*",
    "planName": "Premium",
    "dayOfWeek": "?",
    "startDate": 1601942400,
    "amount": {
      "currency": "USD",
      "ice": 0,
      "subtotalIva0": 0,
      "iva": 0.14,
      "subtotalIva": 1
    },
    "id": "160202411352100020000000XXXXXXXX2000",
    "plccMetadataId": "187169a42eed456a9964dab5e7ec9468",
    "merchantId": "20000000XXXXXXXX2000",
    "transactionReference": "9eb4ec3d-5e83-4450-8d90-5047121bddbf",
    "approvalCode": "000000",
    "binCard": "424242",
    "issuingBank": null,
    "ticketNumber": "646245907500066871"
  }
}
Modificado en 2026-10-21 16:29:53
Anterior
Webhooks para pagos recurrentes
Siguiente
Webhook para pagos recurrentes con Webpay OneClick
Built with