Events

Currently, VoPay supports webhooks for the following events. A unique webhook URL can be set for each event. For more information see the Webhook API docs.

EventDescriptionExpected StatusesSample Payload
transactionA transaction status has changed.
  • pending
  • requested
  • in progress
  • sent
  • request fulfilled
  • received
  • failed
  • cancellation requested
  • cancelled
  • successful
  • settled
  • received
  • declined
  • complete
Click Here
elinxCustomer completes (or declines) your eLinx request
  • pending
  • completed
  • cancelled
  • declined
Click Here
bankaccountBank account details are received from the financial institution after your customer successfully connects their bank account
  • successful
  • failed
Click Here
creditcardYour customer successfully connected their credit card
  • successful
Click Here
debitcardYour customer successfully connected their debit card
  • successful
Click Here
scheduledtransactionsA scheduled payment was created on the requested date. If the scheduled transaction was for client accounts the payload will include the TransferType
  • completed
  • failed
Click Here
batchrequestEach request in the batch has been processed.
  • processed
Click Here
batchdetailA transaction inside a batch request could not be created
  • failed
Click Here
accountonboardingA VoPay account status has changed.Note: This event is only available to Partner accounts and VoPay accounts with Sub-accounts enabledNote: When the account is activated, the account's API key and shared secret will be included in the webhook payload
  • Account Validation
  • Account Review and Validation
  • Sales Manager Approval
  • Agreement Pending
  • Application Pending
  • Underwriting
  • Credit Risk Review
  • Account Provisioning
  • Certification Pending
  • Active
  • Rejected
  • Disabled
  • Suspended
Click Here
accountonboardingapplicationImport data to an onboarding application is completeNote: This event is only available to Partner accounts
  • import application data complete
Click Here
accountverificationsAn account verification request has changed status.
  • verified
  • failed
  • expired
Click Here
contactverificationAn account verification request has changed status.
  • verified
  • failed
  • unverified
Click Here
accountbalanceYour VoPay account balance has dropped below the specified threshold
  • low balance
Click Here
clientaccountbalanceA client account balance has dropped below the specified threshold
  • low balance
Click Here
accountlimitYour VoPay account has surpassed a specified threshold of your daily, weekly, monthly transaction limits
  • transaction limit warning
Click Here
rollingreserveYour VoPay Account rolling reserve has been updates
  • rolling reserve updated
Click Here
dataenrichmentData enrichment has been completed
  • successful
Click Here
transactiongroupTransactions within a transaction group have been processed
  • processing
  • completed
Click Here
clientaccountverificationA client account verification has been completed
  • complete
Click Here
clientaccountinformationcompleteA client account/contact has been activated after completing the KYC
  • Active
Click Here
paymentreceivedInbound payment has been received
  • complete
Click Here
virtualtransactionA virtual transaction has been processed
  • successful
Click Here
virtualaccountcreatedA virtual account has been created and assigned to a VoPay account
  • created
Click Here
accountblockedAn account has been blocked or unblocked by the secured (DACA) account
  • blocked
  • active
Click Here
📘

Testing Webhook Notifications

If you want to test that your webhooks are working, simply call the Test Webhook Endpoint. This will simulate a webhook notification for the provided event.

Sample Payloads

Transaction Status Change

{
  "Success": true,
  "EventID": "5576",
  "Status": "in progress",
  "ID": "97684",
  "Event": "transaction",
  "TransactionAmount": "25262.00",
  "ClientReferenceNumber": "ABC97112731",
  "TransactionType": "vopayinsantwithdraw",
  "TransactionID": "97684",
  "AccountID": "testuser",
  "ErrorCode": "901",
  "FailureReason": "NSF",
  "UpdatedAt": "2023-07-16 14:56:00",
  "ValidationKey": "6d538372b1a5baa7249818c1cff6b94ea9b97481",
  "Environment": "Production"
}

eLinx Status Change

