1 回答

TA貢獻1811條經驗 獲得超4個贊
我認為這個想法是收集的姓名是持卡人姓名,并且與卡 [0] 相關聯,而不是客戶??蛻糇罱K可能會擁有多張卡或其他付款方式,而且他們可能都有不同的持卡人姓名。因此,默認情況下該信息不會轉移到客戶。
您的方法總體上看起來不錯——我個人會使用 API 的擴展功能 [1],這樣您就可以通過從 webhook 處理程序的一次調用中檢索結帳會話及其付款和客戶的完整上下文來跳過一堆 API 調用。
$session = \Stripe\Checkout\Session::retrieve(
$payload['data']['object']['id'],
["expand" => ["payment_intent", "customer"]]);
$cardholderName = $session['payment_intent']['charges']['data'][0]['billing_details']['name'];
\Stripe\Customer::update($session['customer'].id,
["name" => $cardholderName]);
[0] - https://stripe.com/docs/api/payment_methods/object?lang=php#payment_method_object-billing_details-name
[1] - https://stripe.com/docs/api/expanding_objects?lang=php
- 1 回答
- 0 關注
- 152 瀏覽
添加回答
舉報