条纹发票部分付款

问题描述 投票:0回答:2

我正在尝试对 Stripe 订阅进行建模,其中收集方法是 send_invoice。但是,我想允许客户选择他们支付的金额(临时的,我相信它被称为),然后在收到总余额时将发票标记为已付款。

我可以看到这是 ACH 信用付款的一个选项,但仅用于处理客户的错误。有什么方法可以在发票上的卡付款中启用此功能吗?

node.js stripe-payments
2个回答
2
投票

使用开箱即用的 Stripe 是不可能实现这一点的。 Stripe 托管的发票表单不允许客户输入他们选择的金额。发票上列出的金额基于通过 API 创建发票时提供的参数。

只要尚未支付全额金额,您就需要创建自己的循环逻辑来执行以下操作:

  • 获取客户想要支付的临时金额。这必须通过您自己定制的表单来完成
  • 然后为该临时金额创建发票
  • 您可以使用 webhooks 监听 invoice.paid 事件来验证发票是否已成功支付。从事件详细信息中,您可以检索发票详细信息并将其“链接”到数据库中该客户的欠款金额。
  • 计算未付金额

示例 - 我有一位客户欠我 100 美元

  • 询问顾客他们愿意支付多少钱。客户决定支付 10 美元。
  • 创建 10 美元的发票。
  • 发票付款成功后。将发票详细信息与数据库中的欠款金额联系起来。
  • 计算剩余金额。

因为还剩$90,

  • 询问顾客他们愿意支付多少钱。客户决定支付 90 美元。
  • 创建 90 美元的发票。
  • 发票付款成功后。将发票详细信息与数据库中的欠款金额联系起来。
  • 计算剩余金额。

在您的数据库中将金额标记为已全额支付。


0
投票

更新此答案。

现在可以通过发票付款实现这一点。

流程如下:

  1. 让顾客选择支付金额
  2. 收集付款详情(例如付款意向、付款方式等)
  3. 将其附在发票上
  4. 支付全部发票金额后,获取
    invoice.paid
    事件

如果(分摊)付款金额已知,也可以使用付款计划

© www.soinside.com 2019 - 2024. All rights reserved.