Pay with transfer
Issues a dedicated virtual account for this payment. No request body. Email must have been sent on initialize.
POST
/
payment
/
checkout
/
charge
/
bank-transfer
Pay with transfer
curl --request POST \
--url https://server.staging.vestrapay.app/v1/payment/checkout/charge/bank-transfer \
--header 'x-access-code: <api-key>'const options = {method: 'POST', headers: {'x-access-code': '<api-key>'}};
fetch('https://server.staging.vestrapay.app/v1/payment/checkout/charge/bank-transfer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://server.staging.vestrapay.app/v1/payment/checkout/charge/bank-transfer"
headers = {"x-access-code": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://server.staging.vestrapay.app/v1/payment/checkout/charge/bank-transfer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"x-access-code: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"status": "success",
"data": {
"status": "awaiting_transfer",
"reference": "VPY_TXN_ACME001",
"accountNumber": "0012345678",
"bankName": "Guaranty Trust Bank",
"accountName": "Acme Stores Limited",
"expiresAt": "2026-09-08T10:15:00.000Z",
"expiresInSeconds": 600
}
}⌘I
Pay with transfer
curl --request POST \
--url https://server.staging.vestrapay.app/v1/payment/checkout/charge/bank-transfer \
--header 'x-access-code: <api-key>'const options = {method: 'POST', headers: {'x-access-code': '<api-key>'}};
fetch('https://server.staging.vestrapay.app/v1/payment/checkout/charge/bank-transfer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://server.staging.vestrapay.app/v1/payment/checkout/charge/bank-transfer"
headers = {"x-access-code": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://server.staging.vestrapay.app/v1/payment/checkout/charge/bank-transfer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"x-access-code: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"status": "success",
"data": {
"status": "awaiting_transfer",
"reference": "VPY_TXN_ACME001",
"accountNumber": "0012345678",
"bankName": "Guaranty Trust Bank",
"accountName": "Acme Stores Limited",
"expiresAt": "2026-09-08T10:15:00.000Z",
"expiresInSeconds": 600
}
}