Код: Выделить всё
$checkout_session = \Stripe\Checkout\Session::create([
'line_items' => $line_items,
'customer' => $stripe_customer_array['id'],
'automatic_tax' => [
'enabled' => true,
],
'mode' => 'subscription',
'payment_method_types' => ['card'],
'allow_promotion_codes' => true,
'currency' => 'USD',
'success_url' => $this->generateUrl('user_panel_payments', [], UrlGeneratorInterface::ABSOLUTE_URL) . '/confirmation?session_id={CHECKOUT_SESSION_ID}',
'cancel_url' => $this->generateUrl('user_panel_payments_plan', [], UrlGeneratorInterface::ABSOLUTE_URL) . '?canceled=true',
'invoice_creation' => [
'enabled' => true,
],
]);
Однако, если я создаю подписку непосредственно на панели инструментов Stripe, по умолчанию для метода выставления счетов подписки установлено значение «Отправить счет», что имеет смысл, поскольку я не могу обработать платеж от имени пользователя. В этом случае счет также создается на стороне Stripe, и я получаю вебхук с платежным намерением.
Что мне с этим делать дальше? Я хотел бы создать на своем веб-сайте специальную кнопку для инициализации оплаты по существующему счету, но я не знаю, как этого добиться. Я не вижу способа передать идентификатор pay_intent в Stripe\Checkout\Session. Может мне стоит создать ссылку для оплаты?
Можно ли создать такую ссылку или кнопку?
Также мне не интересно пользоваться hosted_invoice_url, так как он не подходит для моего варианта использования (мне нужно скрыть счета, размещенные в Stripe, поскольку по определенным причинам у меня уже есть собственные счета).
Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-stripe