Create subscription

With subscriptions, you can schedule recurring payments to take place at regular intervals.

For example, by simply specifying an amount and an interval, you can create an endless subscription to charge a monthly fee, until you cancel the subscription.

Or, you could use the times parameter to only charge a limited number of times, for example to split a big transaction in multiple parts.

A few example usages:

amount[currency]="EUR" amount[value]="5.00" interval="2 weeks" Your customer will be charged โ‚ฌ5 once every two weeks.

amount[currency]="EUR" amount[value]="20.00" interval="1 day" times=5 Your customer will be charged โ‚ฌ20 every day, for five consecutive days.

amount[currency]="EUR" amount[value]="10.00" interval="1 month" startDate="2018-04-30" Your customer will be charged โ‚ฌ10 on the last day of each month, starting in April 2018.

Access with

API key

Organization access token with subscriptions.write

OAuth access with subscriptions.write

Path Params
string
required

Provide the ID of the related customer.

Body Params
amount
object
required

The amount for each individual payment that is charged with this subscription. For example, for a monthly subscription of โ‚ฌ10, the subscription amount should be set to โ‚ฌ10.

integer | null

Total number of payments for the subscription. Once this number of payments is reached, the subscription is considered completed.

Test mode subscriptions will get canceled automatically after 10 payments.

string
required

Interval to wait between payments, for example 1 month or 14 days.

The maximum interval is one year (12 months, 52 weeks, or 365 days).

Possible values: ... days, ... weeks, ... months.

string

The start date of the subscription in YYYY-MM-DD format.

string
required

The subscription's description will be used as the description of the resulting individual payments and so showing up on the bank statement of the consumer.

Please note: the description needs to be unique for the Customer in case it has multiple active subscriptions.

string | null

The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used.

Possible values: creditcard directdebit paypal ``

applicationFee
object

With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants.

Setting an application fee on the subscription will ensure this fee is charged on each individual payment.

Refer to the applicationFee parameter on the Get payment endpoint documentation for more information.

Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.

Any metadata added to the subscription will be automatically forwarded to the payments generated for it.

string | null

We will call this URL for any payment status changes of payments resulting from this subscription.

This webhook will receive all events for the subscription's payments. This may include payment failures as well. Be sure to verify the payment's subscription ID and its status.

string | null

The mandate used for this subscription, if any.

string

The identifier referring to the profile this entity belongs to.

When using an API Key, the profileId must not be sent since it is linked to the key. However, for OAuth and Organization tokens, the profileId is required.

For more information, see Authentication.

boolean | null

Whether to create the entity in test mode or live mode.

Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting testmode to true.

Responses

Language
Credentials
Request
Response
Choose an example:
application/hal+json