Skip to main content

AutoPay

AutoPay turns a subscription into a single checkout call. After that, AutoPay generates every billing cycle, charges the saved card, retries failed charges, emails the customer, and hosts a self-service page where the customer manages their own subscription.

Why use AutoPay

  • Run subscriptions without building a billing engine. AutoPay owns the schedule, the retries, the dunning emails, and the customer self-service page. Your integration is one checkout call per subscription.
  • Recover failed payments automatically. Every declined card is retried and the customer is emailed at each stage, so a renewal doesn't lapse because nobody noticed.
  • Give customers somewhere to self-serve. Status, billing history, saved cards, and cancellation all live on one page you send them.

The difference is who owns the billing schedule after the first charge:

Self-managed recurring billingAutoPay subscriptions
Billing scheduleYour system decides when to chargeAutoPay decides when to charge
Failed paymentsYour team retries and follows upAutoPay retries automatically and emails the customer
Cancel, swap card, pay a balanceYou build and host that experienceAutoPay hosts a ready-made self-service page
What your integration doesCalls the charge API on every cycleMakes one checkout call, once, at signup
Building the integration?

This page covers what AutoPay does for your business. The exact request and response contract your developers need — every field, and how to handle errors — lives in the developer AutoPay docs.

How it works

  1. Your team creates a subscription with a single checkout call — the plan details (amount, billing frequency, start date) travel with it.
  2. AutoPay generates the first billing cycle and, if there's a charge due right away, processes it against the card the customer just entered.
  3. From then on, AutoPay generates each new cycle on schedule and charges the saved card automatically — the next cycle is only created once the current one is paid.
  4. If a charge fails, AutoPay retries it automatically and keeps the customer posted by email — your team doesn't have to notice or act.
  5. The customer manages everything else themselves — checking their next charge date, updating a card, or canceling — from a private self-service page you send them.
One checkout call creates the subscription; AutoPay then owns the schedule, retries, dunning, and the customer self-service page.

Subscription lifecycle

A subscription moves through a small set of states from the moment it's created to the moment it stops billing. Knowing what each one means — and which ones can recover on their own — saves a lot of confused support tickets.

StateWhat it means
Pending setupThe subscription has been created and is waiting on its first charge attempt to resolve.
TrialingThe first charge was for zero — no money has moved yet. The customer has access now; the first real charge happens at the next billing cycle.
ActiveThe subscription is billing normally — the most recent cycle was paid.
Past DueA charge failed and every retry on that cycle has been used up. The subscription is not canceled — it's waiting for the balance to be paid.
CanceledBilling has stopped — either the customer canceled (their access continues until the end of the period they already paid for) or your team canceled it directly (effective immediately).
ExpiredBilling has stopped because the subscription reached a defined end date, rather than being canceled outright.
Setup FailedThe very first charge attempt didn't go through. Unlike the two states above, this one isn't final — the subscription moves back to Pending setup so setup can be tried again.

Three of these are worth calling out specifically:

  • A zero first charge creates a trial, not an active subscription. If the first amount your checkout call charges is zero, the subscription starts in Trialing rather than Active — useful for free-trial plans where the real charge only happens once the first billing cycle comes due.
  • Past Due only happens after every retry is used up. A single declined card changes nothing; AutoPay retries automatically first (see Retries and dunning). The subscription moves to Past Due only once the whole retry sequence for a cycle is exhausted.
  • Paying the outstanding balance is what moves a subscription back to Active. The moment the customer pays what's owed — from their self-service page — the subscription returns to Active. There's no separate merchant-side action that does this; it's the customer's payment that clears it.
tip

See what each of these states looks like from your customer's side in The customer self-service page.

Billing cycles

AutoPay doesn't pre-generate a year of invoices upfront. It creates billing cycles one at a time — the next cycle only comes into existence once the current one has been paid.

The amount charged on any given cycle is whatever was locked in on that cycle when it was generated — not whatever the subscription's amount happens to be by the time the charge actually runs. In practice, this means past cycles stay a reliable record of what was actually charged, no matter what happens to the subscription afterward.

How anchor-day clamping works

Every subscription bills on the same day each cycle — its anchor day, set by the start date. Most months that's straightforward. The exception is a subscription anchored on the 29th, 30th, or 31st hitting a shorter month. AutoPay clamps the charge to the last real day of that month, then returns to the original anchor day as soon as the calendar allows it again.

