在进行强客户身份验证(SCA)之前,我可以使用$customer->sources['data']
从客户对象中获取源集合
现在,我正在尝试迁移到SCA,但无法弄清楚如何通过客户对象获取“ paymentMethod”而不将其保存到数据库中。
以下是文档:https://stripe.com/docs/payments/cards/saving-cards#save-payment-method-without-payment
但是为了简短起见,我这样保存“ paymentMethod”:
// This creates a new Customer and attaches the PaymentMethod in one API call.
\Stripe\Customer::create([
'payment_method' => $intent->payment_method,
]);
但是,客户对象不能公开访问Payment-Method-ID。
是否有可能以某种方式获得它?
答案 0 :(得分:1)
PaymentMethods不会嵌入到Customer对象本身,也不会出现在$customer->sources
中。相反,您可以例如使用API [0]列出它们,或直接检索给定的ID(您也可以将其与客户ID以及用户信息一起保存在数据库中)。
$customer = \Stripe\Customer::create([
'payment_method' => $intent->payment_method,
]);
$cards = \Stripe\PaymentMethod::all([
"customer" => $customer->id, "type" => "card"
]);
/*
OR
*/
$card = \Stripe\PaymentMethod::retrieve($intent->payment_method);