![](/img/trans.png)
[英]With Stripe API, How To Get session_id of Checkout Session That Created a payment_intent Object, From payment_intent.succeeded Webhook
[英]How to get more data from Stripe webhook/Payment Intent
我正在使用 Stripe CLI 在我的本地主機上測試 Stripe webhooks,到目前為止,我已經成功地使用它成功返回了一個 PaymentIntent object,其中包含我需要捕獲並保存到我的數據庫中的大部分數據,但我仍然無法獲得文檔說應該在 Payment Intent 中的一些細節,即:
我正在使用以下代碼獲取這兩條信息,這也是 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.