If you are integrating programmatically rather than using the Dashboard, call the Create Virtual Account API. For the full asynchronous lifecycle, including webhook handling, status checks, and deposit reconciliation, see Virtual Account API Lifecycle.
The synchronous response always returns SUCCESS and is acknowledgement only. The application’s final state is delivered asynchronously through the Virtual Account Create / Update webhook:
virtual.account.create — UQPAY has accepted the application for the requested currency.
virtual.account.update with status = Active — the VA is now usable.
No webhook is sent on failure. Subscribe to the webhook before issuing any production Create VA calls.