根据订阅ID查找invoice.payment_succeeded

时间:2019-08-23 11:56:27

标签: php stripe-payments payment-gateway

我的网站关闭了一个星期,一周内几乎没有进行任何订阅分期付款。但是我的网站没有捕获到此信息(使用网络挂钩生成invoice.payment_succeed)。

我查询了我的数据库并获得了订阅ID。 但是如何获取触发invoice.payment_succeeded的事件。这样我就可以将其传递给web-hook方法,数据库将被更新。

  • 首先我查询了订阅ID。 https://api.stripe.com/v1/subscriptions/sub_XXXXXX我收到发票编号

  • 第二,我查询了发票编号。 https://api.stripe.com/v1/invoices/in_XXXXXX并获得

       "status_transitions": {
           "finalized_at": 1565706891,
           "marked_uncollectible_at": null,
           "paid_at": 1565706893,
           "voided_at": null
        },
    

    这显示已付款。

  • 然后我又查询了带薪日期(时间戳)

  

https://api.stripe.com/v1/events?created=1565706893&type=invoice.payment_succeeded

并在该日期内触发针对invoice.payment_successed响应触发的事件。

但是有时,我找不到在“ paid_at”期间创建的事件:1565706893,值。 我在这里想念什么。还是有其他解决方案可以使用订阅ID查找invoice.payment_succeed类型的事件ID。

1 个答案:

答案 0 :(得分:1)

https://api.stripe.com/v1/subscriptions/sub_XXXXXX 将仅获取latest_invoice ID。您确定使用正确的发票ID吗?

如果您只想将事件ID与https://api.stripe.com/v1/events?related_object= SUBSCRIPTIONID&type=invoice.payment_succeeded关联,也可以尝试使用此方法

在这里您可以找到为特定订阅创建的所有成功事件。希望这会有所帮助。(不知道它的官方名称,找不到,但是您可以尝试)