1. Webhooks para botón de pagos
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
    • Marcas de tarjeta soportadas
    • Funcionalidades por modelo de negocio
    • Pagos en un paso
      • ¿Cómo funcionan los pagos con tarjeta?
      • Acepta pagos únicos con OTP
      • Códigos de error autenticación OTP
      • Códigos de error pagos únicos con tarjeta
      • Cargo directo (sin token)
      • Acepta un pago con tarjeta
    • Pagos en dos pasos
      • ¿Cómo funcionan los pagos únicos con autorización y captura?
      • Recibe pagos con autorización y captura
    • Devoluciones
      • Devoluciones, anulaciones y reembolsos
    • Autenticación 3DS
      • Integración 100% API de 3DS
      • Integración 3DS con librería kushki.js
      • Códigos de error autenticación 3DS
      • Integración 3DS API + librería kushki.js
      • Introducción a 3DS
    • Pagos con Apple Pay
      • Configuración de Apple Pay
      • Pruebas en Sandbox Apple Pay
  • Pagos recurrentes con tarjeta (Online)
    • Autentica tus suscripciones con 3DS
    • Apple Pay en Suscripciones
    • Acepta pagos one click con 3DS
    • Funcionalidades por modelo de negocio
    • Códigos de error en cargos recurrentes
    • Suscripciones externas a Kushki
    • Pagos calendarizados
      • Crea un cargo recurrente
      • Maneja tus cargos calendarizados
      • ¿Cómo funcionan los cargos recurrentes con tarjeta?
    • Pagos OneClick
      • ¿Cómo funcionan los pagos OneClick con autorización y captura?
      • Genera pagos one click
      • Recibe pagos OneClick con autorización y captura
  • Pagos con tarjeta presente
    • Datos de prueba
    • Acepta pagos con tarjeta presente
    • Webhooks para tarjeta presente
    • Raw card-present API
      • Introducción a Raw card-present API
      • Script de ejemplo para cifrar información
      • Intercambio de claves criptográficas
      • Preguntas frecuentes
      • Códigos de error para transacciones con tarjeta presente
      • Acepta pagos
    • Transacciones
      • Anula un pago
      • Transacciones
    • Kushki One
      • Autenticación y Cifrado de Requests
      • Realiza cobros con Kushki One
      • Servicios asíncronos y webhooks
      • Formato de montos en Kushki ONE
      • Catálogo Unificado de Errores — Kushki ONE Connect
      • Primeros Pasos
      • Impresión en terminal SmartPOS
    • Kushki One App de Pagos
      • Descripción general
      • Devoluciones y PreAuth & Capture
      • Pago Dividido en la terminal
      • Configuración del terminal
      • Consulta tus transacciones
      • Procesa un cobro
  • Pagos con transferencias
    • Consulta el estado de una transacción
    • Experiencias de compra y detalles de operación para pagos con transferencia bancaria
    • Recibe transferencias bancarias
  • Pagos en efectivo
    • Puntos de recaudo
    • Códigos de error para transacciones declinadas en efectivo
    • Acepta un pago en efectivo
  • Métodos alternativos de pago (APM)
    • ¿Cómo funcionan los pagos con APM?
    • Acepta pagos con Yape
  • 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
    • Tarjeta
      • ¿Cómo funciona el envío de fondos a tarjetas?
      • Envía dinero a una tarjeta
      • Códigos de error
  • Plugins
    • Shopify
      • Operación del Plugin
      • Shopify
    • Vtex
      • Guía de integración VTEX
  • Links de pago
    • Smartlinks
  • Formularios y botones de pago
    • Kajita
      • Kajitas de pago
      • ¿Cómo funciona?
    • Botón de pago
      • ¿Cómo funciona el botón de pago?
      • Genera un 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
    • Webhooks para pagos recurrentes
      • Webhook para pagos recurrentes con tarjeta
    • Webhooks para dispersiones
      • Webhook para dispersión de dinero con Transferencia
      • Webhook para dispersión con tarjeta
    • Webhooks para smartlinks
      • Webhooks con Smartlinks
    • Webhooks para botón de pagos
      • Webhooks con Botón de pago
    • 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 botón de pagos

Webhooks con Botón de pago

Cuando se hacen pagos a través de un Botón de pago podrás recibir notificaciones de los siguientes eventos para pagos con tarjetas, con efectivo o por transferencia:
1.
Transacción aprobada
2.
Transacción declinada

Pagos con tarjeta#

Los webhooks enviados por Kushki contendrán los encabezados (headers) aquí listados.

A continuación se describen las posibles variables que se entregan en el cuerpo del webhook para pagos con tarjeta de crédito:
Método: POST
Body: Object
VariableTipo
ticketNumberstring
approvalCodestring
metadataobject
metadata.key0string
metadata.key1string
responseTextstring
binCardstring
smartLinkstring
requestAmountnumber
typestring
responseCodestring
bankstring
merchantIdstring
syncMetadataboolean
idstring
processorBankNamestring
amountobject
amount.subtotalIva0number
amount.ivanumber
amount.subtotalIvanumber
amount.currencystring
productobject
product.unitPricenumber
product.quantityinteger
product.namestring
product.descriptionstring
cardCountrystring
cardHolderNamestring
transactionReferencestring
creatednumber (Unix Timestamp Format)
paymentBrandstring
contactDetailsobject
contactDetails.emailstring
tokenstring
publicMerchantIdstring
transactionType"SALE"
transactionChannel"WEBCHECKOUTPLUS"
lastFourDigitsstring
paymentMethodstring
binCardstring
approvedTransactionAmountnumber
status"approvedTransaction" "declinedTransaction"

Ejemplos#

JSON
JSON
// Transacción aprobada
{
   "ticketNumber":"916519657017985234",
   "approvalCode":"000000",
   "metadata":{
      "orderID":"6827",
      "contrato":"claro 123"
   },
   "responseText":"Transacción aprobada",
   "binCard":"545195",
   "smartLink":"3W95hy7fX",
   "requestAmount":257000,
   "type":"credit",
   "responseCode":"000",
   "bank":"Banco de la Produccion S.A. (PRODUBANCO)",
   "merchantId":"20000000106554380000",
   "syncMetadata":"false",
   "id":"24cf9b50-8b04-49fb-9d57-4be3bb7a1a5a",
   "processorBankName":"0032~BANCO INTERNACIONAL",
   "amount":{
      "subtotalIva0":0,
      "iva":19000,
      "subtotalIva":238000,
      "currency":"MXN"
   },
   "product":[
      {
         "unitPrice":100000,
         "quantity":2,
         "name":"runners",
         "description":"Tenis"
      }
   ],
   "cardCountry":"Ecuador",
   "cardHolderName":"deisy Leal",
   "transactionReference":"a6704c0b-4be5-468f-96a1-3e454cb574ca",
   "created":1722982829858,
   "paymentBrand":"Mastercard",
   "contactDetails":{
      "email":"user@example.com"
   },
   "token":"db3d08cd80454324a960a69cc1480d9c",
   "publicMerchantId":"017dc7108f0141e78ef4ca4694a2520f",
   "transactionType":"SALE",
   "transactionChannel":"WEBCHECKOUTPLUS",
   "lastFourDigits":"5480",
   "paymentMethod":"creditCard",
   "approvedTransactionAmount":257000,
   "status":"approvedTransaction"
}

Pagos con transferencia#

Estas son las posibles variables que se entregan en el cuerpo del webhook para pagos con transferencia bancaria:
Método: POST
Body: Object
VariableTipo
ticketNumberstring
amountobject
amount.subtotalIva0number
amount.ivanumber
amount.subtotalIvanumber
amount.currencystring
metadataobject
productobject
product.unitPricenumber
product.quantityinteger
product.namestring
product.descriptionstring
redirectUrlstring
transactionReferencestring
creatednumber (Unix Timestamp Format)
smartLinkstring
contactDetailsobject
contactDetails.firstNamestring
contactDetails.lastNamestring
contactDetails.documentTypestring
contactDetails.documentNumberstring
contactDetails.emailstring
tokenstring
publicMerchantIdstring
merchantIdstring
paymentMethodstring
syncMetadataboolean
idstring
trazabilityCodestring
status"approvedTransaction" "declinedTransaction"

