Purpose
Add prepaid wallet balance by card (Airwallex) or bank transfer proforma invoice.
Console path: Top up balance, or Top up balance in the sidebar wallet widget.
Prerequisites
- Organization linked to the billing platform
- For card top-up: Airwallex configured in Console (or mock intent in dev)
Page header
| Element | Copy |
|---|---|
| Title | Top up balance |
| Subtitle | Organization name |
Airwallex not configured (dev/staging)
| Element | Copy |
|---|---|
| Title | Airwallex not configured |
| Body | Set AIRWALLEX_CLIENT_ID and AIRWALLEX_API_KEY to enable card payments. Until then, only a mock intent can be created for testing the flow. |
Payment method tabs
| Tab | Purpose |
|---|---|
| Card | Airwallex Drop-in checkout |
| Bank transfer | Proforma invoice with bank details |
Amount selector
| Element | Copy |
|---|---|
| Heading | Choose amount |
| Help | Pick a quick amount or enter a custom value. Minimum top-up is €{min}. |
| Quick tiles | Label EUR, value €{amount} |
| Custom | Enter custom amount → Custom amount (EUR) |
| Custom error | Amount must be at least €{min}. |
| Collapse | Use quick amounts instead |
Minimum top-up amount is shown on the read-only Billing card on Organization. Billing email, billing address, and read-only billing terms are managed on Organization. In Console, profile cards link to Edit billing email and Edit billing address.
Card tab — fee estimate
| Element | Copy |
|---|---|
| Empty | Enter an amount to see the card fee estimate. |
| Wallet credit (net) | {amount} EUR |
| Card processing fee | {fee} EUR |
| Total charged to card | {gross} EUR |
| Note | Final amounts are confirmed when you tap Prepare payment. |
Card limit warning (when configured): Card limit — You can receive up to {max} EUR wallet credit per card payment (processing fee is on top). For larger amounts, choose Bank transfer.
Save card checkbox
| Element | Copy |
|---|---|
| Label | Save this card for auto top-up |
| Help | We create an Airwallex customer for your organization and store a payment consent after a successful charge. |
Button: Prepare payment / Preparing…
Drop-in label: Pay with card
Card tab — alerts and toasts
| Message | When |
|---|---|
| Unable to continue + detail | Intent error (min/max limits, network, etc.) |
| Mock payment intent | Airwallex returned a mock intent. Configure API keys to load the real checkout. |
| Payment + message | Payment error |
| Heads up — Payment succeeded but saving the card failed. | Card save failure after successful charge |
| Finalizing payment… | Confirming status with Airwallex. You will be redirected when your balance is updated. |
Success redirect: Billing after card payment sync.
Bank transfer tab
| Element | Copy |
|---|---|
| Description | We issue a proforma invoice with bank details. Your wallet is credited after we receive the transfer. |
| Limit | Bank transfer limit — You can request an invoice for up to {max} EUR per top-up (before bank fees). |
| Button | Create invoice / Creating… |
| Error title | Unable to create invoice |
| Error body | Enter a valid amount. |
Flash toast on success: Invoice created. Use the bank details on the invoice to pay.