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/GenerateVirtualAccountNumberThis 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/FetchCustomerDetailsThis 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/CustomerTransactionHistoryThis 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/GetMerchantTransactionsThis 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" }
POST
Get transactions
https://developer-sandbox.accessbankplc.com/virtualpaycorporate/GetTransactionsThis 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/CheckTransactionStatusThis 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/RenameVirtualAcctThis 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/ManageAccountRequestThis endpoint places or lifts restrictions on a virtual account.
Parameters
channel_codestringrequiredClient application code.account_nostringrequireduser_idstringrequiredactionstringrequiredreasonstringmerchant_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" }
POST
Update BVN
https://developer-sandbox.accessbankplc.com/virtualpaycorporate/UpdateBVNThis endpoint adds a BVN into a current virtual account that does not yet have a BVN associated with it.
Parameters
channel_codestringrequiredvirtual_acc_numberstringrequiredbvnstringrequiredmerchant_idstringrequired// request { "channel_code": "YOUR CHANNEL CODE", "merchant_id": " YOUR MERCHANT ID ", "virtual_acc_number": "1629760586", "bvn": "111100001111" }