Key point: If you're charging a customer's bank account on a recurring basis, you're doing a Pre-Authorized Debit (PAD) and you need a PAD agreement that meets Payments Canada Rule H1. If you're charging a credit card on a recurring basis, you need clear cardholder authorization with specific language. Both have rules — and violating them creates dispute and chargeback exposure.

PAD Agreements: What's Required Under Payments Canada Rules

A Pre-Authorized Debit (PAD) is any arrangement where you pull funds from a customer's bank account on a schedule. Monthly software subscriptions, gym memberships, professional service retainers, storage unit rentals — if you're debiting a Canadian bank account, you're doing PADs.

Payments Canada's Rule H1 governs PADs. The agreement you have with your customer must include specific elements, or the customer can reverse any PAD transaction — even after the service has been provided.

Mandatory PAD Agreement Elements (Payments Canada Rule H1)

  • Amount and frequency The agreement must state either a fixed dollar amount per period, or how the amount is determined. "Monthly billing based on usage" is acceptable if the calculation method is clear. "An amount at our discretion" is not.
  • Start date When will the first debit occur? The agreement must specify a date, or a clear trigger (e.g., "first debit on the date you complete enrollment").
  • Notice period for variable amounts If the amount can change, you must give 10 days advance notice before a different amount is debited. Most processors handle this via email notifications.
  • Cancellation rights The agreement must specify that the customer can cancel at any time by providing X days' notice (your business sets this, but it must be stated). You cannot require customers to call to cancel — written/electronic cancellation must be an option.
  • Recourse/dispute process The customer must be told how to contact you about disputes. Standard language: "For questions or disputes, contact [business name] at [email/phone]."
  • Account holder's signature or electronic acceptance The agreement must be signed — wet signature, electronic signature, or a verifiable click-to-accept where you can demonstrate acceptance (timestamp, IP address, email confirmation).

Here is sample PAD authorization language that meets these requirements:

Sample PAD Agreement Language (adapt for your business)
I authorize [Business Name] ("the Company") to debit my bank account at the financial institution identified below for [fixed amount: $XX.XX / or variable amounts as invoiced with 10 days advance notice] on a [monthly/weekly/annual] basis, commencing [date or trigger]. I understand I may cancel this authorization at any time by providing written notice to the Company at [email address] with [X] business days' notice before the next scheduled debit. For questions or to dispute a transaction, contact [Business Name] at [contact information]. A copy of this authorization will be provided to me upon request.

For credit card recurring billing (not PAD), you need explicit consent that the customer authorizes recurring charges and understands they can cancel. Most subscription processors (Stripe Billing, Helcim subscriptions) capture this consent during checkout and store it in your records — but make sure the checkout language is clear. "Subscribe and be billed $49/month" is fine. Burying a subscription in small print is not fine and leads to chargebacks.

Which Processors Support Subscription Billing in Canada

