Skip to main content

Subscriptions overview

Subscriptions allow you to charge a customer on a recurring basis. MONEI handles the billing cycle automatically — you create and activate a subscription, and MONEI charges the customer at each billing interval.

Subscription lifecycle

A subscription moves through several statuses during its lifetime:

Statuses

StatusDescription
PENDINGSubscription created, awaiting activation. The customer has not yet provided a payment method.
TRIALINGActive trial period. A €0 verification payment was made to validate the payment method. Billing begins when the trial ends.
ACTIVERecurring payments are being charged at each billing interval.
PAUSEDBilling is temporarily suspended. The subscription can be resumed at any time.
PAST_DUEA recurring payment failed. MONEI will retry according to the retry schedule.
CANCELEDThe subscription has been permanently stopped. No further payments will be charged.
EXPIREDThe subscription was not activated in time and can no longer be used.

Billing intervals

Configure how often the customer is charged using interval and intervalCount. The table below shows common examples — it is not a complete list of every valid billing interval:

intervalintervalCountBilling frequency
day1Every day
week1Every week
week2Every 2 weeks
month1Every month
month3Every 3 months (quarterly)
year1Every year

The maximum billing period is 1 year. For example, intervalCount cannot exceed 365 for day, 52 for week, 12 for month, or 1 for year.

note

minute and hour intervals are available in test mode only — useful for quickly testing your integration without waiting for real billing cycles.

Trial periods

You can offer a free trial before the first charge. Configure it with one of:

  • trialPeriodDays — number of free days (e.g., 14 for a 14-day trial)
  • trialPeriodEnd — Unix timestamp when the trial ends

During activation, MONEI creates a €0 verification payment to validate the customer's payment method without charging them. The first real charge occurs when the trial period ends.

You can extend an active trial by updating trialPeriodEnd on a TRIALING subscription — see Update subscription details.

Webhook events

MONEI sends notifications for subscription status changes and recurring payments. You configure two separate callback URLs when creating a subscription:

  • callbackUrl — receives subscription status change events
  • paymentCallbackUrl — receives payment events for each recurring charge

Subscription events

Event typeTriggered when
SUBSCRIPTION_PENDINGSubscription is created
SUBSCRIPTION_ACTIVATEDSubscription becomes active
SUBSCRIPTION_TRIALINGTrial period starts
SUBSCRIPTION_PAUSEDSubscription is paused
SUBSCRIPTION_PAST_DUEA recurring payment fails
SUBSCRIPTION_CANCELEDSubscription is canceled
SUBSCRIPTION_EXPIREDSubscription expired (not activated in time)
SUBSCRIPTION_UPDATEDSubscription details are modified

Each webhook request includes a MONEI-Signature header. Always verify the signature before processing the event, and return a 200 HTTP status code to acknowledge receipt.

Payment methods

Subscriptions support the following payment methods:

  • Card — Visa, Mastercard, and other supported . Default payment method for all subscriptions.
  • Bizum — Available with the following restrictions:
    • Monthly and yearly billing intervals only (daily and weekly not supported in production)
    • Trial periods are not supported
    • Subscription amount cannot be changed after activation

Activating subscriptions

Choose how customers activate subscriptions:

  • Use prebuilt payment page — Redirect customers to a MONEI-hosted page to activate their subscription. Simplest integration, no frontend code required.
  • Build a custom checkout — Collect payment details on your own site using MONEI Components. Full control over the checkout experience.
  • Send subscription link — Send an activation link by email or SMS for manual or back-office subscription creation.

Manage subscriptions

After subscriptions are active, use these guides to manage them:

  • Manage subscriptions — Pause, resume, cancel, skip payments, update payment method, and more.
  • Handle failed payments — Understand retry logic, configure behavior, and recover past-due subscriptions.

Common questions

What is the Subscriptions API?

The Subscriptions API is built to help you process subscription payments. For example, use MONEI Subscriptions to set up automatic charges to your customer's account for a fixed amount on a weekly, monthly, or annual basis.

You can create subscriptions based on a range of parameters including ID, subscription name/description, starting date, amount, currency, payment method, interval, length (period-end), and customer information including shipping and billing details.

Simplify your billing, improve the customer experience, and earn recurring revenue with MONEI Subscriptions. All you have to do is integrate the Subscriptions API with your e-commerce website using the Hosted Payment Page. If your website is built on WooCommerce you can use our WooCommerce subscriptions plugin (see below).

Possible use cases include subscription boxes, subscription services (streaming, online courses, gym memberships), and for rentals or leases.

Automatic retries for subscription payments

If your customer's payment method fails during a subscription payment because the card expired (or for another reason), two things happen to recover the transaction:

  1. We send an automated email to the customer asking them to update their subscription payment information. This email gets sent up to three times by default — at 1, 6, and 15 days after the failed payment for a monthly subscription (frequency depends on the subscription plan). This email comes from your business and includes your logo and contact information.
  2. If the subscription payment is not recovered, it gets canceled and you will receive a notification.

You can also set up custom retries (see below).

Custom retries for subscription payments

Yes, you can determine when automatic retries for subscription payments get sent. You can schedule daily, weekly, monthly, or yearly retries, but the sum of all intervals in the retry schedule cannot exceed the subscription interval.

Examples

  1. If your subscription renews weekly, and you want to send up to two retries, they both need to be sent within seven days, before the new subscription interval begins.
  2. If your subscription renews monthly, and you want to send up to five retries, all five retries must occur before the next monthly subscription interval begins.

Subscriptions on WooCommerce

MONEI's WooCommerce plugin has subscription support. To configure subscriptions in your WooCommerce account, you need to first install and configure the MONEI WooCommerce plugin, then buy the WooCommerce Subscriptions extension.