Verify Wallet Transaction
Use this endpoint to check whether a bank transfer to a generated virtual account has been received and processed by Kyshi.
This is useful after a customer clicks “I have made payment” while waiting for Kyshi’s webhook confirmation.
Query Parameters
| Parameter | Required | Description |
|---|---|---|
accountNumber | Yes, unless accountId is provided | The generated virtual account number shown to the customer. |
accountId | Yes, unless accountNumber is provided | The Kyshi virtual account ID. |
amount | No | Expected payment amount. Recommended to avoid matching older payments on reusable accounts. |
reference | No | Transaction reference, if already known. |
sinceMinutes | No | How far back to search. Defaults to 60, maximum 1440. |
Authentication
Requires API key authentication.
x-api-key: sk_test...
Request Body
GET {host}/v1/wallets/verify?accountNumber=5011658168&amount=21983.2
{
"status": "PENDING",
"accountNumber": "5011658168",
"accountId": "virtual-account-id",
"amount": 21983.2,
"mode": "live",
"matched": false,
"transaction": null
}
{
"status": "SUCCESS",
"accountNumber": "5011658168",
"accountId": "virtual-account-id",
"amount": 21983.2,
"mode": "live",
"matched": true,
"transaction": {
"id": "transaction-id",
"reference": "Lucky Nwachukwu-KwxLJQKk1D",
"amount": 21983.2,
"netAmount": 21800.2,
"currency": "NGN",
"status": "SUCCESS",
"webhookStatus": "QUEUED",
"customer": {},
"createdAt": "2026-05-08T14:51:29.000Z",
"updatedAt": "2026-05-08T14:51:30.000Z"
}
}
Recommended Usage
After the customer clicks “I have made payment,” show a confirmation screen and poll this endpoint every 3-5 seconds until status is SUCCESS.
Kyshi’s merchant webhook remains the source of truth for automated confirmation, but this endpoint helps improve the customer waiting experience.
Updated about 10 hours ago