Here's a subscription anchored on the 31st, working through the January–March cycles:

CycleAnchor dayBills onWhy
January31stJan 31The anchor day exists in January.
February31stFeb 28 (Feb 29 in a leap year)February has no 31st, so the charge clamps to the month's last day.
March31stMar 31March has a 31st again — the anchor day was never permanently moved.

Retries and dunning

Not every card charge succeeds on the first try. AutoPay handles the follow-up automatically, so a single declined card doesn't need your team's attention.

  • How many attempts. AutoPay makes one initial attempt plus a set number of retries — four attempts in total by default (one initial charge, three retries).
  • How they're spaced. Retries run one hour apart, on a flat schedule — not the doubling delay you might expect from other billing systems.
  • What happens when every attempt fails. The cycle is marked failed, the subscription moves to Past Due, and the customer receives a final-failure email with a link back to their self-service page so they can pay directly.

The past-due self-service page: "We couldn't charge your card," the overdue-since date, the failed card flagged, and a Failed row in the payment history

AutoPay never cancels a past-due subscription on its own

A Past Due subscription stays Past Due indefinitely. AutoPay does not cancel it automatically, no matter how long the balance goes unpaid — it keeps waiting for the customer to pay, or for your team to cancel it directly. If you were assuming subscriptions eventually cancel themselves after enough failed attempts, they don't — build your own process (a scheduled report, a support workflow) around subscriptions that have been past due longer than you're comfortable with.

The retry → past due → recovery journey: automatic retries, a final-failure email, and the customer clearing the balance to return to Active.

The customer self-service page

Every subscription gets its own private page (the product calls it "Manage Subscription") — a link with a signed token that only that customer can use. Your team delivers the link; AutoPay hosts the page and keeps it in sync with the subscription's real state automatically, in English and Arabic.

From this page, a customer can:

  • View their plan, status, and next charge date
  • See every billing cycle — date, amount and outcome — including the next one, which is listed as Scheduled before it is charged
  • Add a new card
  • Switch which saved card is their active one
  • Pay an outstanding balance directly
  • Cancel their subscription
  • Undo a cancellation that hasn't taken effect yet
The customer self-service page: view status, update a card, and pay an outstanding balance — all from one link.

What a subscription looks like to your customer

The page is a single scrolling view — customer details, subscription summary, saved payment methods, and payment history all live on the one page; there's no separate screen to click into for billing history or cards. What it shows adapts to the subscription's state:

Step 1 of 5
Active subscription: customer details, subscription summary, payment methods, and payment history all on one page
Step 1 of 5

Active

Plan, status, next payment date, saved cards, and payment history on one page. Nothing is outstanding, so there is nothing to pay.

Canceling a subscription

A cancellation the customer starts always takes effect at the end of their current billing period, never immediately — they keep access, and the option to change their mind, for whatever they've already paid for. If you need to cut a subscription off right away instead — a fraud case, a billing dispute — that's a merchant-side cancellation, and only your team can do it, immediately, via the AutoPay API.

Step 1 of 2
Cancellation confirmation dialog stating access continues until the end of the paid period
Step 1 of 2

Confirm the cancellation

The dialog states when access ends, that no further charges follow, and that reactivation stays open until then.

Undoing a cancellation

As long as a canceled subscription hasn't reached the end of its period yet, the customer can undo the cancellation from the same page — one click, no new checkout needed.

Reactivation confirmation previewing the plan, amount, and next renewal date before the customer confirms

Paying an outstanding balance

When a subscription is Past Due, Pay Now on the self-service page collects the outstanding balance immediately, using whichever saved card the customer picks.

Step 1 of 2
Terms and conditions alert shown before completing an outstanding-balance payment
Step 1 of 2

Accept terms, if asked

Some gateways require the customer to accept terms before the charge runs.

Managing saved cards

Customers can hold several cards on file and switch which one is active with a single click. Adding a new card opens a standard card-entry form right on the page, and the newly added card can be made active immediately — the next charge then uses it instead of the previous one.

Saved cards are never deleted. AutoPay keeps every card a customer has used as part of the subscription's record, so a card that is no longer active still explains what paid for an earlier cycle. Switching the active card is the only card management a customer needs — there is no removal step to walk them through.

