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.
Event | Description | Expected Statuses | Sample Payload |
---|---|---|---|
transaction | A transaction status has changed. | - pending - requested - in progress - sent - request fulfilled - received - failed - cancellation requested - cancelled - successful - settled | Click Here |
elinx | Customer completes (or declines) your eLinx request | - pending - completed - cancelled - declined | Click Here |
bankaccount | Bank account details are received from the financial institution after your customer successfully connects their bank account | - successful - failed | Click Here |
scheduledtransactions | A 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 |
batchrequest | Each request in the batch has been processed. | - processed | Click Here |
batchdetail | A transaction inside a batch request could not be created | - failed | Click Here |
accountonboarding | A VoPay account status has changed. Note: This event is only available to Partner accounts and VoPay accounts with Sub-accounts enabled Note: When the account is activated, the account's API key and shared secret will be included in the webhook payload | - application pending - compliance review - account provisioning - active - rejected - disabled - suspended | Click Here |
accountverifications | An account verification request has changed status. | - verified - failed - expired | Click Here |
accountbalance | Your VoPay account balance has dropped below the specified threshold | - low balance | Click Here |
clientaccountbalance | A client account balance has dropped below the specified threshold | - low balance | 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,
"Status": "in progress",
"ID": 97684,
"TransactionAmount": "25262.00",
"ClientReferenceNumber": "ABC97112731",
"TransactionType": "vopayinsantwithdraw",
"TransactionID": 97684,
"AccountID": "testuser",
"UpdatedAt": "2023-07-16 14:56:00",
"ValidationKey": "6d538372b1a5baa7249818c1cff6b94ea9b97481",
"Environment": "Production"
}
eLinx Status Change
{
"Success": true,
"Status": "completed",
"ID": 43085,
"TransactionAmount": "56747.00",
"TransactionType": "elinx",
"TransactionID": 54798,
"AccountID": "testuser",
"UpdatedAt": "2023-07-16 14:58:23",
"ValidationKey": "0539d46f95d10202d669798170934f02f1df9647",
"Environment": "Production"
}
Bank Account Connection
{
"Success": true,
"Status": "successful",
"ID": "a022ff77a55e6d00bf271a2b36c65a26600a1a24",
"FinancialInstitutionNumber": "777",
"BranchTransitNumber": "77777",
"AccountNumber": "***4567",
"InstitutionName": "VoPay Capital",
"AccountHolderName": "Ada Lovelace",
"TransactionType": "bankaccount",
"Token": "a022ff77a55e6d00bf271a2b36c65a26600a1a24",
"TokenType": "iq11",
"AccountID": "testuser",
"UpdatedAt": "2023-07-16 14:59:41",
"ValidationKey": "32312558158b02af4749184a72b22cd0c7d690a4",
"Environment": "Production"
}
Scheduled Payment Created
{
"Success": true,
"Status": "completed",
"ID": 739,
"TransactionID": 97684,
"ClientReferenceNumber": "ABC97112731",
"EftType": "fund",
"Amount": "56747.00",
"Frequency": "single",
"Description": "this is a description",
"Event": "scheduledtransactions",
"AccountID": "testuser",
"UpdatedAt": "2023-07-16 15:01:04",
"ValidationKey": "64d58f7d1577d05447797a7dcb7c2bc1130c98c7",
"Environment": "Production"
}
Scheduled Payment Created (Client Account)
{
"Success": true,
"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,
"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,
"Status": "processed",
"ID": 4562,
"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,
"Status": "failed",
"FailureReason": "This is a failure reason",
"ID": 4315,
"BatchTransactionRequestID": 4315,
"TransactionType": "Interac",
"PaymentType": 1,
"TransactionPayload": {
"Key1": "Value1",
"Key2": "Value2"
},
"AccountID": "testuser",
"UpdatedAt": "2023-07-16 15:03:34",
"ValidationKey": "9887ada342c217d37f686edb481fce9a034462fb",
"Environment": "Production"
}
Account Status Change
{
"Success": true,
"Status": "Account Provisioning",
"ID": 3113,
"Account name": "Account_2537",
"Process": "Onboarding",
"UpdatedAt": "2023-07-16 15:04:40",
"ValidationKey": "1ed0d24551bf016b8052d23521a3e586eb26d8aa",
"Environment": "Production"
}
Account Verification Status Change
{
"Success": true,
"Status": {
"Transaction": {
"Credit": "in progress",
"Debit": null
},
"Verification": "verified",
"Request": "active"
},
"ID": "79",
"Amount": "0.11",
"FailureReason": null,
"VerificationAttempts": "1",
"ClientReferenceNumber": "123456",
"Notes": "this is a note",
"UpdatedAt": "2023-10-10 15:14:15",
"ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
"Environment": "Production"
}
Low Balance Alert (VoPay Account)
{
"Success": true,
"Status": "low balance",
"ID": "Account_1234",
"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,
"Status": "low balance",
"ID": "ClientAccount_1234",
"AccountBalance": "100",
"PendingBalance": 100,
"Reserve": "1000",
"AvailableBalance": "-1000",
"Currency": "CAD",
"UpdatedAt": "2023-10-10 15:14:15",
"ValidationKey": "98b6be5d44fd6396da2e2a8ecaa6b5241482ba03",
"Environment": "Production"
}
Updated 5 days ago
What’s Next