Initiate Transfer is an endpoint designed to return dynamic virtual account details for completing payment transactions. This operation collects important information to create a transfer request, including the amount, currency, and customer details.
Users or customers can use this request to generate virtual account details, facilitating the completion of payments through bank transfers. The dynamic nature of these virtual accounts means that they automatically expire after 30 minutes, ensuring enhanced security and reducing the risk of unauthorized usage.
METHOD: POST
✅ Live URL: https://api.hydrogenpay.com/bepayment/api/v1/Merchant/initiate-bank-transfer
Mandatory Type Name Description Yes Decimal amount Amount to debit the customer. Yes Email email Customer’s Email Address. Yes String customerName Customer's name. No String currency Default to NGN if not passed, other currencies available are USD and GBP. No String description Payment Description. No String meta Contains any other information you want to be recorded with the transaction. No String transactionRef Unique transaction reference for the transfer. It will be automatically generated if not specified. Yes String callback Redirect URL after the transfer has been completed on the gateway.
Field Type Value statusCode Integer 90000 message String Initiate bank transfer successful transactionRef String Transaction Client Reference virtualAccountNo String Dynamic virtual account number virtualAccountName String Name associated with the virtual account expiryDateTime String Expiry date and time for the virtual account with default being 30 minutes. transactionStatus String Current status of the transaction amountPaid Decimal Amount paid bankName String Bank name associated with the virtual account
Field Type Value statusCode String 10001 message String Callback is Required data Object null
Field Type Description statusCode String 10001 message String Invalid Currency data Object null
Field Type Description statusCode String 400 success Boolean false message String Validation Failed error Object List of validation errors
JSON
{
"amount": 50,
"customerName": "Dev Test",
"email": "[email protected] ",
"currency": "NGN",
"description": "test description",
"meta": "test meta",
"callback": "https://hydrogenpay.com"
}
JSON
{
"statusCode": "90000",
"message": "Initiate bank transfer successful",
"data": {
"transactionRef": "testref0001",
"virtualAccountNo": "7193299054",
"virtualAccountName": "HYDROGEN - Instante Tetring",
"expiryDateTime": "06/07/2024 16:16:22",
"transactionStatus": "Pending",
"amountPaid": 1000,
"bankName": "Access Bank"
}
}