Почему я получаю сообщение «Получен неизвестный параметр: subscribe_data[backdate_start_date]» при создании сеанса провеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему я получаю сообщение «Получен неизвестный параметр: subscribe_data[backdate_start_date]» при создании сеанса прове

Сообщение Anonymous »

Я пытаюсь создать сеанс проверки Stripe для подписок, но получаю сообщение об ошибке: «Получен неизвестный параметр: subscribe_data[backdate_start_date]». Вот соответствующая часть моего кода:

Код: Выделить всё

public function createCheckoutSession($customerId, $priceId, $isSubscription = false)
{
$now = Carbon::parse('2024-03-01');
$financialYearStart = Carbon::createFromDate($now->year, 7, 1);
$financialYearEnd = Carbon::createFromDate($now->year + 1, 6, 30);

$sessionParams = [
'payment_method_types' => ['card'],
'customer' => $customerId,
'line_items' => [[
'price' => $priceId,
'quantity' => 1,
]],
'success_url' => url('https://test/payment/success?session_id={CHECKOUT_SESSION_ID}'),
'cancel_url' => url('https://test/payment/cancel'),
'mode' => $isSubscription ? 'subscription' : 'payment',
'subscription_data' => [],
];

if ($isSubscription) {
if ($now->month == 6) {
// User starts in June, calculate remaining days in June for trial period
$trialEndDate = Carbon::createFromDate($now->year, 6, 30)->endOfDay();
$sessionParams['subscription_data']['trial_end'] = $trialEndDate->timestamp;
} else {
// User starts before June, set the backdate start date
$backdateStartDate = $financialYearStart->subYear()->timestamp;
$billingCycleAnchor = $financialYearStart->timestamp;
$sessionParams['subscription_data']['backdate_start_date'] = $backdateStartDate;
$sessionParams['subscription_data']['billing_cycle_anchor'] = $billingCycleAnchor;
Log::info('Setting backdate_start_date and billing_cycle_anchor for before June:', [
'backdate_start_date' => $sessionParams['subscription_data']['backdate_start_date'],
'billing_cycle_anchor' => $sessionParams['subscription_data']['billing_cycle_anchor']
]);
}
}
Log::info('Stripe session params:', ['sessionParams' => $sessionParams]);
return $this->stripe->checkout->sessions->create($sessionParams);
}
Журнал ошибок:

Код: Выделить всё

Error processing payment: Received unknown parameter: subscription_data[backdate_start_date]
Согласно документации Stripe, backdate_start_date является допустимым параметром при создании подписки. Почему я получаю эту ошибку и как я могу правильно установить прошлую дату начала подписки с помощью сеанса проверки Stripe?

Подробнее здесь: https://stackoverflow.com/questions/786 ... te-start-d
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»