如何处理一次性发票的 transaction_not_allowed 和 do_not_honor 错误

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

我有一个网站提供以下功能: i) 视频编辑 ii) 剧本写作 iii) 照片编辑

客户可以注册该网站并选择他们想要的功能。每个功能的费用为 5 美元/月。

支付流程实施

1)首期付款: 当客户选择功能(例如视频编辑和脚本编写)时,他们单击“付款”按钮开始付款流程。

我为客户创建一张一次性发票,包括选定的功能作为发票行项目。任何适用的折扣都会添加为负发票行项目。 我使用 setup_future_usage = "off_session" 来处理未来的付款。 返回支付意向客户端密钥,允许客户通过支付元素输入其信用卡详细信息。 客户成功完成付款(包括任何所需的 3D 安全身份验证)后,我将他们的卡标记为默认付款方式并授予对所选产品的访问权限。

2)添加更多功能: 如果将来客户想要访问其他产品,他们可以选择新功能并单击“添加”。 此时,我使用 Invoice API 向客户收费,并应用第一次付款流程中存储的默认卡。 客户无需重新输入任何付款详细信息。

3) 每月计费: 我们端运行每月服务,自动向客户收取所选功能的费用。 这使用与第二个流程相同的发票 API,在每月的固定时间用其存储的卡向所有客户收费。(客户不在流程中,即客户处于 off_session)

此流程非常适合美国客户。然而,对于印度卡,我在第二、第三流程中经常遇到以下错误: 不允许交易 不尊重

注意:我们不使用 stripe 订阅服务。至于第一个和第二个流量我们需要立即充电,只有第三个流量是在每个月的固定时间重复的。

经过研究,我发现印度发行的卡需要电子授权才能定期付款。此外,欧洲卡通常需要 SEPA 授权才能进行经常性收费。我遵循了Stripe关于印度定期付款的文档,但它并没有解决问题。

实施此流程以支持印度和欧洲卡,同时保持当前结构完整的最佳方法是什么?

stripe-payments stripes stripe-payment-intent
1个回答
0
投票

您的流程看起来可行,并且印度发行的卡是否需要 eMandate 不应影响您的实施。你就可以

  1. 遵循发票集成指南
  2. 完成发票的第 5 步后,调用 Update PaymentIntent 并指定 mandate_option
  3. 继续发票集成指南中的步骤 6。

Stripe 然后将为您的 PaymentIntent 生成授权,在其 Charge 对象内

所有这些都很复杂,所以我建议联系 Stripe 支持,他们会为您提供详细帮助。

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