Mollie 中文文档 下载 App

Mollie Subscriptions 订阅与重复扣费 - SaaS 周期性收费完全指南

什么是 Recurring

Mollie Recurring(重复扣费)让客户首次付款后一次性授权,后续的定期扣费由 Mollie 自动完成。这是 SaaS、会员制、盒子订购等周期性收费业务的核心功能。

支持的扣费方式

首次付款可以用几乎任何支付方式(卡、iDEAL、Bancontact、PayPal 等),但后续自动扣费只能用三种:

后续扣费方式适用场景说明
SEPA Direct Debit欧洲本地银行账户从客户银行账户直接扣款,需要首次授权
信用卡(Card)使用 Visa/Mastercard 的客户首次卡支付时标记为"可重复使用"
PayPal有 PayPal 账户的客户PayPal 账户内的定期扣款

SEPA Direct Debit 在欧洲最主流——客户授权后 Mollie 可以直接从他们的银行账户扣费,费用也最低(£0.30/次)。

订阅模型

Mollie 的订阅功能由三层对象组成:

Customer(客户)

Customer 是 Mollie 用来存储可重复使用支付方式的容器。你在创建 Payment 或 Subscription 时传入 Customer ID,Mollie 就知道"这个客户是谁、他有哪些可用的支付方式"。

# 创建 Customer
customer = customers_api.create_customer({
    "name": "John Doe",
    "email": "john@example.com"
})
# customer['id'] → 'cst_xxxxx'

Mandate(授权)

Mandate 是客户对你的支付授权。首次付款成功后,如果支付方式支持 Recurring,Mollie 会自动为该 Customer 创建一个 Mandate。

Mandate 有三种状态:

你可以查询某个 Customer 有哪些可用的 Mandates。

Subscription(订阅)

Subscription 定义了"扣多少、多久扣一次、扣几次":

subscription = subscriptions_api.create_subscription(
    customer_id="cst_xxxxx",
    body={
        "amount": {"currency": "EUR", "value": "29.99"},
        "interval": "1 month",       # 也可以是 "1 year"、"2 weeks"
        "description": "Pro Plan Monthly",
        "method": "directdebit"      # 指定用哪种方式扣
    }
)

三层关系图

Customer(cst_xxxxx)
  ├── Mandate(mdt_xxxxx,SEPA 直接扣款授权)
  │     └── Subscription(sub_xxxxx,每月扣 €29.99)
  └── Mandate(mdt_yyyyy,信用卡授权)
        └── Subscription(sub_yyyyy,每年扣 €299.99)

扣费失败处理

这是 Recurring 功能里最让人担心的问题——客户卡过期了、余额不足了、银行拒付了怎么办。Mollie 的处理策略:

自动重试(最多 5 次)

第 1 天:扣费失败 → 自动重试
第 2 天:扣费失败 → 自动重试
第 3 天:扣费失败 → 自动重试
第 4 天:扣费失败 → 自动重试
第 5 天:扣费失败 → 最后一次重试
第 6 天:全部失败 → 订阅取消,发送 customer.subscription.canceled Webhook

每次重试的间隔是一天。如果某次重试成功了,订阅继续正常扣费,下次扣费日期会重置为上次成功日期 + interval。

通知与主动干预

3DS 与订阅

订阅的首次付款可能需要 3DS 验证(SEPA Direct Debit 通常不需要)。后续的自动扣费不再触发 3DS——这是 SCA 法规下的例外,只要客户首次授权时完成了验证,后续的定期扣款被认为不需要再次 SCA。

一次性订阅 vs 自动续费

Mollie 不强制"永久续费"。Subscription 对象可以设置 times 参数:

{
    "interval": "1 month",
    "times": 12,           # 只扣 12 次(一年),然后自动结束
    "amount": {"currency": "EUR", "value": "9.99"},
    "description": "12-month Magazine Subscription"
}

不设置 times 就是永久续订,直到客户主动取消。

客户自助取消

在 Mollie Dashboard → Settings → Customer Portal,可以开启一个客户自助门户。客户有专属链接(如 https://mollie.com/payment-link/xxxxxx),可以自己:

这对于 SaaS 来说特别有用——你不用自己构建"订阅管理"页面,也不用客服介入就能处理客户的取消请求。

费率

订阅的后续扣费沿用该支付方式的标准费率:

后续扣费方式单次扣费费用
SEPA Direct Debit£0.30
信用卡1.80% + £0.25
PayPalPayPal Fees + £0.10

首次付款的费率也按对应支付方式标准收取,没有额外的 "Recurring 服务费"。

典型集成流程

客户在你的 SaaS 页面选择 Pro 套餐(€29.99/月)
  │
  ├── 你创建 Customer(如果还没有)
  │     └── cst_xxxxx
  │
  ├── 你创建首次 Payment,指定:
  │     ├── customerId: cst_xxxxx
  │     ├── sequenceType: "first"(标记为首次,后续可 Recurring)
  │     └── 金额 €29.99
  │
  ├── 客户在 Checkout 完成首次付款
  │     └── Mollie 自动创建 Mandate
  │
  ├── Mollie 发送 payment.paid Webhook
  │
  ├── 你创建 Subscription(每月扣 €29.99)
  │     └── sub_xxxxx
  │
  └── 下一个月开始,Mollie 自动发起扣费
        ├── 成功 → payment.paid Webhook → 你更新客户的"到期日期"
        └── 失败 → 最多 5 次重试 → 全失败后订阅取消

继续阅读:防欺诈与拒付管理 →