簡體   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