Africa Fintech FoundryDeveloper Portal
VirtualPay · Corporate

Corporate virtual accounts

VirtualPay Corporate provides static virtual accounts that businesses can reuse for recurring collections, invoicing and payment reconciliation.

https://developer-sandbox.accessbankplc.com/virtualpaycorporate/GenerateVirtualAccountNumber
This endpoint generates a Breezepay virtual account number/wallet ID to be used for payment by a customer if the customer does not already have one tied to their ID.
Parameters
customer_namestringrequiredName of the customer (for account enquiry).
customer_emailstringCustomer’s email address.
channel_codestringrequiredClient application code.
merchant_idstringrequiredID of the merchant.
customer_idstringrequiredUnique ID for the customer on client system.
customer_phonestringCustomer’s phone number.
request_authorizerstringrequiredRequest authorizer on client system.
// request
{
  "customer_id": "jondoe@yahoo.com",
  "merchant_id": "MERCHANT ID",
  "customer_name": "Jon Doe",
  "bvn": "22222222222",
  "customer_email": "jondoe@yahoo.com",
  "customer_phone": "07051234567",
  "request_authorizer": "System",
  "currency": "NGN",
  "forcedebit": "N",
  "channel_code": "MERCHANT ID"
}
https://developer-sandbox.accessbankplc.com/virtualpaycorporate/FetchCustomerDetails
This endpoint retrieves customer details using the virtual account number or customer ID.
Parameters
channel_codestringrequiredClient application code.
virtual_account_nostringBreezepay virtual account number.
customer_idstringrequiredUnique ID for the customer on client system.
merchant_idstringrequiredID of the merchant.
// request
{
  "virtual_account_no": "1509600498",
  "merchant_id": " YOUR MERCHANT ID ",
  "customer_id": "jondoe@GMAIL.COM",
  "channel_code": "YOUR CHANNEL CODE"
}
https://developer-sandbox.accessbankplc.com/virtualpaycorporate/CustomerTransactionHistory
This endpoint retrieves the transaction history by the virtual account number.
Parameters
virtual_acc_nostringrequiredBreezepay virtual account number.
channel_codestringrequiredClient application code.
// request
{
  "virtual_acc_no": "1509600498",
  "channel_code": "CHANNEL CODE"
}
https://developer-sandbox.accessbankplc.com/virtualpaycorporate/GetMerchantTransactions
This endpoint retrieves all credits to virtual accounts created under the merchant for the supplied date range.
Parameters
start_datestringStart date of transactions range (if null, same day transactions would be fetched).
end_datestringEnd date of the transaction range.
channel_codestringrequiredClient application code.
merchant_idstringrequiredID of the merchant.
page_numberintrequiredThe page number of results to retrieve.
page_sizeintThe number of results per page.
// request
{
  "merchant_id": "YOUR MERCHANT ID",
  "page_number": 1,
  "page_size": 5,
  "channel_code": "YOUR CHANNEL CODE",
  "start_date": "28/09/2023",
  "end_date": "29/09/2023"
}
https://developer-sandbox.accessbankplc.com/virtualpaycorporate/GetTransactions
This endpoint retrieves all transactions carried out by merchants within a date range.
Parameters
start_datestringStart date of transactions range (if null, same day transactions would be fetched).
end_datestringEnd date of the transaction range.
channel_codestringrequiredClient application code.
merchant_idstringrequiredID of the merchant.
// request
{
  "merchant_id": "YOUR MERCHANT ID",
  "channel_code": "YOUR CHANNEL CODE",
  "start_date": "23/11/2021",
  "end_date": "23/11/2021"
}
https://developer-sandbox.accessbankplc.com/virtualpaycorporate/CheckTransactionStatus
This endpoint retrieves the status of a transaction using the session ID or VPAY request ID.
Parameters
channel_codestringrequiredClient application code.
request_idstringrequiredBreezepay transaction reference.
session_idstringSwitch session ID for transaction.
merchant_idstringrequiredID of the merchant.
// request
{
  "merchant_id": "YOUR MERCHANT ID",
  "request_id": "VPAY099MJNL221659TU6",
  "session_id": "",
  "channel_code": "YOUR CHANNEL CODE"
}
https://developer-sandbox.accessbankplc.com/virtualpaycorporate/RenameVirtualAcct
This endpoint changes the name on a virtual account.
Parameters
channel_codestringrequiredClient application code.
virtual_acc_numberstringrequiredBreezepay virtual account number.
customer_namestringrequiredCurrent name on the virtual account.
new_customer_namestringrequiredNew name that the customer wants.
merchant_idstringrequiredID of the merchant.
// request
{
  "merchant_id": "YOUR MERCHANT ID",
  "virtual_acc_number": "1722000954",
  "customer_name": "JON DOE",
  "new_customer_name": "JON DOE",
  "channel_code": "YOUR CHANNEL CODE"
}
https://developer-sandbox.accessbankplc.com/virtualpaycorporate/ManageAccountRequest
This endpoint places or lifts restrictions on a virtual account.
Parameters
channel_codestringrequiredClient application code.
account_nostringrequired
user_idstringrequired
actionstringrequired
reasonstring
merchant_idstringrequired
// request
{
  "channel_code": "YOUR CHANNEL CODE",
  "account_no": "1890000035",
  "merchant_id": "YOUR MERCHANT ID",
  "user_id": "email@gmail.com",
  "action": "B",
  "reason": "Fraudulent activity"
}
https://developer-sandbox.accessbankplc.com/virtualpaycorporate/UpdateBVN
This endpoint adds a BVN into a current virtual account that does not yet have a BVN associated with it.
Parameters
channel_codestringrequired
virtual_acc_numberstringrequired
bvnstringrequired
merchant_idstringrequired
// request
{
  "channel_code": "YOUR CHANNEL CODE",
  "merchant_id": " YOUR MERCHANT ID ",
  "virtual_acc_number": "1629760586",
  "bvn": "111100001111"
}