Recurring payment processing for subscription businesses.

Most subscription revenue does not leak at signup. It leaks at the renewal — a card expires, a debit-order mandate lapses, an issuer declines for a coded reason nobody reads. BazPay runs recurring payment processing across cards, BACS Direct Debit and open banking on one contract. Mandates, SCA exemptions, reason-coded retries and cancellation flows sit inside the gateway. Your app listens for the webhook.

Why merchants run their recurring payment program on BazPay

The gains show up in the second month, not the first. These four points are what finance and product teams point to when they compare renewal cohorts against their incumbent processor.

Fewer involuntary cancellations

Network-token refresh, PSD2 exemption logic and reason-coded retries recover renewals the incumbent quietly loses.

One integration, three rails

Recurring card payment, BACS Direct Debit and open-banking A2A run through the same subscription object.

Mandates and PCI scope off your stack

debit-order mandates and card credentials live on the gateway. Your database keeps identifiers, not sensitive data.

Cancellation you can defend

Every subscription state change — pause, cancel, refund — is logged, timestamped and pushed by signed webhook.

Three rails, one subscription object

Regional payers do not all pay the same way. Pick the rail per plan, per country, or per payer — the billing logic above stays identical, and swapping rails on an existing subscription is a single API call.

MIT

Card on file

The classic renewal. Fast, and the widest reach.

  • First charge is 3-D Secure-authenticated, then stored
  • Renewals run as merchant-initiated transactions
  • Network tokens keep reissued cards billing
  • Decline reasons come back coded, not guessed
How card acquiring and APM processing works

Account-to-account

Open banking

For renewals a payer prefers to approve each time.

  • Payer confirms in their own banking app
  • No card expiry and no chargeback route
  • Settles fast on SEPA Instant where the bank supports it
  • Useful for high-value annual invoices
Read about open-banking pay-ins

The life of one subscription

Four states. Every transition fires a signed webhook the moment it happens, and every invoice line stays linked to the plan that generated it.

  1. Authorise once

    The payer authenticates through 3-D Secure 2.2 or signs a debit-order mandate. We store the token, never a raw PAN.

  2. Bill on schedule

    Charges run on your billing date. Trials, proration and mid-term plan changes post the correct amount.

  3. Recover failures

    Soft declines go into a reason-coded retry queue. Hard declines skip retries and enter dunning.

  4. Change or cancel

    Upgrades, pauses and cancellations post back the same day. Refunds and credit notes stay linked to the plan.

An API that maps to your billing model

One subscriptions endpoint. One plans endpoint. One customers endpoint. Idempotency keys make every write safe to retry, and the response shape stays constant whether the plan bills a recurring card payment or a debit-order mandate.

POST /v1/subscriptions
Idempotency-Key: sub-1a4c-9f22
{
  "customer": "cus_5F9k",
  "plan": "plan_pro_monthly",
  "payment_method": "card",
  "trial_days": 14,
  "start_date": "2026-08-10",
  "metadata": { "team_id": "TEAM-9142" }
}

The response returns the subscription id, the next billing date, the current period end and the stored payment-method reference. See the full schema in the API reference.

Failed renewals, handled by reason

A blind retry loop annoys issuers and burns your attempt budget. Our engine reads the decline code first. Soft declines get another try on a coded schedule. Hard declines stop at once and go to a dunning email.

Every attempt is logged with its code, so you can see which issuers decline most and at what time of the month.

Track renewals in real-time analytics
What the engine does with each decline
Decline reason Class Next action
Insufficient funds Soft decline Retry on a schedule tuned to payday cycles
Card expired Soft decline Try the network token, then request an update
Do not honour Soft decline Retry within the scheme's attempt limit, then escalate
Stolen or lost card Hard decline Stop retrying, email the payer for a new method
Mandate cancelled Return code Pause the subscription and flag it in the dashboard
3-D Secure required Auth required Step up the next attempt through 3-D Secure 2.2

Attempt limits are set by the card schemes. We stay inside them and never add attempts of our own.

The rules a regional renewal has to clear

Recurring payments are governed work. These four points decide whether an automatic recurring payment goes through, and how you defend it later.

3-D Secure once, then exempt

The first charge carries strong customer authentication. Later PSD2 recurring payments run as MIT under an approved exemption.

Mandates held our side

We store the mandate reference, signing date and payer details. Your database never has to.

PCI scope stays with us

BazPay holds PCI DSS Level 1 on the gateway. You keep merchant SAQ A and zero card-data scope.

A narrow book, by design

We underwrite a defined list of merchant categories. Renewal approval rates hold steady because the book stays clean.

Fraud checks run on renewals too. See anti-fraud controls and checkout products for the pieces on either side of billing.

Features that carry a real recurring payment program

Every capability below is available on the standard integration — no enterprise-tier gate on the primitives you need to run a subscription book.

Plans, add-ons and proration

Fixed, tiered, per-seat or usage-based plans. Mid-cycle upgrades prorate to the day.

Trials and grace periods

Free or paid trials with automatic conversion. Grace windows on failed renewals are yours to configure.

Coupons and one-off charges

Discount codes, credit notes and off-cycle top-ups sit on the same subscription object.

Signed webhooks

Every subscription and invoice event ships with an HMAC-SHA256 signature and a timestamp header.

Idempotent API

Retry any create or update with the same key — you will never double-bill on a network blip.

Interchange++ reporting

Scheme fees, interchange and gateway margin split on every recurring card payment line.

Multi-currency presentment

