我需要我的客户添加他们的信用卡信息,但是我不想立即向他们收费。有什么办法,我可以添加他们的详细信息以便以后在使用Stripes结帐解决方案时收取费用,而只是先存储他们的卡令牌吗?
我在后端使用Laravel Cashier。
答案 0 :(得分:1)
您首先应该创建一个Stripe卡令牌。您有两种选择可以这样做:
composer require stripe/stripe-php
安装官方的Stripe PHP库,然后使用以下代码:\Stripe\Stripe::setApiKey("{your_stripe_api_key}");
\Stripe\Token::create([
"card" => [
"number" => "{card_number}",
"exp_month" => {card_expiration_month},
"exp_year" => {card_expiration_year},
"cvc" => "{card_security_code}"
]
]);
一旦有了该令牌,就可以使用Laravel Cashier将Stripe卡令牌存储在数据库中,并使用以下方法在Stripe中更新卡信息:
$user->updateCard($token);
$user->updateCardFromStripe();
Laravel Cashier文档的Updating Credit Cards部分中提供了有关这些方法的更多信息。
答案 1 :(得分:0)
如果像我一样,您正在寻找获得令牌的话:
\Stripe\Stripe::setApiKey("{your_stripe_api_key}");
$token = \Stripe\Token::create([
"card" => [
"number" => "{card_number}",
"exp_month" => {card_expiration_month},
"exp_year" => {card_expiration_year},
"cvc" => "{card_security_code}"
]
]);
$user->updateCard($token->id);
$user->updateCardFromStripe();
感谢@louisfischer