WHMCS 支付网关:经常性但不是信用卡

WHMCS payment gateway: recurring but not credit card

我正在为 Mollie 支付网关开发自定义 WHMCS 支付网关模块。到目前为止,我集成了一次性付款没有任何问题,但我在实施定期付款时遇到了一些问题。

订阅或授权按需向客户收费的流程略有不同。

创建订阅的流程是:

  1. 在 Mollie 中创建客户资料
  2. 通过执行授权付款创建授权 - 用于 link 向客户付款的方式(必须是至少 0.01 欧元的付款,需要用户输入)
  3. 添加对授权的订阅,告诉 Mollie 每隔 x days/weeks/months
  4. 向关联卡收取 x 金额

授权商户按需收费流程为:

  1. 在 Mollie 中创建客户资料
  2. 通过执行授权付款创建授权 - 用于 link 向客户付款的方式(必须是至少 0.01 欧元的付款,需要用户输入)
  3. 商家针对每张新发票向 Mollie 发送付款请求

我遇到的问题是 Mollie 支持每位客户使用多种付款方式。而 WHMCS 围绕 Stripe 等单一方法网关构建了他们的网关模块系统。

我想做的是将信用卡管理页面替换为自定义页面(最好在模块中生成,不修改任何模板),让客户管理他们的 Mollie 详细信息。这将包括查看有效授权和添加新授权(同样,授权基本上是授权我使用特定的支付方式进行订阅或按需收费)。

我在 WHMCS 文档中找不到任何执行此操作的方法。这是否可能,或者我是否应该接受客户查看我的模块生成的页面的唯一方法是让他们先查看发票。

您将需要创建两个协同工作的模块,一个支付网关模块和一个插件模块。插件模块将允许您创建客户端页面,客户可以在其中输入协议/调整协议,然后使用 _link 功能显示一个表格,客户可以在其中选择在支付发票时使用哪个协议。

考虑到 WHMCS 确实已经支持使用成熟的本地 UI 定期付款并将其与良好的发票实践相结合,这似乎是有用的。在付款前向客户发送发票,然后在到期日从卡中扣款并向客户发送收据。客户可以在系统中看到这些发票的审计线索。

虽然由于各种驱动原因,应用程序的业务和收费需求千差万别,但我认为对于大多数人来说,使用 WHMCS 的定期付款来实施定期付款是一种简单而有效的解决方案。请记住,WHMCS 就是为这些而生——举一个例子,它在托管和域名续订的定期付款方面表现出色;该域名根本不会续订,并且会在付款前发送提醒;如果不付款,任何托管服务都将过期,并最终可选择从服务器中删除。使用 subscription-based 支付系统来制作这些类型的自动化总是会变得更加困难 - 即使在成功订阅续订时触发了 webhook。 (这是可以做到的,它只是比原生的更难和更不可靠 - 如果 IPN/webhook 没有可靠地到达,或者其他问题破坏了事情怎么办)。我只是提倡任何新读者都考虑在 WHMCS 非常有能力且 time-tested 经常性交易框架内这样做 - 我认为至少值得考虑,并且上面没有提到,除非我错过了它。我还提到了这一点,因为对于那些刚接触 WHMCS 的人来说,这可能不会立即成为一个好主意。 WHMCS 所有 都是关于简化经常性交易、让客户看到发票踪迹等。

我意识到现在是 2022 年,这个讨论最初是在 2016 年底举行的,但想为新读者将其添加到上面的好主意中。

如果这很烦人,我们深表歉意;再次,充分认识到遗留决策和业务因素可能使坚持外部经常性付款变得至关重要!