Signature Verification

To confirm that the data that we are sending is authentic and comes from VoPay rather than a party pretending to be VoPay we will send you a ValidationKey. This ValidationKey is a combination of your API shared secret key and the record ID (i.e., Transaction ID, Paylink Request ID, etc) codified by HMAC SHA1

function calculateKey($apiSharedsecret, $ID)  
{  
    return sha1($apiSharedsecret . $ID);  
}

$calculateKey = calculateKey('IUAz1NGoyM02VsoODfIzQA==', '1');  
if ($calculateKey == $validationKey) {  
    // Validation Key Ok.  
} else {  
    // Invalid Validation Key. Ignore the webhook  
}

Record IDs

Record TypeIDHow do I find this ID?
TransactionVoPay Transaction IDThe VoPay Transaction ID is returned in the API response when submitting a transaction:

{
"Success": "true",
"ErrorMessage": "",
"TransactionID": "4458874"
}
Paylink RequestPaylink Request IDThe Paylink Request ID is returned in the API response when creating a Paylink request:

{
"Success": "true",
"ErrorMessage": "",
"PaylinkRequestID": "548997",
"Link": "https://request.vopay.com/af10dfa3fdd1124",
"Status": "pending",
"Amount": "100.00",
"ReceiverName": "John",
"ReceiverEmailAddress": "[email protected]",
"SenderName": "Jane",
"SenderEmailAddress": "[email protected]",
"PaylinkRequestType": "transaction"
"PaymentType": "fund"
}
Bank AccountBank Account TokenThe Bank Account Token is returned in the API response you add a bank account via the /iq11/tokenize endpoint, or after a customer connects their bank account via the iFrame:

{
"Success": "true",
"ErrorMessage": "",
"Token": "adf98dafer7d8add8"
}
Scheduled TransactionsScheduled Transaction IDThe Scheduled Transaction ID is returned in the API response when creating a scheduled transaction:

{
"Success": "true",
"ErrorMessage": "",
"Amount": "200.00",
"ScheduledTransactionID": "66548",
"Frequency": "single",
"Description": "",
"ScheduleStartDate": "2020-01-01",
"Status": "in progress"
}
Batch Transaction RequestBatch Transaction Request IDThe Batch Transaction Request ID is returned in the API response when submitting a batch transaction request:

{
"Success": "true",
"ErrorMessage": "",
"BatchTransactionRequestID": "554879",
"TotalSubmittedTransactions": "1000"
}
Batch Transaction Request DetailBatch Transaction Request Detail IDThe Batch Transaction Request Detail ID is returned in the API response when fetching the details of a batch transaction request:

{
"Success": "true",
"ErrorMessage": "",
"BatchDetails": {
"0": {
"BatchTransactionRequestDetailsRecordID": "457894",
"TransactionPayload": {},
"TransactionID": "665487",
"Status": "2022-01-12"
}
}
}
AccountVoPay Account IDThe VoPay Account ID is returned in the API response when creating an account:

{
"Success": "true",
"ErrorMessage": "",
"Message": "",
"AccountID": "AccountTest1",
"APISharedSecret": "AbcDefGi+KlmnopQRSTu183==",
"APIKey": "eddc0f5e37d20f98b486daf842447ec1f225f859"
}
Account VerificationsVerification Request IDThe Verification Request ID is returned when initiating the micro deposit transaction:

{
"Success": "true",
"ErrorMessage": "",
"VerificationRequestID" : "23849"
}
Low Balance (VoPay Account)VoPay Account IDThe VoPay Account ID is returned in the API response when creating an account:

{
"Success": "true",
"ErrorMessage": "",
"Message": "",
"AccountID": "AccountTest1",
"APISharedSecret": "AbcDefGi+KlmnopQRSTu183==",
"APIKey": "eddc0f5e37d20f98b486daf842447ec1f225f859"
}
Low Balance (Client Account)Client Account IDThe Client Account ID is returned in the API response when creating a a client account:

{
"Success": "true",
"ErrorMessage": "",
"ClientAccountID": "ClientAccountTest",
}

IP Addresses

All outbound webhook requests will originate from one of the following IP addresses:

15.156.104.253
52.60.226.121

Note that additional IP addresses may be added in the future.