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
Click Here
paylinkCustomer completes (or declines) your Paylink 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
scheduledtransactionsA scheduled payment was created on the requested date- 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 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
accountverificationsAn account verification request has changed status. - verified
- failed
- expired
Click Here
accountbalanceYour VoPay account balance has dropped below the specified threshold- low balanceClick Here
clientaccountbalanceA client account balance has dropped below the specified threshold- low balanceClick 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"
}

Paylink Status Change

{
  "Success": true,
  "Status": "completed",
  "ID": 43085,
  "TransactionAmount": "56747.00",
  "TransactionType": "paylink",
  "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",
  "TransactionType": "scheduledtransactions",
  "AccountID": "testuser",
  "UpdatedAt": "2023-07-16 15:01:04",
  "ValidationKey": "64d58f7d1577d05447797a7dcb7c2bc1130c98c7",
  "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"
}