php-如何为单个客户ID添加多张卡并使用Stripe直接转帐?
作者:互联网
可以在条纹支付网关吗?
我们将使用条纹进行付款,首先,我正在创建令牌.
$result = Stripe_Token::create(
array(
"card" => array(
"name" => $user['name'],
"number" => base64decrypt($user['card_number']),
"exp_month" => $user['month'],
"exp_year" => $user['year'],
"cvc" => base64decrypt($user['cvc_number'])
)
)
);
使用令牌后,创建客户保存卡.
$customer = \Stripe\Customer::create(array(
"card" => $token,
"description" => "New customer",
"email" => $users->email
)
);
然后创建费用.
$charge = \Stripe\Charge::create(
array('card' => $token->token,
'amount' => $token->amount * 100,
'currency' => 'usd',
)
);
但我找不到在单个客户中保存多张卡.
请帮我.
解决方法:
首先,永远不要在生产环境中在服务器端创建令牌.为了有资格使用PCI SAQ A,必须使用Checkout或Stripe.js在客户端创建卡令牌.
在服务器上收到令牌后,可以通过几种不同的方式使用它:
>您可以通过在source参数中传递令牌ID(“ tok _…”),将其直接用于create a charge,而无需使用任何客户对象.在这种情况下,卡信息将“丢失”,您将需要再次收集信息并创建一个新令牌以在将来再次对该卡收费.
>您可以将其用于create a new customer.
>您可以将其用于add a card to an existing customer.
当creating charges与客户对象一起使用时,您需要在客户参数中传递客户的ID(“ cus _…”).如果您没有传递source参数,那么将使用客户的默认卡.如果您要为非默认卡收费,则除了客户参数外,还需要在源参数中传递卡的ID(“ card _…”).
cf. this StackOverflow answer.
标签:stripe-payments,php 来源: https://codeday.me/bug/20191026/1936935.html