为客户订阅定期付款计划后如何获取费用 ID?

Posted

技术标签:

【中文标题】为客户订阅定期付款计划后如何获取费用 ID?【英文标题】:How to get the charge Id after subscribing a customer to a plan with recurring payment? 【发布时间】:2019-06-25 21:06:01 【问题描述】:

我已经成功地创建了一个订阅计划的客户。成功付款后,我无法获得费用 ID,因为在为客户订阅计划后。它会自动生成发票。那么是什么方式我可以从 stripe 中获取特定的 Charge Strip Id 并将其存储在我的系统数据库中。

【问题讨论】:

【参考方案1】:

可以通过their webhooks 集成获取订阅(或发票)的费用 ID。您需要在您的应用程序中公开一个 API,Stripe 可以在其中触发这些请求。您可以在那里订阅各种活动,但在您的情况下,您需要在charge.succeeded 上订阅。费用 ID 将在事件对象的data 结构中。

查看可用于 webhook 的各种 other lifecycle events。

【讨论】:

正如你所说,我集成了一个 webhook。但我收到了每一个事件(即创建的客户、创建的订阅、生成的发票),但我只想要收费相关的事件。我怎样才能得到这些事件?跨度> 是的,没错,stripe 会向您发送所有事件。您可以按事件类型过滤这些事件,如果它们与您的需求不相关,则丢弃其余事件。 获取chargeId需要设置什么类型? @PoonamKaria 它是charge.succeeded。我的回答中也提到了。 我会在调试时向您展示我的代码。它不会向我显示类型为 charge.succeeded 的列表。 var service = new EventService(); var options = new EventListOptions Type = "charge.succeeded", Limit = 3, ; StripeList events = service.List(options);

以上是关于为客户订阅定期付款计划后如何获取费用 ID?的主要内容,如果未能解决你的问题,请参考以下文章

立即收取订阅更改费用

Paypal 通过定期付款收取费用?

Paypal 每月定期付款:最少 12 个月 - 可能吗?

使用 paypal-ruby-sdk 创建 Paypal 定期订阅计划时如何让卖家支付交易费用

带有 PaymentIntents 的条纹。订阅后产生新费用

在贝宝(贝宝订阅)中首次定期付款时应用折扣优惠券代码