User wallet accounts serve as a holding account for receiving payments within your platform. Any amount being paid out to a seller in Zai will pass through the main wallet account of that seller. They have a one-to-one relationship with a user, and each user has a main wallet account that's generated by default. Main wallet accounts can also be used as a payment source should your platform workflow require this.
To comply with regulatory requirements, funds received would ordinarily transition through user wallets quite rapidly, often exiting the Zai ecosystem within minutes or hours of their entry. Approved customers are able to hold such funds with Zai for as long as they're a customer, using a stored value account.
This capability supports many different use cases, some of which may also benefit from our optional stored value, sub-wallet accounts feature.
Contact Zai support if you want to manually payout funds, and by implication, allow the wallet account to be used as a payment funding source.
The following terminology is used throughout this guide:
- Platform refers to you as a Zai customer, or your website, application, marketplace, etc.
- User refers to your customer who has a User record in Zai.
- Item is the mechanism for moving funds between users in the API.
- Payin is money being paid into the Zai ecosystem from a bank account.
- Payout is money being paid out of the Zai ecosystem to a bank account.
- Card account is an account attached to a user that contains a token linked to card details.
As a prerequisite to using the wallet APIs, please ensure that you have:
- implemented and migrated over to our OAuth authentication framework.
- implemented and migrated over to our webhook APIs.
You can directly fund your user’s main wallet accounts using:
- real-time payments using the NPP real-time payment system with a virtual account or PayID.
- direct debit and direct credits used with a virtual account.
Zai only supports using a bank account as a source for funds to be added to a wallet account. If paying using direct debit, a bank account and direct debit authority needs to exist before depositing funds.
Subject to Zai approval, you can also arrange to accept online, card-not-present (CNP) payments. Refer to the Cards Payin Workflow for API steps and details on how to enable users / cardholders to purchase goods and/or services using a Visa, Mastercard or American Express card.
Use Withdraw Funds to withdraw funds from a wallet account. Funds can be withdrawn from a wallet account by specifying which account the funds should be paid out to and the amount (in cents). Zai supports using a bank account as a payout destination. The full or partial balance can be withdrawn and disbursed to the bank account associated with the user.
The bank account needs to be linked to the user before attempting a withdrawal of funds.
When making a payment within your platform, the ID of the wallet simply needs to be passed through to Make Payment. Note that this requires the wallet to have a sufficient amount of funds available.
Updated about 1 month ago