{
  "Success": true,
  "EventID": "5576",
  "Status": "completed",
  "ID": "43085",
  "Event": "elinx",
  "TransactionAmount": "56747.00",
  "TransactionType": "elinx",
  "TransactionID": "54798",
  "TransactionIDs":{
    "TransactionID":"54798",
    "TransactionType":"PayPal Withdrawal"
  },
  "BankAccountToken":"a022ff77a55e6d00bf271a2b36c65a26600a1a24",
  "Token":{
    "Token":"a022ff77a55e6d00bf271a2b36c65a26600a1a24",
    "ConnectionType":"paypal"
  },
  "AccountID": "testuser",
  "UpdatedAt": "2023-07-16 14:58:23",
  "ValidationKey": "0539d46f95d10202d669798170934f02f1df9647",
  "Environment": "Production"
}

Bank Account Connection

{
  "Success": true,
  "EventID": "5576",
  "Status": "successful",
  "ID": "a022ff77a55e6d00bf271a2b36c65a26600a1a24",
  "Event": "bankaccount",
  "FinancialInstitutionNumber": "777",
  "BranchTransitNumber": "77777",
  "AccountNumber": "***4567",
  "InstitutionName": "VoPay Capital",
  "AccountHolderName": "Ada Lovelace",
  "TransactionType": "bankaccount",
  "Token": "a022ff77a55e6d00bf271a2b36c65a26600a1a24",
  "TokenType": "iq11",
  "AccountID": "testuser",
  "ClientAccountID": "testuserclient",
  "UpdatedAt": "2023-07-16 14:59:41",
  "ValidationKey": "32312558158b02af4749184a72b22cd0c7d690a4",
  "Environment": "Production"
}

Credit Card Connection

{
  "Success": true,
  "EventID": "5576",
  "Status": "successful",
  "ID": "a022ff77a55e6d00bf271a2b36c65a26600a1a25",
  "Event": "creditcard",
  "AccountNumber": "************4567",
  "CardBrand":"mastercard",
  "CardHolderName":"Ada Lovelace",
  "Token": "a022ff77a55e6d00bf271a2b36c65a26600a1a25",
  "AccountID": "testuser",
  "ClientAccountID": "testuserclient",
  "UpdatedAt": "2023-07-16 14:59:41",
  "ValidationKey": "32312558158b02af4749184a72b22cd0c7d690a4",
  "Environment": "Production"
}

Debit Card Connection

{
  "Success": true,
  "EventID": "5576",
  "Status": "successful",
  "ID": "a022ff77a55e6d00bf271a2b36c65a26600a1a25",
  "Event": "debitcard",
  "AccountNumber": "************000",
  "CardBrand":"mastercard",
  "CardHolderName":"Ada Lovelace",
  "Token": "a022ff77a55e6d00bf271a2b36c65a26600a1a25",
  "AccountID": "testuser",
  "ClientAccountID": "testuserclient",
  "UpdatedAt": "2023-07-16 14:59:41",
  "ValidationKey": "32312558158b02af4749184a72b22cd0c7d690a4",
  "Environment": "Production"
}

Scheduled Payment Created

{
  "Success": true,
  "EventID": "5576",
  "Status": "completed",
  "ID": "739",
  "Event":"scheduledtransactions",
  "TransactionID": "97684",
  "ClientReferenceNumber": "ABC97112731",
  "EftType": "fund",
  "Amount": "56747.00",
  "Frequency": "single",
  "Description": "this is a description",
  "TransactionType":"scheduledtransactions",
  "AccountID": "testuser",
  "UpdatedAt": "2023-07-16 15:01:04",
  "ValidationKey": "64d58f7d1577d05447797a7dcb7c2bc1130c98c7",
  "Environment": "Production"
}

Scheduled Payment Created (Client Account)