Adding a card: a secure checkout where the customer enters and saves a new card to the subscription

Adding a card: the customer taps Add Another Card, enters details in a secure checkout, and the new card is saved to the subscription.
Regenerating a customer's link revokes the old one instantly

If you regenerate a subscription's self-service link, the previous link stops working immediately — and AutoPay does not tell the customer. Whatever channel delivered the first link (email, your own account area, a support reply), you need to deliver the new one the same way, or the customer is simply locked out with no explanation.

A customer opening a page that's loading, expired, no longer recognized, or unreachable sees one of these instead of their subscription:

Step 1 of 4
Loading state while the self-service page fetches subscription details
Step 1 of 4

Loading

Shown while the page fetches the subscription.

Notifications

AutoPay sends three emails over a subscription's life, each available in English and Arabic, and each one can be switched off individually per subscription if you don't want it sent.

Billing frequencyReminders before the chargeWhen
Monthly12 days before
Yearly330, 10, and 3 days before
The three AutoPay emails over a subscription's life: upcoming charge, payment failed, and final failure.

Upcoming charge

Sent before money moves, so a declined or forgotten card doesn't come as a surprise.

Step 1 of 2
Upcoming charge reminder email in English
Step 1 of 2

English

Amount, billing date, and the card on file, with a link to manage the subscription.

Payment failed

Sent when a charge attempt fails and AutoPay still has retries left to run — a chance for the customer to update their card before the automatic retries continue.

Step 1 of 2
Payment failed email in English
Step 1 of 2

English

The failure reason, when the next retry runs, and a link to update the card.

Final failure

Sent once every retry on a cycle has been used up — see Retries and dunning — with a direct link back to the customer's self-service page so they can clear the balance.

What "suspension" means in this email

The final-failure email talks about the customer's access being suspended — that describes what happens in your product, not in AutoPay. AutoPay itself never suspends, cancels, or otherwise changes the subscription on its own; it stays Past Due until it's paid or your team cancels it. Whether — and how — you restrict access for a Past Due customer in your own app is entirely your call.

Step 1 of 2
Final failure email in English with outstanding balance and next steps
Step 1 of 2

English

The outstanding balance, why every retry failed, and what happens next in your product.

Setting up AutoPay

AutoPay is available today as an API-only integration — your developers call the API to create, look up, and cancel subscriptions. There's no merchant dashboard for it yet.

Before your first subscription, make sure you have:

  1. AutoPay enabled for your account. This isn't a self-serve toggle yet — ask Ottu support to turn it on.
  2. A support email. It appears on the customer's self-service page and in the footer of every AutoPay email, so customers have somewhere to go when something looks wrong.
  3. A privacy policy URL. It's linked from the footer of every AutoPay email, alongside the support email.
  4. At least one tokenizable payment gateway that supports auto-debit, in the currency you're billing in. AutoPay needs somewhere to actually save and charge the customer's card.
  5. The three notification templates registered, in English and Arabic — upcoming charge, payment failed, and final failure. Ottu support sets these up on your account, the same way notification templates are configured for one-off payments.

AutoPay has no plan catalog to configure up front — there's no separate list of products or prices to set up in advance. The plan name is just a free-text label, and the price is whatever amount your team passes when it makes the checkout call that creates the subscription. See the developer AutoPay docs for the exact request shape.

No merchant dashboard yet

Everything above — enabling AutoPay, creating a subscription, looking one up, canceling it — happens through the API or through Ottu support today. A dashboard view of your AutoPay subscriptions is planned for a later phase.

Things to know

  • A Past Due subscription never cancels itself. It stays Past Due until the customer pays or your team cancels it — see Retries and dunning.
  • A zero first charge starts a trial, not an active subscription.
  • Cycles are generated one at a time. The next one isn't created until the current one is paid — see Billing cycles.
  • The amount on a cycle is locked in when that cycle is generated, not read fresh from the subscription at charge time.
  • Regenerating a customer's self-service link kills the old one instantly, silently. Deliver the new one yourself.
  • A customer's own cancellation always waits until the end of their paid period. Only your team, via the API, can cancel immediately.
  • There's no merchant dashboard yet. AutoPay is API-only, with Ottu support handling account-level setup, in this phase.

FAQ

What's Next?