我想使用Stripe获取客户卡的最后4位数字。
我已经使用以下方式存储了客户:
// Get the credit card details submitted by the form
$token = $_POST['stripeToken'];
// Create a Customer
$StripeCustomer = \Stripe\Customer::create(array(
"description" => "$username",
"card" => $token
));
现在,我想访问并存储卡的最后4位数字。 (就上下文而言,我想向用户显示他们使用Stripe存储了哪张卡以备将来付款-这不是订阅服务)。
我一直在寻找解决方案,但是很多帖子在收费后都保存了最后4位数字,并从收费中提取了以下信息:
$last4 = null;
try {
$charge = Stripe_Charge::create(array(
"amount" => $grandTotal, // amount in cents, again
"currency" => "usd",
"card" => $token,
"description" => "Candy Kingdom Order")
);
$last4 = $charge->card->last4;
我想在收费之前做同样的事情,所以我想从Customer Object中提取最后4个。 Stripe API文档显示了来自客户的last4的属性路径,
customer->sources->data->last4
但是,这似乎不能给我正确的后4位数字。
$last4 = $StripeCustomer->sources->data->last4;
我想我误会了如何在Stripe API中使用属性。有人可以指出我正确的方向吗?
最佳答案
$ last4 = $ StripeCustomer-> sources-> data [0]-> last4;
sources-> data是一个数组,因此您必须选择第一张卡。
旁注:您使用 token 两次,一次用于创建客户,第二次用于创建费用,这将导致错误,因为 token 只能使用一次。您必须向客户收费而不是代币收费。