Persistent PayIDs: How They Work and How to Test Them
How persistent PayIDs work, how they differ from standard PayIDs, which webhooks fire, and how to test payments to them in the sandbox.
Last updated About 1 hour ago
Persistent PayIDs: How They Work and How to Test Them
A persistent PayID is a PayID address that stays assigned to one customer, for example p-001-a6zesa@pad.live. Your customer can save it in their banking app as a payee and pay into it whenever they like, for any amount, as many times as they like. Payments into it are automatically matched to that customer.
Persistent PayIDs suit:
Customers you invoice regularly
Subscriptions and memberships
Account top-ups and wallets
Ongoing service payments
Persistent PayIDs don't expire. Standard PayIDs are created for one payment request and expire.
Persistent and standard PayIDs
The monthly fee is billed for whole calendar months, starting with the first full month after persistent PayIDs are turned on for your account. If you're not sure whether your account has persistent PayIDs, contact support@payadvantage.com.au.
Creating a persistent PayID
Persistent PayIDs must be turned on for your account first. Until then, the Create PayID option doesn't appear on your customers.
In the Pay Advantage portal
Go to Customers in the side menu.
Select the customer.
Click Create PayID.
Each customer can have one persistent PayID.
Using the API
When creating a customer, call
POST /customers?with=payidref. A persistent PayID with ap-prefix is created for the customer. The address is based on the customer'scustomReforexternalID, or a generated code if neither is set.For an existing customer, call
POST /customers/{code}/createpayidref. If the customer already has a persistent PayID, it's returned instead.Or call
POST /pay_idswith"persistent": trueand no amount.
See PayID Payments in our developer docs.
What happens when a customer pays
Persistent PayIDs: each payment, of any amount, is recorded as a new payment against the customer. It fires
payment.created, thenpayment.settled. A persistent PayID doesn't firepayment.failedfor the amount paid, because every amount is accepted.Standard PayIDs: if the customer pays the wrong amount, the money is returned to them and a failed payment is recorded, which fires
payment.failed. The payment request stays open, so they can pay again with the right amount. See Why Was My Customer's PayID Payment Refunded?
Testing persistent PayIDs in the sandbox
PayID must be enabled on your sandbox account first. Contact support to arrange this.
In the sandbox, you send PayID payments from the PayID Test Bank. It stands in for your customer's banking app.
To simulate a customer sending money to a persistent PayID:
Create a test customer with a persistent PayID (
POST /customers?with=payidref, or Create PayID in the sandbox portal). Copy the PayID address.Open the PayID Test Bank.
Under Make a Payment, enter the PayID address, any amount (e.g. $85.00) and a payment description.
Click Pay Now.
The payment is recorded against the customer. Your webhook endpoint receives
payment.created, and thenpayment.settledonce the payment settles.
Repeat with different amounts to test several payments into the same PayID.
Test amounts: for standard PayIDs, the sandbox uses the payment request amount to trigger scenarios. See Sandbox Testing. Requests up to $4,000.00 are paid automatically within a few seconds. The underpayment ($4,006.00) and overpayment ($4,104.00) amounts fire payment.failed. These test amounts don't apply to persistent PayIDs: every amount paid into a persistent PayID is accepted.
Common questions
Can a customer pay the same persistent PayID more than once?
Yes. Persistent PayIDs are reusable, accept any amount and don't expire.
Can I change a customer's persistent PayID address?
The address is generated from the customer's reference. To change the naming rules, contact support.
How do I delete a persistent PayID?
Deleting a persistent PayID deactivates it permanently. Your customer can no longer pay to it, and you stop being charged for it. This can't be undone.
In the Pay Advantage portal:
Go to Customers in the side menu.
Select the customer.
Next to the customer's PayID, click the delete (bin) icon.
Click Delete PayID to confirm.
Using the API, call either:
POST /customers/{code}/deletepayidrefwith the customer's code, orDELETE /pay_ids/{code}with the PayID's code.
Only persistent PayIDs can be deleted.
Once it's deleted, Create PayID appears on the customer again if you need to give them a new one. If your PayIDs are named from the customer's reference or external ID, the new PayID normally gets the same address as before. If your PayIDs use generated codes, it gets a new address.
Will my customer see my business name when they add the PayID?
Yes. When your customer enters the PayID in their banking app, it shows your business's trading name.
When a persistent PayID is deleted, what happens when my customer pays into that PayID address?
If a payment is received after a payid has been deleted, We automatically initiate a return to the customer. You do not need to manually trigger a refund for this scenario.
Need help? Email support@payadvantage.com.au or call 1300 641 310.
Was this helpful?
More in Pay ID
What's PayIDEnabling PayIDHow to create a PayID paymentPayID Implementation OptionsStill need help? Ask the team