繁体   English   中英

如何从 Stripe webhook/Payment Intent 获取更多数据

[英]How to get more data from Stripe webhook/Payment Intent

我正在使用 Stripe CLI 在我的本地主机上测试 Stripe webhooks,到目前为止,我已经成功地使用它成功返回了一个 PaymentIntent object,其中包含我需要捕获并保存到我的数据库中的大部分数据,但我仍然无法获得文档说应该在 Payment Intent 中的一些细节,即:

  • 用户支付的支付方式类型
  • 用户在 Stripe Payment Element 表单中输入的邮政编码

我正在使用以下代码获取这两条信息,这也是 function 中唯一在触发payment_intent.succeeded webhook 时不起作用的行:

// Webhooks by default return an Event object that is stored in 
// $payload object, so ["data"]["object"] should return the 
// PaymentIntent object corresponding to the retrieved Event object

$paymentIntent = $this->webhookCall->payload["data"]["object"]; 

...

$transaction->payment_method = $paymentIntent["charges"]["data"]["payment_method_details"]["type"]; 
$transaction->postcode = $paymentIntent["charges"]["data"]["billing_details"]["address"]["postal_code"];

这些行导致 Laravel 日志文件中出现“未定义索引”错误,这似乎表明它们在 PaymentIntent 中不存在或者我访问它们的方式有问题。

我没有使用过 stripe,但我从您共享的文档链接中看到了什么。 ["data"] 属性不是 object 而是一个数组,这意味着您必须像访问数组一样访问它。 所以你的代码应该看起来像这样。

$transaction->payment_method = $paymentIntent["charges"]["data"][0]["payment_method_details"]["type"]; 
$transaction->postcode = $paymentIntent["charges"]["data"][0]["billing_details"]["address"]["postal_code"];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM