Check virtual account micro-deposits

Check whether a virtual account has received micro-deposits by filtering transactions with the virtual account ID.

Check whether a virtual account has received micro-deposits by filtering transactions with the virtual account ID.

Prerequisites

  1. Create a virtual account and store the returned id, such as va_oy3U6R3Xa7D9Y.
  2. Render the virtual account details for the depositor.
  3. Ask the depositor to send the expected micro-deposit amounts to the rendered receiving details.

Check for micro-deposits

Call the transactions endpoint with the virtual account ID in the virtualAccountId query parameter.

GET /v1/transactions?virtualAccountId=va_xxx
curl -H "Authorization: Bearer your_api_key" \
-H "Due-Account-Id: your_account_id" \
"https://api.due.network/v1/transactions?virtualAccountId=va_xxx"

Use the virtual account id, not the virtual account key, as the query value.

Verify the deposits

Match the returned transactions against the values you expect for the verification attempt:

  • virtualAccountId matches the virtual account being verified.
  • The transaction amounts match the expected micro-deposit amounts.
  • The transactions were received after you rendered the virtual account details for the depositor.

After the expected micro-deposits are present, mark the receiving details as verified in your system before allowing larger deposits.

If deposits are not returned yet

Micro-deposits may not appear instantly on every rail. If the expected deposits are not returned:

  1. Confirm the depositor used the exact rendered account details.
  2. Confirm you are querying with the virtual account id, such as va_xxx.
  3. Retry the lookup after the rail's normal processing window.
  4. Continue monitoring related webhook events or transaction updates if your integration uses them.

Related guide

For creating virtual accounts and rendering receiving details, see Virtual accounts.