gpt4 book ai didi

php - 如何从 Stripe 事件中获取客户 ID

转载 作者:行者123 更新时间:2023-12-05 05:20:58 26 4
gpt4 key购买 nike

我已经设置了一个 webhook,用于处理从 stripe 发送的事件。然而,我注意到并非所有事件都具有相同的结构。

我目前正在以这种方式检索客户:

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

$customerId = $event_json->data->object->customer

一两天后,我发现并非所有事件都在 $event_json->data->object->customer 下包含客户。这是一个示例响应:

{
"object": {
"id": "cus_Ac3Sx3Bn7cuvqB",
"object": "customer",
"account_balance": -3099,
"created": 1494163341,
"currency": "usd",
"default_source": "card_1AGpL4ByNDe65wcFOfqQZGCc",
"delinquent": false,
"description": "John John",
"discount": null,
"email": "john.john@john.com",
"livemode": false,
"metadata": {
},
"shipping": null,
"sources": {
"object": "list",
"data": [
{
"id": "card_1AGpL4ByNDe65wcFOfqQZGCc",
"object": "card",
"address_city": null,
"address_country": null,
"address_line1": null,
"address_line1_check": null,
"address_line2": null,
"address_state": null,
"address_zip": null,
"address_zip_check": null,
"brand": "Visa",
"country": "US",
"customer": "cus_Ac3Sx3Bn7cuvqB",
"cvc_check": "pass",
"dynamic_last4": null,
"exp_month": 7,
"exp_year": 2017,
"fingerprint": "lI2tl3FOGKOG7PcZ",
"funding": "credit",
"last4": "4242",
"metadata": {
},
"name": "John John",
"tokenization_method": null
}
],
"has_more": false,
"total_count": 1,
"url": "/v1/customers/cus_Ac3Sx3Bn7cuvqB/sources"
},
"subscriptions": {
"object": "list",
"data": [
],
"has_more": false,
"total_count": 0,
"url": "/v1/customers/cus_Ac3Sx3Bn7cuvqB/subscriptions"
}
}
}

我想问的是在哪里可以看到所有可能的事件结构的示例,以便我可以确保我的 webhook 不会返回 Could not determine which URL to request: Stripe\Customer instance has invalid ID: (500 内部服务器错误)?

注意:我确实看到了这个问题 - How to get a customer ID from event object in stripe但唯一给出的方法是 $event_json->data->object->customer

最佳答案

Stripe webhook 与相关对象的 API 端点共享相同的结构。在上面的示例中,object 字段设置为 customer,因此您可以在 API 文档中查看结构 https://stripe.com/docs/api#customer_object .如果你去 https://dashboard.stripe.com/account/webhooks并添加一个端点,然后选择“选择要发送的类型”,您可以看到将发送给您的所有类型的 webhook。

在很多事件中,寻找事件的客户并没有实际意义,因此只订阅您想要的事件类型可能会很有用。

关于php - 如何从 Stripe 事件中获取客户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43837646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com