1. One-time Payments Webhooks
Kushki Docs
English
  • Español
  • English
  • Home
  • Quick Start
    • Frequently Asked Questions
    • Moving to Production
    • Policy for Important API Changes
    • Test Data
    • Error Codes
    • Latest Features
  • Payment Glossary
    • Payments Glossary
  • One-time card payments (Online)
    • Supported card brands
    • Functionalities by business model
    • Network Tokens
    • One-step Payments
      • How do Card Payments Work?
      • Accept a Card Payment
      • Direct charge (without token)
      • Accept One-Time Payments with OTP
      • OTP Authentication Error Codes
      • Error codes for single card payments
    • Two-steps Payments
      • How do one-time payments with authorization and capture work?
      • Receive payments with authorization and capture
    • Refunds
      • Returns, cancellations, and refunds
    • 3DS Authentication
      • Introduction to 3DS
      • 3DS API integration
      • 3DS integration with kushki.js library
      • 3DS API integration plus kushki.js library
      • 3DS Error Codes
    • Apple Pay Payments
      • Apple Pay Configuration
      • Apple Pay Sandbox testing
  • Recurring Card Payments (Online)
    • Functionalities by business model
    • External subscriptions to Kushki
    • Authenticate your subscriptions with 3DS
    • Accept one-click payments with 3DS
    • Error codes in recurring charges
    • Scheduled payments
      • How do Credit or Debit Card Payment Recurring Charges Work?
      • Schedule a recurring charge
      • Manage your Scheduled Charges
    • OneClick Payments
      • Accepting One-Click Payments
      • How does authorization and capture work in OneClick payments?
      • Receive OneClick payments with authorization and capture
  • Card-present payments
    • Accept card present payments
    • Test data
    • Webhooks for card present
    • Raw card-present API
      • Raw card-present API overview
      • Cryptographic key exchange
      • Sample script to encrypt information
      • Take Payments
      • Frequently Asked Questions
      • Error codes for card-present transactions
    • Kushki One
      • First Steps
      • Autenticación y Cifrado de Requests
      • Accept payments with Kushki One
      • Amount Format
      • Async services and webhooks
      • Printing on SmartPOS terminal
      • Unified Error Catalog — Kushki ONE Connect
    • Kushki One Payment App
      • Overview
      • Process a payment
      • Split payment on the terminal
      • Refunds and PreAuth & Capture
      • Review Your Transactions
      • Terminal Setup
    • Transactions
      • Transactions
      • Cancel payments
  • Wire Transfers
    • Banks and transaction details for bank transfer payments
    • Receive Wire Transfers
    • Check the Status of a Transaction
    • Error Codes for Transfers
  • Cash Payments
    • How do Cash Payments Work?
    • Accept a Cash Payment
    • Authorized locations
    • Error Codes for declined cash transaction
  • Alternative payment methods (APM)
    • How do APM payments work?
    • Accept Bre-B payments
  • Money Disbursement
    • Payment Distribution
    • Recharge your balance for dispersions
    • Wire Transfer
      • How Does a Payment Distribution by Wire Transfer Work?
      • Payment Distribution to Bank Accounts
      • Disburse with Bre-B
      • Error codes for transfer dispersions
    • Cash
      • How does payment distribution in cash work?
      • Distribute Payments in Cash
      • Manage your Payment Distribution Transactions
  • Plugins
    • Shopify
      • Shopify
      • Plugin Operation
    • VTEX
      • VTEX Integration Guide
  • Payment Links
    • Smartlinks
  • Payment forms and buttons
    • Kajita
      • How Does it Work?
      • Payment Kajitas
    • Payment Button
      • Overview
      • Generate a payment button
  • Branch Offices Management
    • How to Onboard Submerchants via API
  • Notifications
    • Good Practices
    • Check your Webhooks
    • One-time Payments Webhooks
      • Webhook for One-Time Payments made with a card
      • Webhook for One-Time Payments by Wire Transfer
      • Webhook for One-Time Payments in Cash
    • Recurring Payments Webhooks
      • Webhook for Recurring Payments Made with Card
    • Payment Distribution Webhooks
      • Webhook for payment disbursement through wire transfer
      • Webhook for Payment Distribution in Cash
    • Payment button Webhooks
      • Webhooks with Payment Button
    • Smartlinks Webhooks
      • Webhooks with Smartlinks
    • Refunds Webhooks
      • Webhook for Voids and Refunds
      • Chargeback Webhooks
HomeMexico 🇲🇽Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴
Peru 🇵🇪
HomeMexico 🇲🇽Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴
Peru 🇵🇪
Status
Soporte / Support
English
  • Español
  • English
  1. One-time Payments Webhooks

Webhook for One-Time Payments made with a card

Kushki can send webhook events notifying your application when one of the following events occurs:
When a credit or debit card transaction is approved or rejected.
When a cancellation or credit card refund is approved

Payment Notification#

Structure#

The webhooks sent by Kushki will contain the headers listed here.

