VIRTUAL ACCOUNTS
GET PAY Virtual Accounts API allows merchants to create a One-Time payment collection Bank account numbers for receiving specific Amount from customers.
Virtual accounts can be seen as another payment channel for your businesses since customers can now pay to the account number created during checkouts.
Whenever money is sent to the dedicated virtual account, you will get notified via your Webhook URL and an instant credit into your GET PAY Wallet.
GET PAY Virtual Account API Integration
AUTHENTICATION
The GET PAY API uses APIKey for Authentication for Virtual Accounts Creating.
Please use your Testkey for Testing on sandbox, after a successful integration, then change to Your APIKEY for authentication
GET PAY ENVIRONMENTS
The GET PAY API Endpoint has the Sandbox environment and the Production Environment as seen Below:SANDBOX: https://sandbox.getpaysolutions.com/api/v1/
PRODUCTION: https://getpaysolutions.com/api/v1/
Creating Virtual Accounts
You Can Create GET PAY Virtual Accounts with the endpoint below:Base URL: https://getpaysolutions.com/api/v1/virtual-accounts
Body Parameters: as specified in the parameters below:
PARAMETERS | Required/Optional | TYPE | DESCRIPTION |
apikey | R | String | Your Business APIkey Created at getpaysolutions.com. Use Your Testkey on sandbox |
firstName | R | String | The First Name of The customer You are creating the Virtual Account Number for. |
lastName | R | String | The Last Name (Surname) of The customer You are creating the Virtual Account Number for. |
customerEmail | R | String | The Email Address of The customer You are creating the Virtual Account Number for. |
customerPhone | R | Number | The Phone number of The customer You are creating the Virtual Account Number for. |
amount | R | Number | This is the Amount the virtual account number will received. |
reference | R | String | This is a unique Transaction reference generated during the Transaction on your website. |
feeBearer | O | String | This allows you to specify who pays for the transaction charge. If not provided, the Customer will be charged. Enter either Customer or Merchant. |
webhookURL | O | String | This is the Webhook URL to be notified. If not provided, the webhook URL on your Dashboard will be used. It Should start with https:// |
validity | O | Number | Account validity/Expiring time in seconds. Default is 3600 which is 60 Minutes. |
description | O | String | This allows you to describe what a Customer is paying For. If not provided, the description will be. Virtual Account Number Reservation.. |
SAMPLE CODE
$host="https://getpaysolutions.com/api/v1/virtual-accounts/?apikey=1234532fgf&firstName=GET&lastName=PAY&customerEmail=test@gmail.com&customerPhone=08012345678&amount=1900&validity=900&reference=1234567890&callbackUrl=https://yourwebsite.com/webhook"; //Initialize cURL. $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $host); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); echo $data = curl_exec($ch); //Close the cURL handle. curl_close($ch); $result = json_decode($data);
EXPECTED RESPONSE
{"data":{ "responseCode":"200", "status":"Completed", "service":"Virtual Account Number Reservation", "firstName":"GET", "lastName":"Pay", "customerEmail"=>test@gmail.com, "customerPhone"=>08012345678, "Reference":"12345678", "expiryDate"=>2025-03-28, 04:03:05, "Munites"=>60, "amountRequested"=>1900, "amountToPaid"=>1930, "amountControl"=>Fixed, "currency":"NGN", "AccountType":"Dynamic", "bankCode":"286", "bankName":"Safe Haven Micro Finance Bank", "accountNumber":"1234444", "accountName":"GET PAY Checkout" "dateCreated"=>2025-03-28, 03:03:05, "businessID":"21555", "businessName":"GET PAY", "dateTime":"2023-11-16 08:43 PM", "message":"Virtual Account Created Successfully" }, "accounts": {"bankCode":"286", "bankName":"Safe Haven Micro Finance Bank", "accountNumber":"1234444", "accountName":"GET PAY Checkout"} }
AVAILABLE PARTNER BANKS