A PayID is a secure, easy-to-remember identifier that’s linked to an account. Utilising the PayID per user feature, you’ll reconcile payments faster and easier by registering a PayID with your user's virtual account.
You can have one or more unique PayIDs set up for your user to enable addressing NPP payins through the use of an email address. Not only is it easier to remember an email rather than a BSB and account number, but PayIDs for your users also add the security of not having to share those details every time.
Your users can send payins using the PayID to fund their wallets. They will see the name associated with the PayID to be certain who the recipient is before confirming the actual payment.
The image below shows the structural relationships, which involve:
- one wallet per user,
- one virtual account per user wallet,
- multiple PayIDs that must be linked to a virtual account.
Before you can register PayIDs, get in touch with us to have your platform enabled for this feature.
By default, we will set up the domain name for the email IDs as your platform name. Let us know if you’d like to change it.
The following terminology is used throughout this guide:
- Platform refers to your website, application, marketplace, etc.
- User refers to your customer who will have a user record in Zai.
- A virtual account is an account number that is dedicated to each of your users. It links to your user's wallet.
- PayID is a unique identifier registered with your user's virtual account.
- Payin is money being paid into the Zai ecosystem using a PayID.
As a prerequisite to using the PayID APIs, please ensure that you have:
- implemented and migrated over to our OAuth authentication framework.
- implemented and migrated over to our webhook APIs.
- created a virtual account for your user.
- Get the digital wallet account ID for the user.
- Get the virtual account ID for the user.
- (Once-off) Setup a webhook on the PayID object to be notified about the PayID status changes.
- Create a PayID for the user. As a result of this API call, the PayID will be registered with the virtual account number. You can share this PayID with your user so that they can fund their wallet with it.
- (Once-off) Set up a webhook on the Transactions object to be notified of incoming funds through the PayID.
- User can now fund their digital wallet using the PayID created in step 4.
Registering and deregistering PayIDs is available in Pre-live. Sending NPP payins using a PayID will be available in Pre-live soon.
- When a user transfers funds from their bank to the PayID (provided in step 4), you will receive a
transactionswebhook with details of the payment. The details of the webhook object can be found in the Webhooks guide under the example, NPP Payin via PayID.
transactionsobject you will receive using the webhook and
GET /transactionswill not contain payin detailed information because these details have moved to the Supplementary Data API.
You can retrieve more details of the
transactionby calling the API, Show Transaction Supplementary Data (in the production environment only). This allows you to view details of the NPP payin that you received, such as the sender's bank account details, PayID details, etc.
With the Update PayID Status API, you can deregister the PayID if the user no longer wishes to use it. Once it’s deregistered, the PayID can no longer be used for payments. You can register the PayID again if it's needed.
If a PayID has not been used for payments after a long period of time, we’ll require that you deregister the PayID. A list of unused PayIDs will be shared with you through a monthly report.
Answers to general information and common questions can be found here:
Updated 8 days ago