PayTo payments
Learn about PayTo, a real-time payment method in Australia.
PayTo is a real-time payment method in Australia for accepting one-time and recurring payments. When paying with PayTo, customers authenticate and approve mandates using their mobile banking app or online banking.
You get delayed notification on whether the payment succeeded or failed. Stripe typically sends a notification of the final status of the payment within 60 seconds of the mandate authorization.
Payment flows
Customers pay with PayTo by using one of the following methods:
PayID: Customers can provide a PayID, a unique identifier linked to a customer’s bank account, to initiate mandate authorization.
Account and BSB Numbers: Customers can provide their bank account details to initiate mandate authorization.
In both cases, customers receive a request from their bank to authorize the PayTo mandate. This request typically surfaces through a push notification or by email.
Get started
PayTo is available through Checkout Sessions, on the Payment Element or through a direct API integration. It also supports Billing and Payment Links. PayTo is available as a dynamic payment method, which means you don’t have to individually integrate PayTo and other payment methods. If you use the Payment Element, Stripe automatically determines the most relevant payment methods to display. Go to the Stripe Dashboard and enable PayTo.
If you prefer to manually list payment methods, learn how to manually configure PayTo as a payment.
Mandates
PayTo mandates allow you to specify the amount, cadence, purpose and allowed period for payments. Set up the least permissive mandate required to collect your payments. However, if you need more flexibility, limit the amount on your mandates because several banks always reject mandates without an amount specified.
This table describes mandate fields that PayTo supports. Specify these fields by providing mandate_ parameter in payment_. For example, see the mandate_options parameter in the Payment Intents API.
| Mandate field | Description | Billing behavior | 
|---|---|---|
| amount | Amount that you collect. This is required when amount_type is fixed. | You can specify amount using the Subscription API payment_method_options. | 
| amount_type | The type of amount that you collect. The amount that’s charged must be equal to or less than the value of the amount parameter for fixed or maximum type respectively. Defaults to maximum. | You can’t specify amount_type. Stripe sets it to maximum. | 
| payment_schedule | The cadence at which you collect payments. Defaults to adhoc. | You can’t specify payment_schedule. Stripe sets it to adhoc. | 
| purpose | The reason why payments are made. Stripe infers the default purpose based on your merchant category code (MCC). Override this field using any of the valid values if the default value doesn’t accurately represent the purpose of the mandate. You can inspect the default value on the mandate object when you don’t specify the purpose. | You can specify purpose using the Subscription API payment_method_options. If you don’t specify purpose, the default value is used. | 
| start_date | Date, in YYYY-MM-DD format, from which payments are collected. Defaults to confirmation time. | You can’t specify start_date. Stripe sets it to the confirmation time. | 
| end_date | Date, in YYYY-MM-DD format, after which payments aren’t collected. Defaults to no end date. | You can’t specify end_date. Stripe sets it to no end date (nil). | 
| payments_per_period | The number of payments that are made during a payment period. Defaults to 1 except for when payment_schedule is adhoc. In that case, it defaults to no limit (nil). | You can’t specify payments_per_period. Stripe sets it to no limit (nil). | 
Refunds
Refund PayTo payments by calling the Stripe Refunds API or using the Stripe Dashboard. You can refund a PayTo payment up to 2 years after the original payment. Customers typically receive refunds in their bank accounts within minutes, but some banks might take up to several days to process a PayTo refund.
PayTo supports full and partial refunds. You can also issue multiple partial refunds up to the amount of the original charge.
Disputes
If a dispute gets created, Stripe sends both the charge. and charge. webhook events, and deducts the amount of the dispute and associated dispute fee from your Stripe balance.
Unlike credit card disputes, all PayTo disputes are final and you can’t appeal them. If a customer successfully disputes a payment, contact them to resolve the situation. If you can come to a resolution and your customer is willing to return the funds to you, they need to make a new payment.
Connect
You can use Stripe Connect with PayTo to process payments on behalf of a connected account. Connect users can use PayTo with the following charge types:
Enable PayTo for connected accounts that use the Express Dashboard or a dashboard that isn’t hosted by Stripe
To onboard connected accounts that use the Express Dashboard or a dashboard that isn’t hosted by Stripe, request the payto_ capability using the Capabilities API. For more details, see Enable payment methods for your connected accounts.
Transaction limits and other considerations
Across the banks, PayTo performs best for recurring transactions, and transactions below 1,000 AUD. PayTo performance might vary depending on the buyer’s bank, their account type, and the frequency of payments. Each bank can enforce additional measures to manage risk and prevent fraud.
See the documentation linked below for more details on bank-specific considerations.