Stripe PHP订阅Webhook

时间:2016-03-04 19:50:02

标签: php stripe-payments

如何使用Stripe's Webhook更新数据库中的用户?我有钩子工作只是不能让它更新数据库中的用户。

webhook时如何在customer.subscription.created & customer.subscription.updated & customer.subscription.deleted中呼叫客户?

更新:我有这个..     

require_once 'mainfile.php';
require_once 'config.php';
require_once 'Stripe/init.php';


// Retrieve the request's body and parse it as JSON
$input = file_get_contents("php://input");
$event = json_decode($input);

$customer_id = $event->data->object->customer;
$customer = \Stripe\Customer::retrieve($customer_id);
$email = $customer->email;
$start = $event->data->object->current_period_start;
$end = $event->data->object->current_period_end;
$status = $event->data->object->status;



if ($event->type == "customer.subscription.created") {


    hook($email, $start, $end, $status);

}

if ($event->type == "customer.subscription.deleted") {

    hook($email, $start, $end, $status);

}

if ($event->type == "customer.subscription.updated") {

    hook($email, $start, $end, $status);

}



?>

但现在我收到了这个错误:

[05-Mar-2016 23:52:56 America/New_York] PHP Warning:  mysqli_connect(): Headers and client library minor version mismatch. Headers:100023 Library:100106 in /home/sociagkf/public_html/dashboard/mainfile.php on line 25

1 个答案:

答案 0 :(得分:4)

此信息可在条带文档中找到。您必须安装Stripe PHP SDK。您可以使用composer或直接将其下载到项目供应商文件夹中来执行此操作:

https://github.com/stripe/stripe-php

https://stripe.com/docs/api/php#update_customer

\Stripe\Stripe::setApiKey("sk_test_BQokikJOvBiI2HlWgH4olfQ2");

$cu = \Stripe\Customer::retrieve("cus_81SwskJbGMS8UI");
$cu->description = "Customer for test@example.com";
$cu->save();

您需要做的是从webhook有效负载中返回的信息中获取客户唯一ID,然后使用它来进行API调用。有效负载的响应主体是JSON格式。所以一定要解码JSON。