【发布时间】:2019-03-16 10:11:07
【问题描述】:
我需要我的客户添加他们的信用卡信息,但我不想立即向他们收费。有什么办法,我可以在使用 Stripes 结帐解决方案时添加他们的详细信息以便稍后收费,然后先存储他们的卡令牌?
我在后端使用 Laravel Cashier。
【问题讨论】:
标签: laravel stripe-payments laravel-cashier
我需要我的客户添加他们的信用卡信息,但我不想立即向他们收费。有什么办法,我可以在使用 Stripes 结帐解决方案时添加他们的详细信息以便稍后收费,然后先存储他们的卡令牌?
我在后端使用 Laravel Cashier。
【问题讨论】:
标签: laravel stripe-payments laravel-cashier
您应该首先创建一个 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 部分。
【讨论】:
如果你和我一样,正在寻找获得令牌:
\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
【讨论】: