Virtual Cards and Virtual Accounts are UnrelatedVirtual accounts allow you to receive payments into your Flutterwave wallet via bank transfer, while virtual cards allow you to make online payments.
frequency parameter), while a static account number doesn’t expire.
Temporary Virtual Accounts are useful for receiving one-off payments via bank transfer. When the customer is checking out, you generate a temporary virtual account with a fixed amount and provide it to them. When they make payment, we’ll send you a webhook and you can handle it.
Static Virtual Accounts can be useful if you’re building an app with a wallet system. You can issue a virtual account number for each customer to use in funding their wallet:
- You generate a virtual account for the customer with our API and provide them with the details.
- The customer transfers to their assigned account.
- We send you a webhook notifying you that we’ve received the payment.
- You credit the needed funds to the customer’s wallet on your platform.
Creating a Virtual Account
You can generate a virtual account with this endpoint, which is supported in our backend SDKs. You will need to specify the email to be associated with the account number (the customer’s email). If you’re creating a static virtual number, theirbvn will be required.
BVN is Required for Static Virtual AccountWhen generating a static virtual account, you’ll need to provide a BVN. If you’ve created a static virtual account without a BVN in the past, you’ll need to set a BVN. You’ll find more details in our announcement.
| Parameters | Functions |
|---|---|
amount | The amount to be collected per transaction. |
frequency | The number of times the account can be used before expiring. |
narration | The name should be shown when the account details are fetched. |
tx_ref | The transaction reference that should be returned whenever a transfer is made into the account. |
response_code of 02 and a response_message of "Transaction in progress", indicating that the account number has been successfully created, and we’re ready to accept payments for you.
Virtual Account Webhooks
Next, pass the details on to your customers, and they can make a transfer into the account. When they do, we’ll send you a webhook that looks like this:tx_ref when creating the account, the reference field will be set to that value. If you don’t set one, we’ll generate a unique value for that.
Now, your webhook endpoint can handle the event and credit the customer’s wallet. For help setting up webhooks, see our guide on webhooks.