Webhook Notifications

Webhook notifications are automated messages sent by Nayax to your back-end to communicate the final status of a transaction, which can be:

This ensures you are always up to date with the latest transaction information.

📘

Webhook URL

You will provide the URL to receive the webhooks during the onboarding phase.

Webhook Request

See the examples for each type of request below:

This webhook communicates whether a transaction was authorized or declined by the card issuer.

The following example shows the structure of a standard Sale or Authorization webhook request:

{
  "CardInfo": {
    "IssuerBin": "411111",
    "Brand": "Visa",
    "CardBin": "411111",
    "CardFinalDigits": "1111",
    "ExpiryDate": "12/2025",
    "IssuingCountry": "US",
    "IssuingBank": "Chase Bank",
    "IsCardCommercial": "false",
    "CardHolderName": "John Doe",
    "Alias": "card_alias_123",
    "AliasType": "Default"
  },
  "Ecom3DSInfo": {
    "Is3DSOffered": "true",
    "Is3DSOfferedResponse": "Y",
    "Is3DSAuthenticated": "true",
    "Is3DSAuthenticatedResponse": "Y",
    "IsScaExemptionRequested": "false",
    "LiabilityShift": "true",
    "CardEnrolled": "Y",
    "Eci": "05",
    "Xid": "3ds_xid_abc123"
  },
  "RetryAttempts": [],
  "AdditionalInfo": {
    "AdditionalData": "Order #12345",
    "AdditionalReceiptData": "Thank you for your purchase"
  },
  "NayaxToken": "tok_nayax_abc123def456",
  "NayaxSession": "sess_nayax_xyz789",
  "ExternalTransactionStatus": 13,
  "AuthCode": "AUTH123456",
  "PaymentAccountReference": "PAR123456789",
  "ShopperCountry": "US",
  "ShopperLocale": "en-US",
  "ShopperIp": "192.168.1.100",
  "PaymentMethod": "scheme",
  "Currency": "USD",
  "Amount": "99.99",
  "Cavv": "AAABBZIGAwAAAABQllRGAAAAAAA=",
  "CavvAlgorithm": "1",
  "CvcResult": "M",
  "EReceiptUrl": "https://receipts.nayax.com/receipt/abc123"
}
{
  "CardInfo": {
    "IssuerBin": "542418",
    "Brand": "Mastercard",
    "CardBin": "542418",
    "CardFinalDigits": "8888",
    "ExpiryDate": "09/2024",
    "IssuingCountry": "GB",
    "IssuingBank": "Barclays",
    "IsCardCommercial": "false",
    "CardHolderName": "Jane Smith",
    "Alias": "card_alias_456",
    "AliasType": "Default"
  },
  "Ecom3DSInfo": {
    "Is3DSOffered": "true",
    "Is3DSOfferedResponse": "Y",
    "Is3DSAuthenticated": "false",
    "Is3DSAuthenticatedResponse": "N",
    "IsScaExemptionRequested": "false",
    "LiabilityShift": "false",
    "CardEnrolled": "Y",
    "Eci": "07",
    "Xid": "3ds_xid_def456"
  },
  "RetryAttempts": [
    {
      "AttemptNumber": "1",
      "Result": "Declined",
      "Timestamp": "2025-01-18T10:30:00Z"
    }
  ],
  "AdditionalInfo": {
    "AdditionalData": "Order #12346",
    "AdditionalReceiptData": "Payment declined - Insufficient funds"
  },
  "NayaxToken": "tok_nayax_ghi789jkl012",
  "NayaxSession": "sess_nayax_uvw456",
  "ExternalTransactionStatus": 250,
  "AuthCode": null,
  "PaymentAccountReference": "PAR987654321",
  "ShopperCountry": "GB",
  "ShopperLocale": "en-GB",
  "ShopperIp": "10.0.0.50",
  "PaymentMethod": "scheme",
  "Currency": "GBP",
  "Amount": "150.00",
  "Cavv": null,
  "CavvAlgorithm": null,
  "CvcResult": "N",
  "EReceiptUrl": null
}

Webhook Request Parameters

The following parameters define the structure of the incoming webhook notification:

Field NameTypeDescription
CardInfoObjectRoot object containing payment card details.
IssuerBinStringThe first 6 digits of the card (BIN).
BrandStringCard brand (e.g., Visa, Mastercard, Amex).
CardBinStringDetailed BIN information.
CardFinalDigitsStringLast 4 digits of the card.
ExpiryDateStringFormat: MM/YYYY.
IssuingCountryStringISO 2-character country code of the issuer.
IssuingBankStringName of the issuing financial institution.
IsCardCommercialString"true" or "false" indicating if it is a business card.
CardHolderNameStringName of the shopper as it appears on the card.
AliasStringUnique identifier/token for the specific card.
AliasTypeStringType of alias used (e.g., "Default").
Ecom3DSInfoObjectContains 3D Secure authentication details.
Is3DSOfferedString"true"/"false" if 3DS was initiated.
Is3DSAuthenticatedString"true"/"false" if shopper passed authentication.
LiabilityShiftString"true"/"false" indicating if liability has shifted to the issuer.
EciStringElectronic Commerce Indicator (e.g., 02, 05, 07).
XidStringTransaction identifier for 3DS.
RetryAttemptsArrayList of attempt objects containing AttemptNumber, Result, and Timestamp.
AdditionalInfoObjectMetadata and receipt details.
AdditionalDataStringCustom merchant-defined data or order IDs.
AdditionalReceiptDataStringInformation to be displayed on the customer receipt.
NayaxTokenStringThe reusable token for this payment method.
NayaxSessionStringThe unique session ID for the transaction.
ExternalTransactionStatusIntStatus code (e.g., 13=Approved, 250=Declined, 62=Refunded).
AuthCodeStringAuthorization code from the bank (null for declines).
PaymentAccountReferenceStringPAR associated with the card for tracking across tokens.
ShopperCountryStringCountry of the shopper (ISO code).
ShopperLocaleStringLanguage/Locale of the shopper (e.g., en-US).
ShopperIpStringIP address of the shopper.
PaymentMethodStringMethod used (e.g., "scheme", "amex").
CurrencyStringISO4217 Alpha-3 format (e.g., USD, GBP, EUR).
AmountStringThe transaction amount formatted as a string.
CavvStringCardholder Authentication Verification Value.
CvcResultStringResponse code for the CVC check (e.g., M=Match, N=No Match).
EReceiptUrlStringURL to the digital receipt hosted by Nayax.

See Also