如何使用 Stripe 的 Webhook
更新数据库中的用户?我有 Hook 工作只是无法让它更新数据库中的用户。
当 customer.subscription.created & customer.subscription.updated & customer.subscription.deleted
时,如何在 webhook
中调用客户?
更新:我有这个..
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
最佳答案
此信息可以在 stripe 文档中找到。您必须安装 Stripe PHP SDK。您可以使用 composer 执行此操作或将其直接下载到您的项目 vendor 文件夹中:
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 调用。 payload 的响应体为 JSON 格式。所以一定要解码 JSON。
关于php - Stripe PHP 订阅 Webhook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35804875/