These are the possible variables that are submitted in the Webhook body:
Method: POST
Body: Object
VariableType
ticket_numberstring
transaction_idstring
transaction_referencestring
amountobject
amount.subtotalIva0number
amount.subtotalIvanumber
amount.ivanumber
amount.icenumber
amount.currencystring
metadataobject
metadata.key0string
metadata.key1string
metadata.key2string
currency_codestring
transaction_type"SALE"
transaction_status"APPROVAL" "DECLINED"
creatednumber (Unix Timestamp Format)
sync_modestring
merchant_idstring
processor_idstring
processor_namestring
last_four_digitsstring
approval_codestring
request_amountnumber
approved_transaction_amountnumber
subtotal_iva0number
subtotal_ivanumber
iva_valuenumber
countrystring
processor_typestring
response_codestring
card_holder_namestring
payment_brandstring
fullResponsenumber
token_typestring
maskedCardNumberstring
tokenAlreadyUsedboolean
transactionCardHolderNamestring
transactionCardIdstring
transactionEmailstring
transaction_detailsobject
transaction_details.cardTypestring
transaction_details.binCardstring
transaction_details.processorBankNamestring
transaction_details.isDeferredstring
transaction_details.lastFourDigitsOfCardstring
issuing_bankstring
foreign_cardboolean
response_textstring
ipstring
merchant_namestring
acquirerBankstring
card_typestring
tokenstring
credential_aliasstring
processor_bank_namestring
bin_cardstring
ice_valuestring
credential_idstring
processorCodestring
processorobject
processor.codestring
processor.messagestring
channelstring
interest_amountstring
mccCodestring
card_countrystring
ignoreWarningsboolean
bin_typeinteger
integrationstring
acquirer_bankstring
processor_merchant_idstring
securityobject
security.whitelistboolean
originalCommissionTypestring
commissionobject
commission.deferredinteger
commission.countrystring
commission.ivanumber
commission.merchantIdstring
commission.fixAmountnumber
commission.variableAmountnumber
commission.typestring
commission.merchantNamestring
parent_merchant_idstring
parent_ticket_numberstring
plccboolean
commissionTypestring
card_country_codestring
processor_transaction_idstring
KSH_LAMBDA_FUNCTIONstring
KSH_AWS_REQUEST_IDstring
transactionReferencestring
contactDetailsstring
contactDetailsobject
contactDetails.firstNamestring
contactDetails.lastNamestring
contactDetails.phoneNumberstring
contactDetails.documentTypestring
contactDetails.documentNumberstring
contactDetails.emailstring
publicMerchantIdstring
merchantIdstring
paymentMethodstring
syncMetadatastring
idstring
statusstring

Examples#

JSON
JSON
JSON
// Approved transaction
{
  "country": "Colombia",
  "metadata": {
    "contractID": "157AB"
  },
  "processor_type": "gateway",
  "response_code": "000",
  "transaction_status": "APPROVAL",
  "card_holder_name": "TESTING",
  "payment_brand": "Visa",
  "request_amount": 16.98,
  "fullResponse": true,
  "merchant_id": "20000000XXXXXXXX2000",
  "approved_transaction_amount": 16.98,
  "productDetails": {
    "product": [
      {
        "quantity": 1,
        "price": 6990000,
        "id": "198952AB",
        "sku": "10101042",
        "title": "eBook Digital Services"
      },
      {
        "quantity": 1,
        "price": 9990000,
        "id": "198953AB",
        "sku": "004834GQ",
        "title": "eBook Virtual Selling"
      }
    ]
  },
  "token_type": "transaction-token",
  "maskedCardNumber": "438626XXXXXX7714",
  "currency_code": "USD",
  "transaction_details": {
    "cardType": "Visa",
    "binCard": "438626",
    "processorBankName": "0032~BANCO INTERNACIONAL",
    "isDeferred": "N"
  },
  "subtotal_iva": 0,
  "issuing_bank": null,
  "processor_id": "6000000000158776275865741143200",
  "processor_name": "Credibanco Processor",
  "foreign_card": true,
  "response_text": "Transacción aprobada",
  "transaction_reference": "55d28261-c446-4592-a8d6-17c20aee3bb0",
  "last_four_digits": "7714",
  "user_agent": "Go-http-client/1.1",
  "transaction_id": "781482485839103928",
  "approval_code": "000000",
  "amount": {
    "subtotalIva0": 16.98,
    "iva": 0,
    "subtotalIva": 0,
    "currency": "USD",
    "ice": 0
  },
  "created": 1601587937000,
  "ip": "35.193.164.95",
  "iva_value": 0,
  "merchant_name": "Tu Gran Empresa",
  "contact_details": {
    "firstName": "Diego",
    "lastName": "Cadena",
    "phoneNumber": "0988734644",
    "documentType": "CC",
    "documentNumber": "1009283738",
    "email": "test@test.com"
  },
  "acquirerBank": null,
  "card_type": null,
  "ticket_number": "992823152575262637",
  "transaction_type": "SALE",
  "token": "fca0fe160b5048aca584e30fbf652edf",
  "sync_mode": "online",
  "orderDetails": {
    "billingDetails": {
      "country": "Ecuador",
      "zipCode": "170402",
      "address": "Eloy Alfaro 139 y Catalina Aldaz",
      "city": "Quito",
      "phone": "0988734644",
      "name": "Diego Cadena",
      "region": "Pichincha"
    },
    "shippingDetails": {
      "country": "Ecuador",
      "zipCode": "170402",
      "address": "Eloy Alfaro 139 y Catalina Aldaz",
      "city": "Quito",
      "phone": "0988734644",
      "name": "Diego Cadena",
      "region": "Pichincha"
    },
    "siteDomain": "tuebook.com"
  },
  "credential_alias": "Kushki Test",
  "processor_bank_name": "0032~BANCO INTERNACIONAL",
  "bin_card": "438626",
  "ice_value": 0,
  "credential_id": "b18653307844446bbfcb4783d2711a47",
  "subtotal_iva0": 16.98,
  "transactionReference": "55d28261-c446-4592-a8d6-17c20aee3bb0"
}
Modificado en 2026-10-14 19:57:02
Anterior
One-time Payments Webhooks
Siguiente
Webhook for One-Time Payments by Wire Transfer
Built with