Recurring Without a Plan
Channels: Direct Methods: Card · BECS
You don’t need a payment plan to bill repeatedly. If your billing logic lives in your own system — usage-based charges, irregular invoicing, per-order billing for repeat customers — just charge the saved method whenever your system decides it’s time.
When to choose this over a payment plan
| Your billing is… | Use |
|---|---|
| A fixed amount on a fixed cycle (e.g. $49/month) | Payment plan — scheduling, retries, and failure handling are built in |
| Variable amounts, usage-based, or on your own trigger | This pattern — you decide when and how much |
| A single known future charge | Scheduled payment — one intent with a future date |
The pattern
- Save the payment method once, with consent that covers ongoing charges
- When your system determines a charge is due, create + confirm a payment
intent with the saved
pm_xxxand anIdempotency-Key(e.g. your invoice ID) so reruns are safe - React to webhooks:
payment_intent.succeededcloses the invoice,payment_intent.faileddrives your retry/dunning logic
Retries and dunning are yours
Unlike payment plans, nothing retries automatically. Own your policy:
- space retries out (e.g. 3 attempts over a week) rather than retrying immediately
- for BECS, wait for the dishonour before retrying — a
processingintent is not a failure - tell the customer when a charge fails; an updated card or account fixes most failures
Every charge you make this way is a merchant-initiated transaction under the consent captured at save time — ElasticPay attaches the scheme and mandate evidence automatically. See Stored Credentials & Recurring Charges.