我正在使用redirectToCheckout方法成功地为一个客户创建订阅。 我正在创建条带会话,如下所示
$session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],
'locale' => 'de',
'line_items' => [[
'price' => env('STRIPE_PRICE'),
'quantity' => 1,
]],
'mode' => 'subscription',
'success_url' => $success_url,
'cancel_url' => $cancel_url,
]);
但我有两个问题。 这个方法正在为我创建一个新客户,不幸的是我需要为客户设置语言为德语(目前没有发生)。 此外,我需要为line_items定义tax,但没有成功,就像在stripe文档中建议的那样,创建一个会话对象。
为了使用特定的客户(而不是让Checkout为您创建一个),您需要在CheckoutSession之前创建它[0]。 然后您将客户的id作为checkoutsession.customer
[1]传递。
对于税收,可以在checkoutsession.subscription_data.default_tax_rates
[2]中指定TaxRates。
(请原谅点表示法,因为这不是PHP特定的,因此可以应用于Stripe的任何API库)
[0]https://stripe.com/docs/api/customers/create
[1]https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-customer
[2]https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-subscription_data-default_tax_rates