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

ParameterRequiredDescription
accountNumberYes, unless accountId is providedThe generated virtual account number shown to the customer.
accountIdYes, unless accountNumber is providedThe Kyshi virtual account ID.
amountNoExpected payment amount. Recommended to avoid matching older payments on reusable accounts.
referenceNoTransaction reference, if already known.
sinceMinutesNoHow 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.