{
  "Success": true,
  "EventID": "5576",
  "Status": "in progress",
  "ID": "2",
  "Event": "scheduledtransactions",
  "FundingTransactionID": "3006608",
  "AccountTransferID": "3006609",
  "WithdrawTransactionID": "3006611",
  "ClientReferenceNumber": "50520201723",
  "TransferType": "fund-transfer-withdraw",
  "Amount": "9.00",
  "Frequency": "monthly",
  "AccountID": "testuserclient",
  "UpdatedAt": "2025-05-01 17:54:15",
  "ValidationKey": "70ca8c7448d14dcc6617053dc79bec456fb6a208",
  "Environment": "Production"
}

Scheduled Payment Created (Client Account - split transaction)

{
  "Success": true,
  "EventID": "5576",
  "Status": "in progress",
  "ID": "3",
  "Event": "scheduledtransactions",
  "FundingTransactionID": "3006608",
  "FundingTransactionID": "3006655",
  "AccountTransferIDs": "3006656, 3006658",
  "TransferType": "fund-transfer",
  "Amount": "9.00",
  "Frequency": "monthly",
  "AccountID": "testuserclient",
  "UpdatedAt": "2025-05-01 17:54:15",
  "ValidationKey": "70ca8c7448d14dcc6617053dc79bec456fb6a208",
  "Environment": "Production"
}

Batch Request Processed

{
  "Success": true,
  "EventID": "5576",
  "Status": "processed",
  "ID": "4562",
  "Event":"batchrequest",
  "TransactionType": "Interac",
  "PaymentType": "Credit",
  "NumRecords": 143,
  "TotalAmount": "84099.00",
  "AccountID": "testuser",
  "UpdatedAt": "2023-07-16 15:02:26",
  "ValidationKey": "c872c130e8cb70e3efa4fcd40af8d4b34029d9be",
  "Environment": "Production"
}

Batch Request Transaction Failed

{
  "Success": true,
  "EventID": "5576",
  "Status": "failed",
  "FailureReason": "This is a failure reason",
  "ID": "4315",
  "Event":"batchdetail",
  "BatchTransactionRequestID": "4315",
  "TransactionType": "Interac",
  "PaymentType": "Debit",
  "TransactionPayload": {
    "Key1": "Value1",
    "Key2": "Value2"
  },
  "AccountID": "testuser",
  "UpdatedAt": "2023-07-16 15:03:34",
  "ValidationKey": "9887ada342c217d37f686edb481fce9a034462fb",
  "Environment": "Production"
}

Account Status Change

{
  "Success": true,
  "EventID": "5576",
  "Status": "Account Provisioning",
  "ID": "account2537",
  "Event":"accountonboarding",
  "Account name": "Account_2537",
  "Process": "Onboarding",
  "AccountID":"account2537",
  "Key":"lkmn543980gera0l",
  "SharedSecret":"GFHsTgswsgSWER==",
  "UpdatedAt": "2023-07-16 15:04:40",
  "ValidationKey": "1ed0d24551bf016b8052d23521a3e586eb26d8aa",
  "Environment": "Production"
}

Account Onboarding Application Import

{
  "Success": true,
  "EventID": "5576",
  "Status": "import application data complete",
  "ID": "account2537",
  "Event":"accountonboardingapplication",
  "Failures": {
    "0":"Invalid FormFieldID '4447891145'"
  },
  "Link":"https://onboarding-app.vopay.com?applicationToken=<token>",
  "Progress":25,
  "NumRecordsUpdated":21,
  "UpdatedAt": "2023-07-16 15:04:40",
  "ValidationKey": "1ed0d24551bf016b8052d23521a3e586eb26d8aa",
  "Environment": "Production"
}

Account Verification Status Change

