What you’ll build
PayTo lets you set up a digital, bank-authorised mandate (a “payment agreement”) that your customer approves once from their banking app. After that, Hello Clever collects funds automatically on the schedule you configured (for subscriptions, instalments, mortgages, usage-based billing, and more) without re-prompting the customer each time.Payment agreement
The standing authority the customer approves. Defines who pays, how (PayID or BSB/account), the per-payment limit, and the frequency pattern that drives collection.
This is an AUD-only (v1) capability. Endpoints below use the AUD Payment APIs.
Prerequisites
- A merchant account and an
app-id/secret-key(from the Merchant Portal). - Sandbox endpoint
https://api.cleverhub.co; productionhttps://api-merchant.helloclever.co. - A webhook endpoint (TLS 1.2, publicly reachable, commercially-issued certificate) to receive status changes.
Agreement types and frequency
When you create an agreement you set apayment_agreement_type (e.g. MORTGAGE) and an agreement_details block that is one of four shapes:
Set up the agreement and start billing
1
Create the payment agreement
Call create-payment-agreement with a unique The response returns a Hello Clever
client_transaction_id, the limit_amount, a description (5–140 chars), the agreement_details, the payer_details, and a payment_agreement_notification (your webhook auth header). Payer details carry either bank_account_details (BSB + account number) or pay_id_details (pay_id + pay_id_type, e.g. EMAIL).Create agreement request
id and a payment_agreement_id, with an initial status of created.2
Wait for the customer to authorise
The customer approves the mandate in their banking app. Hello Clever calls your webhook when the agreement status changes. Only charge against an
active agreement.3
Let the agreement bill on schedule
There’s no separate “draw” or “charge” call to make. The
frequency you set in agreement_details (e.g. MONTHLY, WEEKLY, FORTNIGHTLY) drives collection automatically once the agreement reaches active status: Hello Clever pulls the payment each cycle, up to limit_amount, and notifies your payment_agreement_notification webhook as each collection’s status changes.For fixed agreements, set limit_amount to the exact amount you intend to charge every cycle. For variable and usage-based agreements where the amount changes cycle to cycle, or for one-off/ADHOC charges outside a fixed cadence, confirm with your Hello Clever integration contact how the per-cycle amount is submitted; this isn’t yet covered by the published API reference.Reconcile collections with Get payment agreement detail (/v1/pay_to/payment_agreement/detail) or Get payment agreements (/v1/pay_to/payment_agreement/search) rather than a dedicated payment/initiation record.4
Manage the agreement over its life
- Amend (
amend-payment-agreement): change thelimit_amountoragreement_details(e.g. frequency) when a plan changes. Requires the Hello Cleverid, the newlimit_amount, the fullagreement_detailsblock, and apayment_agreement_notification: all four are required on every call, even if you’re only changing one field. - Change status (
change-status): setstatustoactive,suspended, orcancelledto pause during a dispute or cancel on churn. - Get detail / Get list: reconcile agreement state, filter by date range with pagination.