About webhook event types

View the payload structures of the webhook event types that are currently supported by the Equals Money API.

AccountCreated

An account has been created and all KYC checks have been successfully completed. This is the first event received during the onboarding process.

info

This is a legacy notification.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "F12345",
    "customerId": "123456789",
    "eventTime": "2023-05-31T15:59:17.613Z",
    "status": "applicationPending",
    "type": "Business",
    "messageId": "0473b4d0-2f69-4bc5-ab7b-94589a4e48ba",
    "webhookEventTypeName": "AccountCreated"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "customerId": "string",
    "eventTime": "string",
    "status": "string",
    "type": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
accountId
string
The ID of the newly-created account.

Allowable values:
A valid accountId
customerId
string
The ID of the customer.

Allowable values:
A valid string
eventTime
string
The date and time at which the webhook event was created, in ISO 8601 format.

Allowable values:
Format: yyyy-MM-ddThh:mm:ss.sssZ
status
string
The status of the account.

Allowable values:
applicationPending
type
string
The type of account.

Allowable values:
Business, Personal
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
AccountCreated

AccountActivated

An account has been opened and is ready to trade on, with active settlement details. This is the final event in the onboarding process.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "correlationId": "4333f2ef-8f1a-4b9e-92d8-42a00689883b",
    "createdAt": "2023-01-30T08:30:00Z",
    "details": {
      "countryOfRegistration": "United Kingdom",
      "fourthLine": "ACME",
      "name": "ACME",
      "timezone": "Europe/London"
    },
    "id": "F12345",
    "marketId": "e644ba77-7cb5-419b-8bea-57240e8ae21d",
    "primaryOwnerPersonaId": "e1a0720b-b78a-4b6b-a18d-e9e7d5a52bb0",
    "productId": "3135d763-551c-4289-b002-ea812bbd0d71",
    "settlementDetails": [
      {
        "currency": "GBP",
        "sortCode": "23-18-84",
        "accountNumber": "53448377",
        "ibans": [
          {
            "iban": "GB33SPPV23188453448377",
            "bic": "SPPVGB2LXXX"
          }
        ],
        "accountName": "William Walker",
        "bankName": "Brilliant Bank",
        "bankAddress": "41 Middle Street\nEnfield\nEN1 3JY\nUnited Kingdom",
        "balanceReference": null
      },
      {
        "currency": "EUR",
        "ibans": [
          {
            "iban": "GB33SPPV23188453448377",
            "bic": "SPPVGB2LXXX"
            }
        ],
        "accountName": "William Walker",
        "bankName": "Brilliant Bank",
        "bankAddress": "41 Middle Street\nEnfield\nEN1 3JY\nUnited Kingdom",
        "balanceReference": null
      },
      {
        "currency": "USD",
        "ibans": [
          {
            "iban": "GB33SPPV23188453448377",
            "bic": "SPPVGB2LXXX"
          }
        ],
        "accountName": "William Walker",
        "bankName": "Brilliant Bank",
        "bankAddress": "41 Middle Street\nEnfield\nEN1 3JY\nUnited Kingdom",
        "balanceReference": null
      }
    ],
    "status": "active",
    "type": "Business",
    "updatedAt": "2023-01-30T08:30:00Z",
    "messageId": "dbf14241-0ea2-41c3-8931-3cf064170118",
    "webhookEventTypeName": "AccountActivated"
  }
}
Copy
Copied
{
  "body": {
    "correlationId": "string",
    "createdAt": "string",
    "details": {
      "countryOfRegistration": "string",
      "fourthLine": "string",
      "name": "string",
      "timezone": "string"
    },
    "id": "string",
    "marketId": "string",
    "primaryOwnerPersonaId": "string",
    "productId": "string",
    "settlementDetails": [
      {
        "currency": "string",
        "sortCode": "string",
        "accountNumber": "string",
        "ibans": [
          {
            "iban": "string",
            "bic": "string"
          }
        ],
        "accountName": "string",
        "bankName": "string",
        "bankAddress": "string",
        "balanceReference": "string"
      },
      {
        "currency": "string",
        "ibans": [
          {
            "iban": "string",
            "bic": "string"
            }
        ],
        "accountName": "string",
        "bankName": "string",
        "bankAddress": "string",
        "balanceReference": "string"
      },
      {
        "currency": "string",
        "ibans": [
          {
            "iban": "string",
            "bic": "string"
          }
        ],
        "accountName": "string",
        "bankName": "string",
        "bankAddress": "string",
        "balanceReference": "string"
      }
    ],
    "status": "string",
    "type": "string",
    "updatedAt": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
correlationId
string
The ID that represents the link between the asynchronous request made to onboard an account and the webhook.

Allowable values:
A valid string
createdAt
string
The date and time at which the resource was created, in ISO 8601 format without milliseconds.

Allowable values:
Format: yyyy-MM-ddThh:mm:ssZ
details
object
Details about the account.

Allowable values:
A valid details object containing the following fields: countryOfRegistration, fourthLine, name, timezone
details.countryOfRegistration
string
The country that the account was registered in.

Allowable values:
<= 256 characters
details.fourthLine
string
The line that appears below the name on the payment card. For example, Equals Money. This is only for business accounts.

Allowable values:
<= 21 characters
details.name
string
The name of the account.

Allowable values:
<= 256 characters
details.timezone
string
The account's timezone.

Allowable values:
<= 256 characters
id
string
The ID of the account.

Allowable values:
A valid accountId
marketId
string
The ID of the market that the account is in.

Allowable values:
<= 36 characters
primaryOwnerPersonaID
string
The persona ID of the account's Primary Owner.

Allowable values:
A valid personaId (<= 36 characters)
productId
string
The ID of the product.

Allowable values:
A valid productId (<= 36 characters)
status
string
The status of the account.

Allowable values:
active
type
string
The type of account.

Allowable values:
Business, Personal
settlementDetails
object
The account's settlement details.

Allowable values:
A valid settlementDetails object containing the following fields: currency, sortCode, accountNumber, ibans, accountName, bankName, bankAddress, balanceReference
currency
string
The currency of the bank account, in ISO 4217 format.

Allowable values:
3 characters
sortCode
string
The sort code. This is only present for GBP budgets.

Allowable values:
<= 32 characters
accountNumber
string
The account number. This is only present for GBP budgets.

Allowable values:
<= 34 characters
ibans
string
Details about the IBAN and BIC.

Allowable values:
A valid ibans object containing the following fields: iban, bic
ibans.iban
string
The International Bank Account Number (IBAN).

Allowable values:
<= 100 characters
ibans.bic
string
The Bank Identifier Code (BIC).

Allowable values:
^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?
accountName
string
The name of the bank account.

Allowable values:
A valid string
bankName
string
The name of the bank that the bank account is held with.

Allowable values:
A valid string
bankAddress
string
The address of the bank that the bank account is held with.

Allowable values:
A valid string
balanceReference
string or null
The balance reference.

Allowable values:
A valid string
updatedAt
string
The date and time at which the resource was last modified, in ISO 8601 format without milliseconds.

Allowable values:
yyyy-MM-ddThh:mm:ssZ
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
AccountActivated

RecipientCreated

A recipient was created.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "e644ba77-7cb5-419b-8bea-57240e8ae21d",
    "isIban": "true",
    "isNcc": "false",
    "isSwift": "false",
    "name": "Jane Doe",
    "reasonForTransfer": "Payment",
    "recipientBankCountry": "GB",
    "recipientBankCurrency": "GBP",
    "recipientCity": "London",
    "recipientCountry": "United Kingdom",
    "uniqueId": "4333f2ef-8f1a-4b9e-92d8-42a00689883b",
    "messageId": "9e4f387d-a60c-45f0-b38b-37a5ceefd43f",
    "webhookEventTypeName": "RecipientCreated"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "isIban": boolean,
    "isNcc": boolean,
    "isSwift": boolean,
    "name": "string",
    "reasonForTransfer": "string",
    "recipientBankCountry": "string",
    "recipientBankCurrency": "string",
    "recipientCity": "string",
    "recipientCountry": "string",
    "uniqueId": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
accountId
string
The ID of the account.

Allowable values:
An existing accountId
isIban
boolean
Whether or not the banking information provided for the recipient was an International Bank Account Number (IBAN).

Allowable values:
true, false
isNcc
boolean
Whether or not the banking information provided for the recipient was a National Clearing Code (NCC).

Allowable values:
true, false
isSwift
boolean
Whether or not the banking information provided for the recipient was a SWIFT account.

Allowable values:
true, false
name
string
The name of the recipient.

Allowable values:
<= 256 characters
reasonForTransfer
string
The reason for the transfer.

Allowable values:
<= 256 characters
recipientBankCountry
string
The country of the recipient's bank, in ISO 3166-1 format.

Allowable values:
<= 2 characters
recipientBankCurrency
string
The currency of the recipient's bank account, in ISO 4217 format.

Allowable values:
3 characters
recipientCity
string
The city of the recipient.

Allowable values:
<= 256 characters
recipientCountry
string
The country of the recipient.

Allowable values:
^[A-Z]{2}$
uniqueId
string
The ID of the newly-created recipient. This is also known as the recipientId.

Allowable values:
<= 36 characters
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
RecipientCreated

RecipientDeleted

A recipient was deleted.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "F12345",
    "uniqueId": "dbf14241-0ea2-41c3-8931-3cf064170118",
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "RecipientDeleted"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "uniqueId": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
accountId
string
The ID of the account.

Allowable values:
An existing accountId
uniqueId
string
The ID of the recipient that was deleted.

Allowable values:
<= 36 characters
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
RecipientDeleted

BoxCredited

A budget was credited.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "F12345",
    "budgetId": "4db84122-9c4e-4607-98f7-84b2bbe02daf",
    "source": "orders",
    "identification": "231884",
    "institutionBic": "88604892",
    "institutionAddress": null,
    "schemeName": "UK.OBIE.SortCodeAccountNumber",
    "reference": "REF 123456",
    "remitterAddress": null,    
    "remitterName": "Sally Smith",
    "budgetName": "Marketing",
    "settlementPriceAmount": 0.5,
    "settlementPriceCurrency": "EUR",
    "paymentMethod": "UK.OBIE.BalanceTransfer",
    "boxTransactionId": 1234567,
    "ledgerBalance": "19.99",
    "sequentialId": "10",
    "valueDateTime": "2024-04-30T06:26:17.297Z",
    "messageId": "b04b2d4a-0ae7-4125-9389-15bb6d47645c",
    "webhookEventTypeName": "BoxCredited"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "budgetId": "string",
    "source": "string",
    "identification": "string",
    "institutionBic": "",
    "institutionAddress": null,
    "schemeName": "string",
    "reference": "string",
    "remitterAddress": null,    
    "remitterName": "string",
    "budgetName": "string",
    "settlementPriceAmount": number,
    "settlementPriceCurrency": "string",
    "paymentMethod": "string",
    "boxTransactionId": integer,
    "ledgerBalance": "string",
    "sequentialId": "string",
    "valueDateTime": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
accountId
string
The ID of the account.

Allowable values:
An existing accountId
budgetId
string
The ID of the budget that was credited.

Allowable values:
An existing budgetId
source
string
The type of event that triggered the credit:
  • exchange: two currencies were exchanged on an Equals Money budget, and funds have been credited to the currency that the funds were exchanged into
  • internal_transfer: funds were received from another budget on your account
  • external_credit: funds were credited to the budget from an external source
  • orders: funds were received from another budget on another Equals Money account
Allowable values:
exchange, internal_transfer, external_credit, orders
identification
string
The remitter's account identifier.

Allowable values:
A bank account number (^\d{8,17}$) or IBAN (<= 100 characters)
institutionBic
string
The identifier of the remitter's bank.

Allowable values:
A sort code (^\d{6}$) or BIC (^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?)
institutionAddress
string or null
The address of the remitter's bank.

Allowable values:
<= 109 characters
schemeName
string
The name of the scheme.

Allowable values:
UK.OBIE.SortCodeAccountNumber, UK.OBIE.IBAN
reference
string
The payment reference sent by the remitter.

Allowable values:
<= 256 characters
remitterAddress
string or null
The address of the remitter.

Allowable values:
<= 256 characters
remitterName
string
The name of the remitter.

Allowable values:
<= 256 characters
budgetName
string
The name of the budget that was credited.

Allowable values:
An existing budgetName (<= 75 characters)
settlementPriceAmount
number
The settlement amount.

Allowable values:
A valid number
settlementPriceCurrency
string
The currency of the settlement, in ISO 4217 format.

Allowable values:
3 characters
paymentMethod
string
The name of the payment method used, in Open Banking's standard format.

Allowable values:
UK.OBIE.FPS, UK.OBIE.BACS, UK.OBIE.CHAPS, UK.OBIE.SWIFT, UK.OBIE.BalanceTransfer, UK.OBIE.SEPACreditTransfer
boxTransactionId
integer
The ID of the budget transaction.

Allowable values:
A valid integer
ledgerBalance
string
The ledger balance after the debit has been applied.

Allowable values:
A valid string
sequentialId
integer
An incrementing number representing the latest balance.

Allowable values:
A valid string
valueDateTime
integer
The date and time at which the ledger was updated, in ISO 8601 format.

Allowable values:
Format: yyyy-MM-ddThh:mm:ss.sssZ
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
BoxCredited

BoxDebited

A budget was debited.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "F12345",
    "boxTransactionId": 8622112,
    "budgetId": "42082c6b-4ab2-4bf6-b71f-287ge74a66c3",
    "budgetName": "Marketing",
    "identification": "231884",
    "institutionBic": "88604892",
    "institutionAddress": null,
    "orderId": "E7PD93VMX3MC",
    "paymentMethod": "UK.OBIE.BalanceTransfer",
    "reference": "",
    "schemeName": "UK.OBIE.SortCodeAccountNumber",
    "settlementPriceAmount": 40000,
    "settlementPriceCurrency": "USD",
    "source": "orders",
    "ledgerBalance": "19.99",
    "sequentialId": "10",
    "valueDateTime": "2024-04-30T06:26:17.297Z",
    "messageId": "f10bf4e9-bf1a-49e0-b10a-a461bf5659f8",
    "webhookEventTypeName": "BoxDebited"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "boxTransactionId": integer,
    "budgetId": "string",
    "budgetName": "string",
    "identification": "string",
    "institutionBic": "string",
    "institutionAddress": "string",
    "orderId": "string",
    "paymentMethod": "string",
    "reference": "string",
    "schemeName": "string",
    "settlementPriceAmount": number,
    "settlementPriceCurrency": "string",
    "source": "string",
    "ledgerBalance": "number",
    "sequentialId": "string",
    "valueDateTime": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
accountId
string
The ID of the account.

Allowable values:
An existing accountId
boxTransactionId
integer
The ID of the budget transaction.

Allowable values:
A valid integer
budgetId
string
The ID of the budget that was debited.

Allowable values:
An existing budgetId
budgetName
string
The name of the budget that was debited.

Allowable values:
An existing budgetName (<= 75 characters)
identification
string
The recipients's account identifier.

Allowable values:
A bank account number (^\d{8,17}$) or IBAN (<= 100 characters)
institutionBic
string
The identifier of the recipient's bank.

Allowable values:
A sort code (^\d{6}$) or BIC (^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?)
institutionAddress
string or null
The address of the recipient's bank.

Allowable values:
<= 109 characters
orderId
string
The ID of the order.

Allowable values:
A valid orderId (12 characters)
paymentMethod
string
The name of the payment method used, in Open Banking's standard format.

Allowable values:
UK.OBIE.FPS, UK.OBIE.BACS, UK.OBIE.CHAPS, UK.OBIE.SWIFT, UK.OBIE.BalanceTransfer, UK.OBIE.SEPACreditTransfer
reference
string
The payment reference sent by the remitter.

Allowable values:
<= 256 characters
schemeName
string
The name of the scheme.

Allowable values:
UK.OBIE.SortCodeAccountNumber, UK.OBIE.IBAN
settlementPriceAmount
number
The settlement amount.

Allowable values:
A valid number
settlementPriceCurrency
string
The currency of the settlement, in ISO 4217 format.

Allowable values:
3 characters
source
string
The type of event that triggered the debit:
  • exchange: two currencies were exchanged on an Equals Money budget, and funds have been debited from the currency that the funds were exchanged from
  • internal_transfer: funds were sent to another Equals Money budget, which is in the same currency
  • orders: an order was created to send funds from a budget

Allowable values:
exchange, internal_transfer, orders
ledgerBalance
string
The ledger balance after the debit has been applied.

Allowable values:
A valid string
sequentialId
integer
An incremental number representing the latest balance.

Allowable values:
A valid string
valueDateTime
integer
The date and time at which the ledger was updated, in ISO 8601 format.

Allowable values:
Format: yyyy-MM-ddThh:mm:ss.sssZ
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
BoxDebited

OrderCreated

An order was created.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "F12345",
    "orderId": "M35TVZVMB4NYPO",
    "payments": [
      {
        "settlementDate": "2023-05-27T21:41:50Z",
        "rate": 1,
        "inverseRate": 1,
        "internalReference": "Payroll",
        "externalReference": "Payday",
        "from": {
          "amount": 5,
          "currency": "USD"
        },
        "to": {
          "amount": 5,
          "currency": "USD"
        },
        "recipient": {
          "id": "g54rt034",
          "name": "Jane Doe"
        }
      }
    ],
    "status": "created",
    "messageId": "2f25e9bb-4dd0-4427-8af5-48ac9ba8b185",
    "webhookEventTypeName": "OrderCreated"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "orderId": "string",
    "payments": [
      {
        "settlementDate": "string",
        "rate": number,
        "inverseRate": number,
        "internalReference":"string",
        "externalReference":"string",
        "from": {
          "amount": number,
          "currency": "string"
        },
        "to": {
          "amount": number,
          "currency": "string"
        },
        "recipient": {
          "id": "string",
          "name": "string"
        }
      }
    ],
    "status": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
accountId
string
The ID of the account that created the order.

Allowable values:
An existing accountId
orderId
string
The ID of the newly-created order.

Allowable values:
A valid orderId (12 characters)
payments
object
Details about the payment.

Allowable values:
A valid payments object containing the following fields: payAllCharges, settlementDate, rate, inverseRate, internalReference, externalReference, from, to, recipient
payments.settlementDate
string
The settlement date.

Allowable values:
^20[0-9]{2}[0-2]{1}[0-9]{1}[0-3]{1}[0-9]{1}$
payments.rate
number
The rate.

Allowable values:
A valid number
payments.inverseRate
number
The inverse rate.

Allowable values:
A valid number
payments.internalReference
string
The payment reference that you see.

Allowable values:
<= 256 characters
payments.externalReference
string
The payment reference that the recipient sees.

Allowable values:
<= 256 characters
from
object
Details about the payment source.

Allowable values:
amount, currency
from.amount
string
The amount in the source currency.

Allowable values:
A valid number
from.currency
string
The source currency, in in ISO-4217 format.

Allowable values:
3 characters
to
object
Details about the payment destination.

Allowable values:
amount, currency
to.amount
string
The amount in the destination currency.

Allowable values:
A valid number
to.currency
string
The destination currency, in ISO-4217 format.

Allowable values:
3 characters
recipient
object
Details about the recipient of the payment.

Allowable values:
id, name
recipient.id
string
The ID of the recipient.

Allowable values:
An existing recipientId
recipient.name
string
The name of the recipient.

Allowable values:
<= 256 characters
status
string
The status of the order.

Allowable values:
created
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
OrderCreated

OrderCompleted

An order was successfully completed.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "F12345",
    "orderId": "M35TVZVMB4NYPO",
    "payments": [
      {
        "settlementDate": "2023-05-27T21:41:50Z",
        "rate": 1,
        "inverseRate": 1,
        "internalReference": "Payroll",
        "externalReference": "Payday",
        "from": {
          "amount": 5,
          "currency": "USD"
        },
        "to": {
          "amount": 5,
          "currency": "USD"
        },
        "recipient": {
          "id": "g54rt034",
          "name": "Jane Doe"
        }
      }
    ],
    "status": "completed",
    "messageId": "2f25e9bb-4dd0-4427-8af5-48ac9ba8b185",
    "webhookEventTypeName": "OrderCompleted"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "orderId": "string",
    "payments": [
      {
        "settlementDate": "string",
        "rate": number,
        "inverseRate": number,
        "internalReference":"string",
        "externalReference": "string",
        "from": {
          "amount": number,
          "currency": "string"
        },
        "to": {
          "amount": number,
          "currency": "string"
        },
        "recipient": {
          "id": "string",
          "name": "string"
        }
      }
    ],
    "status": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
accountId
string
The ID of the account that created the order.

Allowable values:
A valid accountId
orderId
string
The ID of the completed order.

Allowable values:
A valid orderId (12 characters)
payments
object
Details about the payment.

Allowable values:
A valid payments object containing the following fields: payAllCharges, settlementDate, rate, inverseRate, internalReference, externalReference, from, to, recipient
payments.settlementDate
string
The settlement date.

Allowable values:
^20[0-9]{2}[0-2]{1}[0-9]{1}[0-3]{1}[0-9]{1}$
payments.rate
number
The rate.

Allowable values:
A valid number
payments.inverseRate
number
The inverse rate.

Allowable values:
A valid number
payments.internalReference
string
The payment reference that you see.

Allowable values:
<= 256 characters
payments.externalReference
string
The payment reference that the recipient sees.

Allowable values:
<= 256 characters
from
object
Details about the payment source.

Allowable values:
amount, currency
from.amount
string
The amount in the source currency.

Allowable values:
A valid number
from.currency
string
The source currency, in in ISO-4217 format.

Allowable values:
3 characters
to
object
Details about the payment destination.

Allowable values:
amount, currency
to.amount
string
The amount in the destination currency..

Allowable values:
A valid number
to.currency
string
The destination currency, in ISO-4217 format.

Allowable values:
3 characters
recipient
object
Details about the recipient of the payment.

Allowable values:
id, name
recipient.id
string
The ID of the recipient.

Allowable values:
An existing recipientId
recipient.name
string
The name of the recipient.

Allowable values:
<= 256 characters
status
string
The status of the order.

Allowable values:
completed
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
OrderCompleted

OrderCancelled

An order was cancelled.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "F12345",
    "orderId": "M35TVZVMB4NYPO",
    "payments": [
      {
        "amount": "2000",
        "externalReference": "PAY-45321",
        "fundsSettled": "true",
        "internalReference": "PAY-45321",
        "payAllCharges": "true",
        "recipientId": "2471fbf0-cb07-42fc-863e-5979d5773122",
        "recipientName": "Jane Doe",
        "sepa": "true"
      },
    ],
    "status": "cancelled",
    "messageId": "2f25e9bb-4dd0-4427-8af5-48ac9ba8b185",
    "webhookEventTypeName": "OrderCancelled"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "orderId": "string",
    "payments": [
      {
        "amount": number,
        "externalReference": "string",
        "fundsSettled": boolean,
        "internalReference": "string",
        "payAllCharges": boolean,
        "recipientId": "string",
        "recipientName": "string",
        "sepa": boolean
      },
    ],
    "status": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
accountId
string
The ID of the account that created the order.

Allowable values:
A valid accountId
orderId
string
The ID of the order.

Allowable values:
A valid orderId (12 characters)
payments
object
Details about the payment.

Allowable values:
A valid payments object containing the following fields: amount, externalReference, fundsSettled, fundsSettled, internalReference, payAllCharges, recipientId, recipientName, sepa
payments.amount
number
The value of the payment.

Allowable values:
A valid number
payments.externalReference
string
The payment reference that the recipient sees.

Allowable values:
<= 256 characters
payments.fundsSettled
boolean
Whether or not the payment has been funded.

Allowable values:
true, false
payments.internalReference
string
The payment reference that you see.

Allowable values:
<= 256 characters
payments.payAllCharges
boolean
Whether or not all routing charges are paid for by Equals Money.

Allowable values:
true, false
payments.recipientId
string
The ID of the recipient.

Allowable values:
An existing recipientId
payments.recipientName
string
The name of the recipient.

Allowable values:
<= 256 characters
payments.sepa
boolean
Whether or not the payment was a SEPA payment.

Allowable values:
true, false
status
string
The status of the order.

Allowable values:
cancelled
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
OrderCancelled

FeeCreated

A standalone fee was created. For example, a fee for receiving an inbound credit.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "F12345",
    "orderId": "E7PD93VMX3MC",
    "currency": "GBP",
    "relatedCreditId": 48731088,
    "createdAt": "2023-01-30T08:30:00Z",
    "amount": 20,
    "reference": "Fee for payment from William Walker",
    "messageId": "4b70ce20-defd-421c-aacc-f0d49ac645e1",
    "webhookEventTypeName": "FeeCreated"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "orderId": "string",
    "currency": "string",
    "relatedCreditId": number,
    "createdAt": "string",
    "amount": number,
    "reference": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
accountId
string
The ID of the account.

Allowable values:
A valid accountId
orderId
string
The ID of the order.

Allowable values:
A valid orderId (12 characters)
currency
string
The currency of the fee, in ISO-4217 format.

Allowable values:
3 characters
relatedCreditId
number
The related credit ID. If the fee was generated as a result of an inbound credit, this field will be populated with the box transaction ID of the related credit.

Allowable values:
A valid number
createdAt
string
The date and time at which the resource was created, in ISO 8601 format without milliseconds.

Allowable values:
Format: yyyy-MM-ddThh:mm:ssZ
amount
number
The amount of the fee.

Allowable values:
A valid number (=>0)
reference
string
The reference of the fee. This is set by Equals Money.

Allowable values:
A valid string
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
FeeCreated

3DSAuthRequest

3D Secure (3DS) authentication was requested.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "F12345",
    "acsTransactionId": "d7d34e0f-c6e9-4cea-8c25-baaffa81714f",
    "authenticationRequestType": "PAYMENT",
    "budgetId": "4bf13dc8-d128-4521-99b8-4002b8987499",
    "budgetName": "Account balance",
    "cardAcceptor": {
      "acquirerBin": "526567",
      "country": "",
      "merchantCategoryCode": "5734",
      "merchantId": "123456789012345",
      "name": "Computer Co.",
    },
    "cardId": "7221d41b-69c3-4fbc-8317-d3210d97b3ab",
    "createdTime": "2023-08-04T11:45:40.050Z",
    "currency": "GBP",
    "maxResponseTime": 8,
    "messageVersion": "2.2.0",
    "network": "MASTERCARD",
    "personId": "cf7c5c33-ba60-4f25-b8b1-0d9f28cf17d2",
    "state": "PENDING",
    "transaction": {
      "amount": 95.99,
      "currencyCode": 826,
      "exponent": 2,
      "subType": "PURCHASE",
      "transactionType": "PAYMENT",
    },
    "type": "authentication.challenge.out_of_band",
    "messageId": "2f25e9bb-4dd0-4427-8af5-48ac9ba8b185",
    "webhookEventTypeName": "3DSAuthRequest"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "acsTransactionId": "string",
    "authenticationRequestType": "string",
    "budgetId": "string",
    "budgetName": "string",
    "cardAcceptor": {
      "acquirerBin": "string",
      "country": "string",
      "merchantCategoryCode": "string",
      "merchantId": "string",
      "name": "string",
    },
    "cardId": "string",
    "createdTime": "string",
    "currency": "string",
    "maxResponseTime": integer,
    "messageVersion": "string",
    "network": "string",
    "personId": "string",
    "state": "string",
    "transaction": {
      "amount": number,
      "currencyCode": integer,
      "exponent": integer,
      "subType": "string",
      "transactionType": "string",
    },
    "type": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
acsTransactionId
string
The ID of the transaction, as assigned by the issuing bank's Access Control Server (ACS).

Allowable values:
36 characters
authenticationRequestType
string
The type of authentication request (AReq).

Allowable values:
PAYMENT, RECURRING, INSTALLMENT, ADD_CARD, MAINTAIN_CARD, EMV_CARDHOLDER_VERIFICATION
budgetId
string
The ID of the budget associated with the card that 3DS authentication was requested for.

Allowable values:
An existing budgetId (<= 36 characters)
budgetName
string
The name of the budget.

Allowable values:
An existing budgetName (<= 75 characters)
cardAcceptor
object
Details about the merchant with which the transaction is being made.

Allowable values:
A valid cardAcceptor object containing the following fields: acquirerBin, country, merchantCategoryCode, merchantId, name
cardAcceptor.acquirerBin
string
The identification code of the acquiring institution, as assigned by the payment network (DS) receiving the authentication request message.

Allowable values:
<= 11 characters
cardAcceptor.country
string
The country that the merchant is based in, in ISO 3166-1 format.

Allowable values:
2-3 characters
cardAcceptor.merchantCategoryCode
string
The merchant category code (MCC).

Allowable values:
<= 4 characters
cardAcceptor.merchantId
string
The ID of the merchant, as assigned by the acquirer.

Allowable values:
<= 35 characters
cardAcceptor.name
string
The name of the merchant.

Allowable values:
<= 40 characters
cardId
string
The ID of the card.

Allowable values:
An existing cardId (<= 36 characters)
cardToken
string
The token that represents the card.

Allowable values:
<= 36 characters
createdTime
string
The date and time at which the authentication request was created, in ISO 8601 format.

Allowable values:
Format: yyyy-MM-ddThh:mm:ss.sssZ
currency
string
The numeric code of the currency used in the transaction, in ISO 4217 format. For example, 826 for GBP.

Allowable values:
3 characters
maxResponseTime
integer
The maximum period of time, in minutes, that the 3DS Requestor will wait for an ACS to provide the results of a decoupled authentication transaction.

Allowable values:
1-10080
messageVersion
string
The 3DS protocol version used by the 3DS Requestor.

Allowable values:
5-8 characters
network
string
The card network associated with the authentication request.

Allowable values:
MASTERCARD, VISA
personId
string
The ID of the person.

Allowable values:
An existing personId (<= 36 characters)
state
string
The status of the authentication request.

Allowable values:
PENDING, SUCCESS, FAILED
transaction
object
Details about the transaction.

Allowable values:
A valid transaction object containing the following fields: amount, currencyCode, exponent, subType, transactionType
transaction.amount
number
The transaction amount, in minor units of currency and with all punctuation removed. For example, £1.99 would be 199.

Allowable values:
A valid number, without punctuation
transaction.currencyCode
integer
The currency code of the currency used in the transaction, in ISO 4217 format (numeric). For example, 826.

Allowable values:
3 characters
transaction.exponent
integer
The decimal relationship between the currency and its minor unit. For example, 2 for GBP.

Allowable values:
1 character
transaction.subType
string
The type of transaction being authenticated.

Allowable values:
PURCHASE, ACCOUNT_VERIFICATION, ACCOUNT_FUNDING, QUASI_CASH, PREPAID_ACTIVATION_AND_LOAD
transaction.transactionType
string
The category of the message.

Allowable values:
PAYMENT, NON_PAYMENT
type
string
The type of 3DS authentication, which describes the action to be taken.

Allowable values:
authentication.decision, authentication.result, authentication.challenge.out_of_band
userToken
string
The token that identifies the user.

Allowable values:
36 characters
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
3DSAuthRequest

CardTransaction

A card transaction has occurred.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "F12345",
    "createdAt": "2023-08-04T08:45:06Z",
    "merchant": {
      "name": "ACME",
      "id": "28edbbe7-9554-4f57-acef-abfcfc2218f5",
      "subMerchantId": null,
      "address": {
        "address": "624 12th Ave S",
        "city": "Nampa",
        "state": "Illinois",
        "postalCode": "83651",
        "countryCode": "US",
      },
      "merchantCategory": {
        "id": "f45f87b8-4920-49a2-8fce-15d0f5fa09d8",
        "code": "5734",
        "description": "Computer software stores",
        "createdAt": "2021-09-10T08:55:06.000Z",
        "updatedAt": "2021-09-10T08:55:06.000Z"
      },
    },
    "transaction": {
      "id": "9888e73c-3ea6-4911-bbdd-79f9bab5919c",
      "transactionGroupId": "fd3a65c7-4075-41ed-8d7e-e457be06f4e4",
      "boxTransactionId": "1234567",
      "budgetId": "34b61e61-a107-4bea-8efc-edf70c8e8e57",
      "budgetName": "Account balance",
      "personId": "5add9c37-0d7c-4d14-8192-16e822b3a080",
      "status": "COMPLETION",
      "type": "pgfs.refund",
      "method": "pgfs.refund",
      "localAmount": 1,
      "localAmountCurrency": "USD",
      "feeAmount": 0,
      "feeCurrency": "GBP",
      "exchangeRate": 1,
      "total": 1,
      "createdAt": "2023-08-04T08:45:08.000Z",
      "updatedAt": "2023-08-04T08:45:08.000Z",
      "transactionCreatedAt": "2023-08-04T08:45:06Z",
      "transactionCompletedAt": "2023-08-04T08:45:06Z",
      "approvalCode": "264647",
      "pos": {
        "cardDataInputCapability": "CHIP",
        "cardHolderPresence": true,
        "cardPresence": true,
        "cardholderAuthenticationMethod": "PIN",
        "countryCode": "USA",
        "isInstallment": "false",
        "isRecurring": "false",
        "panEntryMode": "CHIP",
        "partialApprovalCapable": false,
        "pinEntryMode": "TRUE",
        "pinPresent": true,
        "purchaseAmountOnly": false,
        "specialConditionIndicator": "UNSPECIFIED",
        "terminalAttendance": "ATTENDED",
        "terminalId": "12345678",
        "terminalLocation": "ON_PREMISE",
        "terminalType": "AUTO_DISPENSER_WITH_PIN",
        "zip": "94111",
      },
      "response": {
        "code": "0000",
        "memo": "Approved or completed successfully"
      }
    },
    "card": {
      "id": "8aca473d-8906-4283-8aab-964f7c52c61a",
      "type": "PHYSICAL_COMBO",
      "name": "Marketing team card",
      "lastDigits": "1234",
      "createdAt": "2023-05-05T20:22:54.000Z",
      "updatedAt": "2023-06-12T21:51:06.000Z"
    },
    "messageId": "7c055b43-d309-4fc2-b40d-4f65213a39d6",
    "webhookEventTypeName": "CardTransaction"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "createdAt": "string",
    "merchant": {
      "name": "string",
      "id": "string",
      "subMerchantId": "string",
      "address": {
        "address": "string",
        "city": "string",
        "state": "string",
        "postalCode": "string",
        "countryCode": "string",
      },
      "merchantCategory": {
        "id": "string",
        "code": "string",
        "description": "string",
        "createdAt": "string",
        "updatedAt": "string"
      },
    },
    "transaction": {
      "id": "string",
      "transactionGroupId": "string",
      "boxTransactionId": integer,
      "budgetId": "string",
      "budgetName": "string",
      "personId": "string",
      "status": "string",
      "type": "string",
      "method": "string",
      "localAmount": number,
      "localAmountCurrency": "string",
      "feeAmount": number,
      "feeCurrency": "string",
      "exchangeRate": number,
      "total": number,
      "createdAt": "string",
      "updatedAt": "string",
      "transactionCreatedAt": "string",
      "transactionCompletedAt": "string",
      "approvalCode": "string",
      "acquirerReferenceNumber": "string",
      "pos": {
        "cardDataInputCapability": "string",
        "cardHolderPresence": boolean,
        "cardPresence": boolean,
        "cardholderAuthenticationMethod": "string",
        "countryCode": "string",
        "isInstallment": boolean,
        "isRecurring": boolean,
        "panEntryMode": "string",
        "partialApprovalCapable": boolean,
        "pinEntryMode": "string",
        "pinPresent": boolean,
        "purchaseAmountOnly": boolean,
        "specialConditionIndicator": "string",
        "terminalAttendance": "string",
        "terminalId": "string",
        "terminalLocation": "string",
        "terminalType": "string",
        "zip": "string",
      },
      "response": {
        "code": "string",
        "memo": "string"
      }
    },
    "card": {
      "id": "string",
      "type": "string",
      "name": "string",
      "lastDigits": "string",
      "createdAt": "string",
      "updatedAt": "string"
    },
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
accountId
string
The ID of the account.

Allowable values:
A valid accountId
createdAt
string
The date and time at which the card transaction event was recorded by the Equals Money platform, in ISO 8601 format without milliseconds.

Allowable values:
Format: yyyy-MM-ddThh:mm:ssZ
merchant
object
Details about the merchant.

Allowable values:
A valid merchant object containing the following fields: name, id, subMerchantId, address, merchantCategory
merchant.name
string
The name of the merchant.

Allowable values:
A valid string
merchant.id
string
The ID of the merchant.

Allowable values:
A valid string
merchant.subMerchantId
string
The ID of the submerchant.

Allowable values:
A valid string
merchant.address
object
Details about the merchant's address.

Allowable values:
A valid address object containing the following fields: address, city, state, postalCode, countryCode
merchant.address.address
string
The merchant's street address.

Allowable values:
<= 256 characters
merchant.address.city
string
The merchant's city.

Allowable values:
<= 256 characters
merchant.address.state
string
The merchant's state.

Allowable values:
A valid string
merchant.address.postalCode
string
The merchant's postal or ZIP code.

Allowable values:
<= 36 characters
merchant.address.countryCode
string
The merchant's country.

Allowable values:
^[A-Z]{2}$
merchant.merchantCategory
object
Details about the merchant category.

Allowable values:
A valid merchantCategory object containing the following fields: id, code, description, createdAt, updatedAt
merchant.merchantCategory.id
string
The merchant category ID.

Allowable values:
<= 36 characters
merchant.merchantCategory.code
string
The merchant category code (MCC).

Allowable values:
<= 4 characters
merchant.merchantCategory.description
string
The description of the merchant category.

Allowable values:
A valid string
merchant.merchantCategory.createdAt
string
The date and time at which the merchant category was created, in ISO 8601 format.

Allowable values:
Format: yyyy-MM-ddThh:mm:ss.sssZ
merchant.merchantCategory.updatedAt
string
The date and time at which the merchant category was last updated, in ISO 8601 format.

Allowable values:
Format: yyyy-MM-ddThh:mm:ss.sssZ
transaction
object
Details about the transaction.

Allowable values:
A valid transaction object containing the following fields: transactionGroupId, boxTransactionId, budgetId, budgetName, personId, status, type, localAmount, localAmountCurrency, feeAmount, feeCurrency, exchangeRate, total, createdAt, updatedAt, transactionCreatedAt, transactionCompletedAt, response
transaction.id
string
The ID of the budget transaction.

Allowable values:
A valid string
transaction.transactionGroupId
string
The ID of the transaction group, which can be used to find all transactions that are part of the same transaction group.

Allowable values:
A valid string
transaction.boxTransactionId
integer
The ID of the budget transaction.

Allowable values:
A valid integer
transaction.budgetId
string
The ID of the budget that funded the card transaction.

Allowable values:
An existing budgetId
transaction.budgetName
string
The name of the budget that funded the card transaction.

Allowable values:
An existing budgetName (<= 75 characters)
transaction.personId
string
The ID of the person that initiated the card transaction.

Allowable values:
An existing personId (<= 36 characters)
transaction.status
string
The status of the transaction.

Allowable values:
AUTHORIZATION, PENDING, CLEARING, CLEARED, COMPLETION, REVERSAL
transaction.type
string
The transaction type. This may be different from the transaction method.

Allowable values:
card_check, pgfs.adjustment.credit, pgfs.adjustment.debit, pgfs.authorization, pgfs.authorization.account_verification, pgfs.authorization.capture, pgfs.authorization.capture.chargeback, pgfs.authorization.capture.chargeback.reversal, pgfs.authorization.incremental, pgfs.authorization.reversal, pgfs.authorization.standin, pgfs.auth_plus_capture, pgfs.auth_plus_capture.standin, pgfs.balanceinquiry, pgfs.billpayment, pgfs.billpayment.capture, pgfs.billpayment.reversal, pgfs.directdeposit.credit, pgfs.directdeposit.credit.reversal, pgfs.directdeposit.debit, pgfs.directdeposit.debit.reversal, pgfs.dispute.credit, pgfs.dispute.debit, pgfs.force_capture, pgfs.network.load, pgfs.original.credit.authorization, pgfs.original.credit.auth_plus_capture, pgfs.pindebit.chargeback, pgfs.pindebit.chargeback.reversal, pgfs.refund, pgfs.refund.authorization, pgfs.refund.authorization.reversal
transaction.method
string
The transaction method. This may be different from the transaction type.

Allowable values:
pgfs.adjustment.credit, pgfs.adjustment.debit, pgfs.auth_plus_capture,pgfs.auth_plus_capture.reversal, pgfs.auth_plus_capture.standin, pgfs.authorization, pgfs.authorization.account_verification, pgfs.authorization.capture, pgfs.authorization.capture.chargeback, pgfs.authorization.capture.chargeback.reversal, pgfs.authorization.incremental, pgfs.authorization.reversal, pgfs.authorization.standin, pgfs.force_capture, pgfs.original.credit.authorization, pgfs.original.credit.authorization.clearing, pgfs.original.credit.authorization.reversal, pgfs.original.credit.auth_plus_capture, pgfs.original.credit.auth_plus_capture.reversal, pgfs.balanceinquiry, pgfs.pindebit.chargeback, pgfs.pindebit.chargeback.reversal, pgfs.refund, pgfs.refund.authorization, pgfs.refund.authorization.reversal
transaction.localAmount
number
The transaction amount, in the local currency.

Allowable values:
A valid number
transaction.localAmountCurrency
string
The currency of the transaction, in ISO 4217 format.

Allowable values:
3 characters
transaction.feeAmount
number
The amount of the fee passed on from the network. This is not set by Equals Money.

Allowable values:
A valid number
transaction.feeCurrency
string
The currency of the fee, in ISO 4217 format.

Allowable values:
3 characters
transaction.exchangeRate
number
The exchange rate.

Allowable values:
A valid number
transaction.total
number
The total amount.

Allowable values:
A valid number
transaction.createdAt
string
The date and time at which the transaction event was created, in ISO 8601 format.

Allowable values:
Format: yyyy-MM-ddThh:mm:ss.sssZ
transaction.updatedAt
string
The date and time at which the transaction event was last updated, in ISO 8601 format.

Allowable values:
Format: yyyy-MM-ddThh:mm:ss.sssZ
transaction.transactionCreatedAt
string
The date and time at which a creation event was recorded for this transaction group, in ISO 8601 format without milliseconds.

Allowable values:
Format: yyyy-MM-ddThh:mm:ssZ
transaction.transactionCompletedAt
string
The date and time at which a completion event was recorded for this transaction group, in ISO 8601 format without milliseconds.

Allowable values:
Format: yyyy-MM-ddThh:mm:ssZ
transaction.approvalCode
string
The transaction's unique approval code, printed on the receipt at point of sale.

Allowable values:
<= 255 characters
transaction.acquirerReferenceNumber
string
The acquirer reference number (ARN).

Allowable values:
A valid string (<= 255 characters)
transaction.pos
object
Details about the point of sale.

Allowable values:
A valid pos object containing the following fields: cardDataInputCapability, cardHolderPresence, cardPresence, cardholderAuthenticationMethod, countryCode, isInstallment, isRecurring, panEntryMode, partialApprovalCapable, pinEntryMode, pinPresent, purchaseAmountOnly, specialConditionIndicator, terminalAttendance, terminalId, terminalLocation, terminalType, zip
transaction.pos.cardDataInputCapability
string
The way that the terminal accepts card data.

Allowable values:
UNKNOWN, NO_TERMINAL, MAG_STRIPE, MAG_STRIPE_CONTACTLESS, MAG_STRIPE_KEY_ENTRY, CHIP, CHIP_CONTACTLESS, CHIP_MAG_STRIPE, CHIP_MAG_STRIPE_KEY_ENTRY, KEY_ENTRY, OCR, MICR, BAR_CODE
transaction.pos.cardHolderPresence
boolean
Whether or not the cardholder was present during the transaction.

Allowable values:
true, false
transaction.pos.cardPresence
boolean
Whether or not the card was present during the transaction.

Allowable values:
true, false
transaction.pos.cardholderAuthenticationMethod
string
The method used to authenticate the cardholder.

Allowable values:
UNSPECIFIED, NON_AUTHENTICATED, SIGNATURE, PIN, ID_VERIFIED
transaction.pos.countryCode
string
The country code of the card acceptor or terminal, is ISO 3166 (alpha-3) format.

Allowable values:
3 characters
transaction.pos.isInstallment
boolean
Whether or not the transaction is an installment payment.

Allowable values:
true, false
transaction.pos.isRecurring
boolean
Whether or not the transaction is recurring.

Allowable values:
true, false
transaction.pos.panEntryMode
string
The method used for capturing the card primary account number (PAN) during the transaction.

Allowable values:
UNKNOWN, MANUAL, MAG_STRIPE, MAG_STRIPE_CONTACTLESS, BAR_CODE, OCR, MICR, CHIP, CHIP_CONTACTLESS, CARD_ON_FILE, CHIP_FALLBACK, OTHER
transaction.pos.partialApprovalCapable
boolean
Whether or not the card acceptor or terminal supports partial-approval transactions.

Allowable values:
true, false
transaction.pos.pinEntryMode
string
Whether or not the card acceptor or terminal can capture card personal identification numbers (PINs). This field doesn't indicate whether or not a PIN was entered. That information is captured in the transaction.pos.pinPresent field.

Allowable values:
UNKNOWN, TRUE, FALSE, DEFECTIVE
transaction.pos.pinPresent
boolean
Whether or not the cardholder entered a PIN during the transaction.

Allowable values:
true, false
transaction.pos.purchaseAmountOnly
boolean
Whether or not the card acceptor or terminal supports purchase-only approvals.

Allowable values:
true, false
transaction.pos.specialConditionIndicator
string
Describes a higher-risk operation, such as a quasi-cash or cryptocurrency transaction. These transactions typically involve non-financial institutions.

Allowable values:
CRYPTOCURRENCY_PURCHASE, DEBT_PAYMENT, QUASI_CASH, UNSPECIFIED
transaction.pos.terminalAttendance
string
Whether or not the card acceptor or terminal was attended.

Allowable values:
UNSPECIFIED, ATTENDED, UNATTENDED, NO_TERMINAL
transaction.pos.terminalId
string
The card acceptor or terminal identification number.

Allowable values:
<= 255 characters
transaction.pos.terminalLocation
string
The location of the card acceptor or terminal.

Allowable values:
ON_PREMISE, OFF_PREMISE_MERCHANT, OFF_PREMISE_CARDHOLDER, NO_TERMINAL
transaction.pos.terminalType
string
The type of card acceptor or terminal.

Allowable values:
AUTO_DISPENSER_WITH_PIN, SELF_SERVICE, LIMITED_AMOUNT, IN_FLIGHT, ECOMMERCE, TRANSPONDER
transaction.pos.zip
string
The postal or ZIP code of the card acceptor or terminal.

Allowable values:
<= 10 characters
transaction.response
object
Details about the response.

Allowable values:
A valid response object containing the following fields: code, memo
transaction.response.code
string
The response code describing the final outcome of the transaction. View possible response codes.

Allowable values: 4 characters
transaction.response.memo
string
The description of the verification result, as provided by a transaction participant.

Allowable values:
=< 99 characters
card
string
Details about the card.

Allowable values:
A valid card object containing the following fields: id, type, name, lastDigits, createdAt, updatedAt
card.id
string
The ID of the card.

Allowable values:
<= 36 characters
card.type
string
The card's type.

Allowable values:
VIRTUAL_PAN, PHYSICAL_MSR, PHYSICAL_COMBO
card.name
string
The name of the card.

Allowable values:
A valid string
card.lastDigits
string
The last four digits of the card.

Allowable values:
4 characters
card.createdAt
string
The date and time at which the card was created, in ISO 8601 format.

Allowable values:
Format: yyyy-MM-ddThh:mm:ss.sssZ
card.updatedAt
string
The date and time at which the card was last updated, in ISO 8601 format.

Allowable values:
Format: yyyy-MM-ddThh:mm:ss.sssZ
messageId
type
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
type
The name of the webhook event type.

Allowable values:
CardTransaction

DigitalWalletTokenTransition

A digital wallet token's state has changed. This can be either because a digital wallet token has been created, or because an existing token's state has been updated.

Sample payloadEvent structure
Copy
Copied
{
  "body": {
    "accountId": "F12345",
    "cardId": "9e25d1de-80ed-4c18-8fb0-48b0a859e4df",
    "cardType": "PHYSICAL_COMBO",
    "cardOwnerType": "PEOPLE",
    "digitalWalletTokenTransitionToken": "4333f2ef-8f1a-4b9e-92d8-42a00689883b",
    "digitalWalletTokenTransitionChannel": "API",
    "digitalWalletToken": "dbf14241-0ea2-41c3-8931-3cf064170118",
    "digitalWalletTokenState": "ACTIVE",
    "digitalWalletTokenTransitionType": "state.activated",
    "digitalWalletTokenTransitionFulfillmentStatus": "DECISION_GREEN",
    "cardState": "ACTIVE",
    "updatedAt": "2023-10-30T12:30:12.000Z",
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "DigitalWalletTokenTransition"
  }
}
Copy
Copied
{
  "body": {
    "accountId": "string",
    "cardId": "string",
    "cardType": "string",
    "cardOwnerType": "string",
    "digitalWalletTokenTransitionToken": "string",
    "digitalWalletTokenTransitionChannel": "string",
    "digitalWalletToken": "string",
    "digitalWalletTokenState": "string",
    "digitalWalletTokenTransitionType": "string",
    "digitalWalletTokenTransitionFulfillmentStatus": "string",
    "cardState": "string",
    "updatedAt": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
Field Description
accountId
string
The ID of the account associated with the digital wallet token.

Allowable values:
A valid accountId
cardId
string (uuid)
The ID of the card that the digital wallet token represents.

Allowable values:
An existing cardId (<= 36 characters)
cardType
string
The type of card that the digital wallet token represents.

Allowable values:
VIRTUAL_PAN, PHYSICAL_MSR, PHYSICAL_COMBO
cardOwnerType
string
The type of owner that the card belongs to: a budget (BUDGET) or an individual (PEOPLE).

Allowable values:
BUDGET, PEOPLE
digitalWalletTokenTransitionToken
string
The token that represents the digital wallet token's state, rather than the digital wallet itself.

Allowable values:
<= 36 characters
digitalWalletTokenTransitionChannel
string
The method through which the digital wallet token transition was initiated.

Allowable values:
TOKEN_SERVICE_PROVIDER, DIGITAL_WALLET, API, IVR, FRAUD, ADMIN, SYSTEM, TOKEN_SERVICE_PROVIDER_API
digitalWalletToken
string (uuid)
The digital wallet token.

Allowable values:
A valid digitalWalletToken (<= 36 characters)
digitalWalletTokenState
string (uuid)
The newly-updated state of the digital wallet token. For a newly-created digital wallet token, this is set to REQUESTED.

Allowable values:
REQUESTED, REQUEST_DECLINED, ACTIVE, SUSPENDED, TERMINATED
digitalWalletTokenTransitionType
string
The type of digital wallet token transition that occurred.

Allowable values:
fulfillment.requested, state.request_declined, state.activated, state.suspended, state.reinstated, state.terminated, card.swap
digitalWalletTokenTransitionFulfillmentStatus
string
The fulfillment status of the digital wallet token transition.

Allowable values:
DECISION_RED, DECISION_YELLOW, DECISION_GREEN, REJECTED, PROVISIONED
cardState
string
The state of the card. Learn more about card states.

Allowable values:
ACTIVE, SUSPENDED, TERMINATED, UNACTIVATED, REPLACED
updatedAt
string
The date and time at which the resource was last modified, in ISO 8601 format without milliseconds.

Allowable values:
yyyy-MM-ddThh:mm:ssZ
messageId
string
The ID of the specific webhook event message. We'll keep retrying to send an event with the same messageId until we receive a 200 response from you.

Allowable values:
36 characters
webhookEventTypeName
string
The name of the webhook event type.

Allowable values:
AccountCreated