Webhook for card disbursement

Kushki can send events via webhook that notify your application when one of the following events occurs:

  1. When a card payment is successfully sent (approvedTransaction)
  2. When a card payment fails (declinedTransaction)

Structure

The webhooks sent by Kushki will contain the headers listed here.
Below are the possible variables included in the webhook:

Method: POST

Body: Object

VariableType
details.amount.currencyString
details.amount.totalAmountNumber
details.approvalCodeString | Null (Only for approval)
details.approvedTransactionAmountNumber | Null (Only for approval)
details.binInfo.bankString
details.binInfo.binString
details.binInfo.brandString
details.binInfo.brandProductCodeString | Null
details.binInfo.countryString
details.binInfo.typeString
details.binInfo.prepaidBoolean
details.createdNumber (Timestamp in milliseconds)
details.merchantIdString
details.merchantNameString
details.paymentBrandString
details.responseCodeString
details.responseTextString
details.transactionIdString
details.transactionReferenceString
details.transactionStatusString (‘APPROVAL’ o ‘DECLINED’)
details.transactionTypeString (‘PAYOUT’)
ticketNumberString | Null (Only for approval)
transactionReferenceString
codeString | Null (Only for approval)
processorCodeString | Null (Only for approval)
processorMessageString | Null (Only for approval)
messageString | Null (Only for approval)

Examples

  • JSON
  • JSON
// Approved transaction
{
"details": {
"amount": {
"currency": "PEN",
"totalAmount": 30
},
"approvalCode": "NANANA",
"approvedTransactionAmount": 30,
"binInfo": {
"bank": "CITIBANK (SOUTH DAKOTA), N.A.",
"bin": "41049201",
"brand": "VISA",
"brandProductCode": "",
"country": "USA",
"type": "credit",
"prepaid": false
},
"created": 1738087581164,
"merchantId": "20000000100400157000",
"merchantName": "ORIZABA PAYOUTS CARD BRANCH",
"paymentBrand": "VISA",
"responseCode": "00",
"responseText": "Approved and completed successfully",
"transactionId": "951738087581164005",
"transactionReference": "c9e6c7d4-e8c2-4457-b6a6-bb6d8ac8fad1",
"transactionStatus": "APPROVAL",
"transactionType": "PAYOUT"
},
"ticketNumber": "951738087581164005",
"transactionReference": "c9e6c7d4-e8c2-4457-b6a6-bb6d8ac8fad1"
}
// Declined transaction
{
"code": "E557",
"details": {
"amount": {
"currency": "PEN",
"totalAmount": 30
},
"binInfo": {
"bank": "bank",
"bin": "495703",
"brand": "VISA",
"brandProductCode": "",
"country": "USA",
"type": "credit",
"prepaid": false
},
"created": 1738085144614,
"merchantId": "20000000100400157000",
"merchantName": "ORIZABA PAYOUTS CARD BRANCH",
"paymentBrand": "VISA",
"processorCode": "557",
"processorMessage": "El emisor no puede autorizar esta transacción",
"responseCode": "57",
"responseText": "Transaction not permitted to cardholder",
"transactionId": "951738085144614309",
"transactionReference": "9a4e8794-c30e-4ed7-bd45-53943fb01550",
"transactionStatus": "DECLINED",
"transactionType": "PAYOUT"
},
"message": "The issuer cannot authorize this transaction"
}