Ejemplos#

JSON
JSON
// Transacción aprobada
{
  "ticketNumber": "8903880459904381",
  "amount": {
    "subtotalIva0": 0,
    "iva": 500,
    "subtotalIva": 500,
    "currency": "MXN"
  },
  "metadata": {},
  "product": [
    {
      "unitPrice": 1000,
      "quantity": 2,
      "name": "runners",
      "description": "Tenis"
    }
  ],
  "redirectUrl": "https://api-uat.kushkipagos.com/transfer/v1/agent?token=4e14347df70d4744b09ff9a6483e80a6&mid=20000000104096460000",
  "transactionReference": "6659910b-936e-4842-826f-82b0433af540",
  "created": 1678903884347,
  "smartLink": "cvIrvtx2j",
  "contactDetails": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@kushkipagos.com"
  },
  "token": "4e14347df70d4744b09ff9a6483e80a6",
  "publicMerchantId": "ef31f04f2c364080bd33162bfb360c81",
  "merchantId": "20000000104096460000",
  "paymentMethod": "transfer",
  "syncMetadata": "false",
  "id": "a277e170-3241-4e27-8d22-e21f66b879d4",
  "trazabilityCode": "564988596",
  "status": "approvedTransaction"
}

Pagos con efectivo#

Estas son las posibles variables que se entregan en el cuerpo del webhook para pagos en efectivo:
Método: POST
Body: Object
VariableTipo
ticketNumberstring
amountobject
amount.subtotalIva0number
amount.ivanumber
amount.subtotalIvanumber
amount.currencystring
metadataobject
metadata.firstTimestring
productobject
product.unitPricenumber
product.quantityinteger
product.namestring
product.descriptionstring
transactionReferencestring
creatednumber (Unix Timestamp Format)
smartLinkstring
contactDetailsobject
contactDetails.firstNamestring
contactDetails.lastNamestring
contactDetails.documentTypestring
contactDetails.documentNumberstring
contactDetails.emailstring
tokenstring
publicMerchantIdstring
pdfUrlstring
pinstring
merchantIdstring
paymentMethodstring
syncMetadataboolean
idstring
status"approvedTransaction" "expiredTransaction"

Ejemplos#

JSON
JSON
// Transacción aprobada
{
  "ticketNumber": "2378903288609109",
  "amount": {
    "subtotalIva0": 0,
    "iva": 50,
    "subtotalIva": 50,
    "currency": "USD"
  },
  "metadata": {
    "firstTime": "0"
  },
  "product": [
    {
      "unitPrice": 100,
      "quantity": 2,
      "name": "runners",
      "description": "Tenis"
    }
  ],
  "transactionReference": "225405a4-c300-4ea6-9952-406e0efcc5ee",
  "created": 1678903302137,
  "smartLink": "2aLhypwTL",
  "contactDetails": {
    "firstName": "John",
    "lastName": "Doe",
    "documentType": "CC",
    "documentNumber": "123456789",
    "email": "john.doe@kushkipagos.com"
  },
  "token": "2bb63390d18e4475adc4f8f0730f84f2",
  "publicMerchantId": "883ae5c3d47446d898dddc94dd76076f",
  "pdfUrl": "https://api-uat.kushkipagos.com/cash/v1/charges/2378903288609109/receipt",
  "pin": "8903296880",
  "merchantId": "20000000108692034000",
  "paymentMethod": "cash",
  "syncMetadata": "false",
  "id": "69bbf42d-7a17-4ff5-ad61-8b4bd156659c",
  "status": "approvedTransaction"
}
Modificado en 2026-09-24 14:45:44
Anterior
Webhooks para botón de pagos
Siguiente
Webhooks para devoluciones
Built with