{
  "Success": true,
  "EventID": "5576",
  "Status": {
    "Transaction": {
      "Credit": "in progress",
      "Debit": null
     },
     "Verification": "verified",
     "Request": "active"
  },
  "ID": "79",
  "Event":"accountverifications",
  "AccountID": "testuser",
  "Amount": "0.11",
  "VerificationType":"bank",
  "FailureReason": null,
  "VerificationAttempts": "1",
  "ClientReferenceNumber": "123456",
  "Notes": "this is a note",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Contact Verification

{
  "Success": true,
  "EventID": "5576",
  "ID": "79",
  "Event":"contactverification",
  "AccountID": "testuser",
  "VerificationStatus": "verified",
  "FullName": "Ada Lovelace",
  "DOB": "1970-01-01",
  "VerificationType":"email",
  "ClientAccountID": "ClientAccount_1234",
  "EmailAddress": "[email protected]",
  "PhoneNumber": "5555555555",
  "Address": {
    "Address1": "123 Fake St",
    "Address2": "P/O 123",
    "City": "Vancouver",
		"Province/State": "BC",
    "PostalCode": "A1A1A1",
		"Country": "CAN"
  },
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Low Balance Alert (VoPay Account)

{
  "Success": true,
  "EventID": "5576",
  "Status": "low balance",
  "ID": "Account_1234",
  "Event":"accountbalance",
  "AccountID": "testuser",
  "AccountBalance": "100",
  "PendingBalance": 100,
  "Reserve": "1000",
  "AvailableBalance": "-1000",
  "Currency": "CAD",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Low Balance Alert (Client Account)

{
  "Success": true,
  "EventID": "5576",
  "Status": "low balance",
  "ID": "ClientAccount_1234",
  "Event":"clientaccountbalance",
  "AccountID": "testuser",
  "AccountBalance": "100",
  "PendingBalance": 100,
  "Reserve": "1000",
  "AvailableBalance": "-1000",
  "Currency": "CAD",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Account Limit

{
  "Success": true,
  "EventID": "5576",
  "Status": "transaction limit warning",
  "ID": "Account_1234",
  "Event": "accountlimit",
  "AccountID": "testuser",
  "LimitType": "Monthly",
  "LimitPercentExceeded": 50,
  "Message": "Your VoPay Account: Account_1234 has reached 50% of the monthly transaction limit",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Rolling Reserve

{
  "Success": true,
  "EventID": "5576",
  "Status": "rolling reserve updated",
  "ID": "Account_1234",
  "Event": "rollingreserve",
  "AccountID": "testuser",
  "PreviousBalance": {
    "AccountBalance":"0.00",
    "PendingBalance":"0.00",
    "Reserve":"0.00",
    "RollingReserveNSF":"422.95",
    "RollingReserveReturns":"0.00",
    "AvailableBalance":"-422.95"
  },
  "CurrentBalance": {
    "AccountBalance":"0.00",
    "PendingBalance":"0.00",
    "Reserve":"0.00",
    "RollingReserveNSF":"0.00",
    "RollingReserveReturns":"0.00",
    "AvailableBalance":"0.00"
  },
  "Currency": "CAD",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Rolling Reserve (Client Account)

{
  "Success": true,
  "EventID": "5576",
  "Status": "rolling reserve updated",
  "ID": "Account_1234",
  "Event": "rollingreserve",
  "AccountID": "testuser",
  "ClientAccountID": "ClientAccount_1234",
  "PreviousBalance": {
    "AccountBalance":"0.00",
    "PendingBalance":"0.00",
    "Reserve":"0.00",
    "RollingReserveNSF":"422.95",
    "RollingReserveReturns":"0.00",
    "AvailableBalance":"-422.95"
  },
  "CurrentBalance": {
    "AccountBalance":"0.00",
    "PendingBalance":"0.00",
    "Reserve":"0.00",
    "RollingReserveNSF":"0.00",
    "RollingReserveReturns":"0.00",
    "AvailableBalance":"0.00"
  },
  "Currency": "CAD",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Data Enrichment

{
  "Success": true,
  "EventID": "5576",
  "Status": "successful",
  "ID": "a022ff77a55e6d00bf271a2b36c65a26600a1a24",
  "Event": "dataenrichment",
  "AccountID": "testuser",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Transaction Group

{
  "Success": true,
  "EventID": "5576",
  "Status": "completed",
  "ID": "3297",
  "Event": "transactiongroup",
  "CollectedAmount":122317.82,
  "FailedAmount":122317.82,
  "ProcessedAmount":122317.82,
  "SubmittedAmount":"122317.82",
  "AccountID":"testuser",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Client Account Verification

{
  "Success": true,
  "EventID": "5576",
  "Status": "complete",
  "ID": "Account_1234",
  "Event": "clientaccountverification",
  "AccountID": "testuser",
  "Message": "Client Account ClientAccount_1234 verification status updated to complete",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Client Account Information Complete

{
  "Success": true,
  "EventID": "5576",
  "Status": "Active",
  "ID": "Account_1234",
  "Event": "clientaccountinformationcomplete",
  "AccountID": "testuser",
  "Message": "Client Account ClientAccount_1234 has completed the information process and is now active.",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Payment Received

{
  "Success": true,
  "EventID": "5576",
  "Status": "complete",
  "ID": "4734",
  "Event": "paymentreceived",
  "TransactionAmount": "14.76",
  "TransactionDate": "2023-10-10 15:14:15",
  "TransactionCurrency": "EUR",
  "ClientReferenceNumber": "ABC97112731",
  "TransactionID": "9684",
  "Notes": "Incoming payment for Virtual Account ID 123",
  "AccountID": "testuser",
  "SenderName": "John Doe",
  "SenderIBAN": "DE89370400440532013000",
  "SenderAccountNumber": "123456789",
  "SenderRoutingNumber": "DEUTDEDB",
  "SenderFinancialInstitution": "DEUTDEDB",
  "SenderAddress1": "123 Main St",
  "SenderAddress2": "Suite 100",
  "SenderAddress3": "Berlin",
  "ReceiverName": "Jane Smith",
  "ReceiverIBAN": "GB29NWBK60161331926819",
  "ReceiverAccountNumber": "31926819",
  "ReceiverRoutingNumber": "NWBKGB2L",
  "ReceiverFinancialInstitution": "NWBKGB2L",
  "ReceiverAddress1": "456 Business Ave",
  "ReceiverAddress2": "Floor 3",
  "ReceiverAddress3": "London",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Virtual Transaction

{
  "Success": true,
  "EventID": "5576",
  "Status": "successful",
  "ID": "4734",
  "Event": "virtualtransaction",
  "TransactionDate": "2023-10-10 15:14:15",
  "Amount": "14.76",
  "AccountID": "testuser",
  "ClientAccountID": "ClientAccount_1234",
  "TransactionType": "funding",
  "AvailableBalance": "1234.56",
  "UpdatedAt": "2023-10-10 15:14:15",
  "ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
  "Environment": "Production"
}

Virtual Account Creation

{
  "Success": true,
  "EventID": "3079336",
  "Status": "created",
  "ID": "37",
  "Event": "virtualaccountcreated",
  "AccountID": "testuser",
  "VirtualAccountID": "37",
  "AccountNumber": "0025722431",
  "Currency": "EUR",
  "IBAN": "LU684080000025722431",
  "AccountHolderName": "EuroCurrencyAccount",
  "UpdatedAt": "2026-02-07 18:36:03",
  "ValidationKey": "12c9309a7f17d288f3a49221ec3ff0c01a13acde",
  "Environment": "Production"
}

Blocked Account Status Change

{
  "Success": true,
  "EventID": "3079336",
  "Status": "blocked",
  "ID": "Account_1234",
  "Event": "accountblocked",
  "AccountID": "Account_1234",
  "BlockedAccountStatus": "blocked",
	"BlockedAccountMessage": "Account has been unblocked. Outbound payment rails have been enabled."
  "UpdatedAt": "2026-02-07 18:36:03",
  "ValidationKey": "12c9309a7f17d288f3a49221ec3ff0c01a13acde",
  "Environment": "Production"
}