条纹,从事件中检索卡信息

时间:2018-10-16 04:17:25

标签: php json stripe-payments

这在一个帐户上为我工作,今天,我将侦听器添加到新的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中运行最新版本。我确实尝试过恢复到旧版本,但这也不起作用。

1 个答案:

答案 0 :(得分:0)

好吧,这是我没有抓住的非常愚蠢的问题。我今天设置的条纹帐户使用的是旧版本,并且有可用的更新。我没有意识到这一点,因为我在测试模式下工作,而您只能在实时模式下升级。

因此,升级后,一切正常。浪费时间数小时,如此简单。