Processor Subscription Support PAD (Bank Debit) Monthly Fee Best For
Stripe Billing Full-featured: trials, proration, tiered pricing, usage-based billing Yes (Stripe's Canadian pre-authorized debit) 0.5–0.8% of recurring revenue (Billing add-on) SaaS, subscription boxes, any tech-savvy setup
Helcim Recurring invoice templates, card-on-file billing Limited — primarily card-based recurring No monthly fee; interchange-plus processing Professional services, B2B retainers
Moneris Recurring billing available on most plans Yes (Moneris recurring ACH/EFT) ~$15–$25/mo + transaction fees Established businesses with Moneris terminals
Rotessa PAD-only (no card processing) Yes — purpose-built for Canadian PADs ~$20/mo + $0.85/transaction Non-profits, fitness studios, businesses wanting pure PAD billing
PaySimple / Plooto Invoice-based recurring Yes ~$49/mo B2B invoice billing, accounts receivable automation

Stripe Billing for Canadian Subscriptions Most Flexible

Rate: 2.9% + $0.30 per transaction Billing add-on: +0.5–0.8% of revenue Supports: trials, coupons, usage-based, proration

Stripe Billing is the most capable subscription engine for Canadian businesses that want flexibility. You can create free trials, set up monthly/annual/custom billing cycles, handle mid-cycle plan changes with proration, and bill based on usage (units consumed, seats, API calls). It handles PAD via Stripe's Canadian bank debit integration and card-on-file for credit card subscribers.

The Billing add-on (0.5% per transaction on the basic plan) is additional to Stripe's standard processing fee — a $100/month subscription would cost $2.90 + $0.30 (processing) + $0.50 (Billing) = $3.70 in fees, an effective rate of 3.7%. This is higher than PAD-only options but includes full dunning, retry logic, and portal management.

Automatic Retries on Failed Payments

Payment failures in subscription businesses fall into two categories: hard declines (card reported stolen, account closed — don't retry) and soft declines (insufficient funds, temporary bank issue — retry with a smart schedule).

Stripe's Smart Retries: Stripe Billing includes machine-learning-based retry scheduling. Instead of retrying on a fixed schedule (Day 1, Day 3, Day 7), Stripe analyzes patterns across millions of transactions to retry when success probability is highest — typically weekdays mid-morning when customers' bank accounts are most likely to have cleared. This recovers 20–30% more failed payments than fixed retry schedules.

Helcim: Helcim's recurring billing does not have automatic retry logic as sophisticated as Stripe. Failed recurring invoices send a notification but don't retry automatically unless you've configured it. Manual follow-up is required for most failures.

Moneris: Moneris's recurring billing retries up to 3 times on a configurable schedule. Not ML-based, but functional for most use cases.

For PAD failures (NSF): When a bank account debit fails due to insufficient funds, you're charged an NSF fee by your PAD provider (typically $5–$15). You can — and should — pass this to the customer in your PAD agreement language. Under Payments Canada rules, NSF fees must be disclosed in the original PAD agreement to be collectible.

Dunning Strategies That Actually Work

"Dunning" is the process of recovering failed subscription payments. Most involuntary churn (customers who didn't intentionally cancel but whose payment failed) is recoverable with a good dunning sequence.

Day 0
Payment fails: Immediately send a payment failure notification. Keep it non-accusatory: "Your payment didn't go through — here's a link to update your card." Include a direct link to update payment details. If using Stripe Billing, enable the Customer Portal so customers can update cards themselves.
Day 1–2
First retry: Automated retry (if your processor supports it). No additional customer email unless the retry also fails.
Day 3
Second reminder: If still unpaid, send a second email. Mention that service access will be paused if payment isn't received. Urgency helps — vague "please pay soon" messages get ignored. Specific: "Your account will be paused on [date + 3 days]."
Day 7
Second retry + grace period warning: Another automated retry attempt. Email notifying that grace period ends in 3 days.
Day 10
Pause or downgrade: Restrict access to your service — move them to a read-only or limited plan. This is often the trigger that gets payment: customers suddenly realize they've lost access.
Day 21–30
Final notice before cancellation: Give a clear deadline. After this date, the account will be cancelled and data may be deleted (per your terms). This is the last call for the customer to act.

The most effective recovery tactic: In-app or service-level prompts. An email about a failed payment is easy to ignore. A banner inside the software the customer is actively using — "Your payment failed. Update your card to keep access" — converts significantly better. If your subscription is delivered via an app or portal, add an in-product alert.

Cancellation Handling

Under Payments Canada Rule H1 (for PADs), customers must be able to cancel without unreasonable barriers. Requiring a phone call to cancel is not technically prohibited for credit card subscriptions, but it generates chargebacks and complaints. For PADs, electronic cancellation must be an option.

Best practices for Canadian subscription businesses:

GST/HST on Recurring Charges

If your business is GST/HST registered, you need to charge tax on recurring billing the same way you would on one-time transactions. The rules are identical — it's the ongoing administration that gets complicated.

What's taxable: Most subscription services, SaaS products, membership fees, and service retainers are subject to GST/HST. The tax rate depends on where your customer is located — 5% GST for Alberta, 13% HST for Ontario, 15% HST for Atlantic provinces.

What's exempt: Financial services, most insurance, long-term residential rent. If your subscription involves only exempt supplies, you don't charge GST/HST (and generally can't claim input tax credits either).

Invoice requirements for recurring billing: Each billing cycle should generate an invoice that shows the subscription amount, GST/HST amount, your GST/HST registration number, and the billing period. Stripe Billing can generate these automatically — configure your tax settings in the Stripe dashboard and it will calculate and display taxes on invoices. Ensure "CA" is selected as the tax country and your GST/HST registration number is entered.

💡 GST/HST on subscription billing: practical setup

In Stripe Tax (add-on product): enable automatic tax calculation, enter your GST/HST registration number, and set product tax codes appropriately. Stripe will calculate the correct provincial tax rate based on the customer's billing address. For Helcim, configure tax rates in the recurring invoice template. For Moneris, tax configuration is part of your merchant account setup — contact Moneris support to enable recurring tax calculation. See our full GST/HST payment processing guide.

Related Reading