我正在尝试从 Stripe Checkout 表单提交中检索各种数据,我只是使用 Stripe Dashboard 中提供的 Stripe Checkout 代码。
在我的checkout_submission_completed活动中,我有 webhook,我试图在其中检索email,name以便在成功购买后我可以采取其他行动。
这是令人惊讶的困难。
这是我如何检索电子邮件(payload我的 webhook 收到的响应在哪里):
$cust = $payload['data']['object']['customer'];
$custdata = \Stripe\Customer::retrieve($cust);
$email=$custdata->email;
好吧,没什么大不了的。
名字呢?好吧,这就是事情变得非常有趣的地方。点击表单付款提交按钮后,Stripe 会创建一个客户,并成功完成收费。但是在 Customer 对象中没有名称。是的,没有名字。在今天与 Stripe 的聊天中,他们没有做出任何解释,并表示他们会进一步调查。
结果表明,表单上输入的名称出现在 Stripe 对象中的唯一地方是 Payment Intent 对象中的 Payment Details 对象。
我是认真的。所以这是我获取名称的方式(使用cust以前的代码:
$piid = $cust = $payload['data']['object']['payment_intent'];
$pi = \Stripe\PaymentIntent::retrieve($piid);
$name = $pi['charges']['data'][0]['billing_details']['name'];
有没有更好的方法让我做到这一点?
波斯汪