PHP:订阅试用期结束后,如何使用Stripe Webhooks通知服务器成功付款?

时间:2019-07-24 14:55:28

标签: php stripe-payments

我在项目中使用Stripe API和Stripe Webhooks。

我已完成所有设置并正常工作。在我的Stripe帐户中,我有一个以14 day Free Trial开头的订阅计划。

在14天的免费试用期之后,我需要使用Stripe Webhook来通知服务器successfull paymentfailed payment

我尝试使用此变量进行成功付款:

$input = @file_get_contents("php://input");
$event_json = json_decode($input);

$stripe_c_id = $event_json->data->object->customer;

if ($event_json->type == 'invoice.payment_succeeded') {

//do my stuff here///


}

但是,一旦有人订阅,Stripe就会通过网络钩子发送invoice.payment_succeeded!但是我只需要在免费试用后得到通知。

这在我的系统中引起了一个小问题。

因此,我想知道是否为此目的需要在Stripe webhooks中寻找其他变量?

谢谢。

编辑:

这很令人困惑。我发现了这个:https://stripe.com/docs/billing/lifecycle

  1. 已发送一个customer.created事件,表明有一条客户记录 已成功创建。

  2. 发送了一个customer.subscription.created事件,指示 订阅已创建。

  3. 在尝试收费之前,先起草发票,然后确定发票 被制造。在invoice.created和invoice.finalized事件是 已发送,表明该发票是为第一次开具发票 时间段。

  4. 已发送一次收费成功事件,表明该客户的 付款方式已成功收取。

  5. 已发送一个invoice.payment_succeeded事件,表明 发票已成功标记为已付款。

如其建议,它将发送charge.succeeded事件以指示付款成功。

但是,如果付款成功,我们为什么需要invoice.payment_succeeded之后呢?!

0 个答案:

没有答案