Laravel 收银员 - updateCard() - 指导
Laravel Cashier - updateCard() - guidance
我正在使用 Laravel 带 Stripe 结账功能的 Cashier(以避免需要合规)。我无法理解如何让客户更改他们的卡详细信息。我知道收银员语法是
$customer->updateCard($stripeToken)
但是我们如何到达那里呢?请问有人能给我步骤吗?
收银员需要 token to be created client side using stripe.js/elements or checkout。然后,您将此令牌提交到您调用的服务器路由:
// grab the token from the request like this
// $stripeToken = request()->input('stripe_token');
$customer->updateCard($stripeToken);
Stripe API本身组合起来非常好,也很容易使用,所以你也可以直接使用它:
\Stripe\Stripe::setApiKey("stripe_secret_test_key");
$customer = \Stripe\Customer::retrieve("cus_CFdeffeSfeefe");
$card = $customer->sources->retrieve("card_1sdafjkfsdD32f");
$card->name = "Joseph Jones";
$card->save();
这是了解 Stripe 期望更新客户卡片的良好起点。尽管这是针对 vanilla PHP 的,但它为您提供了一些关于需要什么以及幕后发生的事情的详细信息。 https://stripe.com/docs/recipes/updating-customer-cards
这进一步解释了 updateCard
https://github.com/laravel/cashier/blob/7.0/src/Billable.php#389
的内部工作
在您的情况下,您需要一个包含新卡详细信息表单的视图。该视图应实现 Stripe 的 JS Checkout 库,该库又会生成条带令牌。在您的控制器中,您可以将该令牌传递给 user/customer 模型实例上的 updateCard
方法。
我正在使用 Laravel 带 Stripe 结账功能的 Cashier(以避免需要合规)。我无法理解如何让客户更改他们的卡详细信息。我知道收银员语法是
$customer->updateCard($stripeToken)
但是我们如何到达那里呢?请问有人能给我步骤吗?
收银员需要 token to be created client side using stripe.js/elements or checkout。然后,您将此令牌提交到您调用的服务器路由:
// grab the token from the request like this
// $stripeToken = request()->input('stripe_token');
$customer->updateCard($stripeToken);
Stripe API本身组合起来非常好,也很容易使用,所以你也可以直接使用它:
\Stripe\Stripe::setApiKey("stripe_secret_test_key");
$customer = \Stripe\Customer::retrieve("cus_CFdeffeSfeefe");
$card = $customer->sources->retrieve("card_1sdafjkfsdD32f");
$card->name = "Joseph Jones";
$card->save();
这是了解 Stripe 期望更新客户卡片的良好起点。尽管这是针对 vanilla PHP 的,但它为您提供了一些关于需要什么以及幕后发生的事情的详细信息。 https://stripe.com/docs/recipes/updating-customer-cards
这进一步解释了 updateCard
https://github.com/laravel/cashier/blob/7.0/src/Billable.php#389
在您的情况下,您需要一个包含新卡详细信息表单的视图。该视图应实现 Stripe 的 JS Checkout 库,该库又会生成条带令牌。在您的控制器中,您可以将该令牌传递给 user/customer 模型实例上的 updateCard
方法。