Verify virtual account status
curl --request GET \
--url https://api.oyapasteaza.com/v1/collections/virtual-accounts/{reference}/status \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.oyapasteaza.com/v1/collections/virtual-accounts/{reference}/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.oyapasteaza.com/v1/collections/virtual-accounts/{reference}/status"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"status": true,
"message": "<string>",
"data": {}
}{
"status": false,
"message": "<string>",
"code": "<string>"
}Virtual Account
Verify virtual account status
Check the payment status of a virtual account collection.
GET
/
v1
/
collections
/
virtual-accounts
/
{reference}
/
status
Verify virtual account status
curl --request GET \
--url https://api.oyapasteaza.com/v1/collections/virtual-accounts/{reference}/status \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.oyapasteaza.com/v1/collections/virtual-accounts/{reference}/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.oyapasteaza.com/v1/collections/virtual-accounts/{reference}/status"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"status": true,
"message": "<string>",
"data": {}
}{
"status": false,
"message": "<string>",
"code": "<string>"
}Use this endpoint to confirm whether a customer has completed payment for a virtual account collection.
Webhooks should be your primary source of truth. Use this endpoint for manual checks, retries, and dashboard reconciliation.
Endpoint
GET /v1/collections/virtual-accounts/{reference}/status
Headers
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxx
Content-Type: application/json
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
reference | string | Yes | The Pasteaza virtual account reference. |
Example request
curl https://api.oyapasteaza.com/v1/collections/virtual-accounts/pstv_01JABCXYZ/status \
-X GET \
-H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json"
Successful response
{
"status": true,
"message": "Virtual account status retrieved successfully.",
"data": {
"reference": "pstv_01JABCXYZ",
"merchantReference": "ORDER_12345",
"accountNumber": "6020009141",
"accountName": "John Doe",
"bankCode": "999240",
"bankName": "Pasteaza Bank",
"amount": 500000,
"amountPaid": 500000,
"currency": "NGN",
"status": "PAID",
"expiresAt": "2026-06-11T14:30:00.000Z",
"paidAt": "2026-06-11T14:12:09.000Z",
"createdAt": "2026-06-11T13:45:00.000Z",
"updatedAt": "2026-06-11T14:12:09.000Z",
"payments": []
}
}
Possible statuses
| Status | Description |
|---|---|
PENDING | Virtual account record has been initialized. |
ACTIVE | Virtual account has been created and can receive payment. Newly created accounts usually return this status. |
PAID | Payment has been received and confirmed. |
EXPIRED | Virtual account expired before payment was received. |
CANCELLED | Virtual account was cancelled. |
FAILED | Payment could not be completed or confirmed. |
How to use this endpoint
1
Find the reference
Store the virtual account reference when you create the account.
2
Send the request
Call the status endpoint with the reference in the URL path.
3
Inspect the response
Check
data.status and the payment timestamps in the response body.4
Sync your records
Update your dashboard or order state after you confirm the payment.
Best practices
- Use webhooks as your primary confirmation method.
- Use this endpoint for manual verification or dashboard syncing.
- Check
data.statusbefore treating a payment as successful. - Store the
referenceandmerchantReferencein your database.
Related guides
Create virtual account
Create a temporary virtual account for collecting a bank transfer.
Webhooks
Receive real-time payment notifications from Pasteaza.
Authorizations
Use an sk_test_... key in the playground. Never enter a live key in shared environments.
Path Parameters
Pasteaza reference or supported merchant reference.