Charge in EUR and more than twenty presentment currencies; settle to your local settlement account.

Dashboard cancellation flow

Payers or your support agents cancel or pause a plan without a code deploy — every action is audit-logged.

Who runs subscriptions on BazPay

BazPay is a regional gateway. If your business bills predictable renewals with a clean chargeback profile, our underwriting is built for you.

Out of scope: adult, gambling, CBD, nutraceutical, forex, CFD, crypto-exchange, debt-collection and MLM. We do not board those models on any rail.

Subscription software (SaaS)

Monthly and annual plans, seat upgrades, trials, dunning and mid-cycle proration for product-led SaaS.

Digital publishers and media

Memberships, paywall unlocks and pay-as-you-read top-ups for newspapers, magazines and paid newsletters.

E-commerce subscriptions

Replenishment boxes, membership pricing and loyalty programs for DTC stores on WooCommerce, Magento 2, PrestaShop and Shopware.

Professional services retainers

Monthly retainers, capped-hour packages and per-project subscriptions billed on card or SEPA Instant.

Recurring payment questions

Migrating an existing book of subscribers? Write to [email protected] and we will map your plans before you move a single payer.

Building a custom flow? Check WooCommerce, Magento 2, PrestaShop and Shopware plugin coverage first — most subscription models are covered without code.

What is recurring payment processing, and how does BazPay handle it?

Recurring payment processing is the collection of charges that run on a schedule against a stored payment credential or mandate. BazPay stores the credential, runs the charge, applies PSD2 exemption logic, retries soft declines by reason code and pushes every state change by signed webhook. Card, BACS Direct Debit and open banking share the same subscription object.

How does a payer cancel a recurring payment, and how do I honour it?

A cancellation can come from your app, from the BazPay dashboard, or from the payer's issuer as a stop instruction. Cancelling a subscription immediately halts the retry queue, stops future authorisations against the stored token or mandate, and fires a subscription.cancelled webhook. If the payer asks to cancel a recurring payment mid-cycle, you decide whether to prorate or credit — both flows are supported.

Which recurring payment methods does BazPay support in-region?

Recurring card payment on Visa, Mastercard, Cartes Bancaires and eftpos; BACS Direct Debit under CORE and B2B mandates; and open-banking A2A renewals where the payer prefers per-charge approval. Wallets (Apple Pay, Google Pay) work on top of the card rail because the wallet returns a network token.

How do PSD2 recurring payments avoid friction on every renewal?

Under PSD2, the first charge carries strong customer authentication. Subsequent renewals run as merchant-initiated transactions (MIT) under a stored consent. Our engine applies transaction-risk-analysis, trusted-beneficiary or low-value exemptions where the rules allow, so the payer sees a challenge only on the initial authorisation or when the issuer forces a step-up.

How is a recurring payment authorized, and how is the mandate proof stored?

For cards, the initial authorisation captures the shopper's 3-D Secure response plus a consent to charge on file; that receipt is stored against the customer object. For SEPA Instant, the payer signs a mandate — CORE for consumers or B2B for businesses — and BazPay stores the mandate ID, signing date, settlement account and payer identity. Both records are exportable for audit.

How many times will you retry a failed auto recurring payment?

The card schemes cap the number of attempts per declined transaction, and we stay inside that cap. Soft declines are retried by reason code on a schedule tuned to payday cycles; hard declines stop immediately and enter dunning. The engine never adds attempts of its own on top of scheme limits.

Can I mix card and SEPA Instant on one subscription?

Yes. A payer can hold more than one payment method against the same plan. If the primary recurring card payment fails, the engine can fall back to the debit-order mandate. The billing schedule and invoice numbering stay consistent.

What is the difference between a recurring and a non-recurring payment on my BazPay dashboard?

A non recurring payment is a single authorisation with no stored consent to charge again — a one-off purchase, a one-time top-up, a manual invoice paid once. A recurring payment references a subscription or a stored mandate and is expected to fire again on a schedule. The dashboard filters both separately and reporting keeps them on distinct lines.

Which platforms and recurring payment apps integrate out of the box?

BazPay ships maintained plugins for WooCommerce, Magento 2, PrestaShop and Shopware, each with subscription flows enabled. For custom stacks, the REST API and signed webhooks are the same primitives our plugins use, so a hand-rolled integration reaches parity in days rather than weeks. We do not ship consumer-facing mobile payment apps for merchants; the merchant interface is the web dashboard and the API.

Do you offer the checkout and receipts in Dutch?

Yes. Hosted checkout, hosted fields, receipts and shopper-facing dunning emails are localised for Dutch-speaking regional markets. A recurring payment in Dutch reads correctly for payers in the Netherlands and localised for date, currency and mandate wording where SEPA schemes require it.

Can I run a full recurring payment program without an in-house billing system?

Yes. Plans, proration, trials, invoices, dunning and cancellations all run inside BazPay. Webhooks push every state change to your app so your database can stay thin. Merchants that already run a billing system keep it and use BazPay purely as the recurring payment processor beneath it.

Does BazPay support restricted subscription models?

No. BazPay is a regional gateway with a defined acceptance list. Our subscription book is scoped to e-commerce, subscription software, digital publishers and professional services. We do not board adult, gambling, CBD, nutraceutical, forex, CFD, crypto-exchange, debt-collection or MLM models.

Run a full billing cycle first

Build a full billing cycle against the live API today. Model a trial, a proration event and a failed renewal — no card needed, no sales call first.