这在一个帐户上为我工作,今天,我将侦听器添加到新的Stripe帐户,现在它不再起作用。当客户向他们的帐户添加新的付款方式时,将触发事件customer.source.created
。这是我可以正常工作的代码(摘录):
<?php
if($event->type == 'customer.source.created') {
$cardID = $event_json->data->object->id;
$customerID = $event_json->data->object->customer;
$brand = $event_json->data->object->brand;
$last4 = $event_json->data->object->last4;
$exp_month = $event_json->data->object->exp_month;
$exp_year = $event_json->data->object->exp_year;
}
?>
这是示例Stripe JSON响应:
{
"id": "evt_1DLkAh2Y54K5YG39Lku1hJ1G",
"object": "event",
"api_version": "2018-09-24",
"created": 1539664123,
"data": {
"object": {
"id": "card_1DLkAf2Y54K5YG39C0jMpCOj",
"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": "JCB",
"country": "JP",
"customer": "cus_DnCcf39Nqp4RwF",
"cvc_check": "pass",
"dynamic_last4": null,
"exp_month": 12,
"exp_year": 2024,
"fingerprint": "t56gZmsPg6ztkHFH",
"funding": "credit",
"last4": "0000",
"metadata": {
},
"name": null,
"tokenization_method": null
}
},
"livemode": false,
"pending_webhooks": 2,
"request": {
"id": "req_L9pvt2RR3VSZoG",
"idempotency_key": null
},
"type": "customer.source.created"
}
Stripe响应代码为200。我的侦听器中还有其他事件,例如charge.succeeded
,它们使用几乎相同的编码方法也可以正常工作。目前,我无法让$cardID
回显。所以我想知道Stripe最近是否有所更改。我正在Webhooks中运行最新版本。我确实尝试过恢复到旧版本,但这也不起作用。
答案 0 :(得分:0)
好吧,这是我没有抓住的非常愚蠢的问题。我今天设置的条纹帐户使用的是旧版本,并且有可用的更新。我没有意识到这一点,因为我在测试模式下工作,而您只能在实时模式下升级。
因此,升级后,一切正常。浪费时间数小时,如此简单。