Create a virtual account payment method
Creates a new virtual account for the resolved customer-or-owner and currency. Pass customerId to mint the VA for a specific end-user; omit it to mint one for the business owner.
Supported currencies. A virtual account for one of your customers (customerId supplied) can be created in NGN or GHS. Any other currency returns 422 UNSUPPORTED_VIRTUAL_ACCOUNT_CURRENCY; create it for the business itself by omitting customerId, which is how KES and USD accounts are created.
Subject to a per-(business, customer, currency) limit. Requests that would exceed the limit return 403 VIRTUAL_ACCOUNT_LIMIT_REACHED.
NGN and BVN. A permanent NGN account (no amount) is opened against the account holder's BVN. If the holder has none, the request returns VIRTUAL_ACCOUNT_BVN_REQUIRED; pass amount to get a one-time account instead, which does not need a BVN.
Compliance review: every currency requires a compliance-approved application before issuance. The first request for a not-yet-approved business/currency starts that review and returns VIRTUAL_ACCOUNT_PENDING_COMPLIANCE_REVIEW; retry once approved.
Accounts opened asynchronously: for some currencies the issuing bank opens the account after the request returns. The response is then 201 with an empty data object, and the account is delivered through the PAYMENT_METHOD.CREATED webhook once it is open.
Label vs amount: label groups static virtual accounts by purpose (e.g. SALES, OPERATIONS). It is mutually exclusive with amount, which routes to a dynamic (ephemeral) virtual account. Supplying both is rejected at validation.
Request
- Base URLhttps://sandbox.api.afriex.com
- AuthAPI key in header x-api-key
- TypeScripthttps://skmtc.dev/afriex/apis/afriex-business-api/docs/api/v1/payment-method/virtual-account/post.tsA function with typed inputs. Its response is checked against the schema.
Request body
Response
Virtual account created successfully, or (empty data) requested and pending with the issuing bank.
Changes
No recorded changes to this operation across all 1 revision of this API.