当前位置: 首页 > 知识库问答 >
问题:

Stripe:处理第一个订阅和webook事件

包建义
2023-03-14

>

  • 我的客户第一次加入我们的订阅计划时,我创建了一个事务(称为启动事务),并使用Stripe的API创建新的订阅,并在上述事务中存储订阅对象返回。

    我还使用webook来捕捉Stripe的事件。我最大的目的是处理经常性付款(发送收费成功或失败的通知,以及客户互动的东西)。我捕捉事件invoice.payment_succeeded检测它是一个重新计费。我也创建了一个事务(调用RECURRENCE),当然,我在事务中存储事件对象。(基于事件invoice.payment_succceeded中的订阅信息,我找到相对开始事务,并创建一个新的事务,只要RECURRENCE)

    问题暴露出来了,在客户第一次创建计划时,有6个事件回调到我的系统:customer。创建;要价成功;发票创建;发票支付成功;顾客卡片创建;顾客订阅创建。因此,我的客户第一次有2个交易A:1个开始和1个重复。

    您是否建议我删除RECURRENCE交易?

    非常感谢。

  • 共有2个答案

    蒋嘉实
    2023-03-14

    您可以使用条带请求的计费\u原因来确定它是首次订阅、定期付款还是更新的发票付款。看见https://stripe.com/docs/api/invoices/object#invoice_object-计费原因

    丰赞
    2023-03-14

    听起来你想知道发票是否正确。付款成功您收到的事件是第一笔付款(您已在“启动交易”中处理)还是未处理(在这种情况下,您希望在“定期交易”中处理)。

    最简单的方法是查看事件对象request属性。因为第一张发票是您的订阅创建请求的直接结果,所以第一张发票。付款成功事件的请求属性将具有非空值。后续发票是在后台通过条带创建的,因此事件的请求属性将为空值。

     类似资料:
    • 目前我们正在使用Axon 2。我们想把Axon 2升级到4。我们使用Axon 2订阅带有重放选项的事件处理器。在Axon 4中,一个显著的区别是跟踪事件处理器。看来,跟踪处理器是重播的必备。有可能拥有订阅和跟踪事件处理器吗?有没有可能把跟踪处理器只用于重放,剩下的就不管了?还是必须改变整个结构?

    • mysql会员订阅数据表的设计应该如何设计?产品有订阅商品和非订阅的,每次都只能购买一个。 订阅有1个月 3个月的 每次到期自动扣费。如果在一个月类购买了几个订阅商品 则扣费按照最新的一个 然后延长到期时间。其实是不是每次订阅都不需要生成新订单的 翻阅了其他资料都找不到很好的设计

    • Node.js应用程序可以使用composer-client.BusinessNetworkConnection.onAPI调用从业务网络订阅事件。事件在业务网络模型文件中定义,并由交易处理函数文件中的指定交易处理。有关发布事件的更多信息,请参阅发布事件。 在你开始之前 在应用程序可以订阅事件之前,你必须定义一些事件和发送它们的交易。还必须部署业务网络,并且必须具有可连接到该业务网络的连接配置文件

    • 问题内容: 我正在使用Django-stripe-paymants,它的工作方式是在订阅表单完成后处理JSON响应。他们的付款已经处理,网页挂钩看起来不错。 但这只是显示JSON是浏览器窗口。 即: 我想象Java脚本中缺少一些小东西,但是被卡住了。 我已经阅读了几次文档,并四处寻找解决方案。造成这种情况的常见原因不包括bootstrap-ajax.js。自从我发现上一个相关问题以来,bootst

    • 出纳版本:“^12.13” Laravel版本:“^8.0” PHP版本:“^7.3” 你好!, 我已经写了一个使用Laravel出纳(条纹)创建和主动订阅计划的代码,它的工作很好,但我想添加一些条件,如我想激活这个计划只有5个月。 在stripe文档中,我们可以在创建订阅计划期间设置“迭代”,这意味着如果我只想创建5个月的订阅计划,那么我需要设置“迭代:5”(https://prnt.sc/12

    • 调用.unsubscribe()将取消一个成员的回调监听Observable流。 当创建Observable时,您还可以返回自定义回调onUnsubscribe,当收听流的成员取消订阅时将调用该回调。 这对于必须实现的任何类型的清理都很有用。 如果我们没有清除setTimeout,那么值仍然会发射,但是没有人听。 为了节省资源,我们应该停止发射值。 一个重要的事情要注意的是,当您调用.unsubs