В моем приложении Laravel 5.8, использующем Laravel Cashier "^ 10.3", у меня есть таблица подписок с полями меток времени trial_ends_at и end_at, и я хочу указать, для чего они нужны? Я полагаю, что trial_ends_at должен быть заполнен, когда пользователь выбирает бесплатную (пробную) подписку, а конец_at должен быть заполнен, когда пользователь выбирает несвободную подписку и создает подписку, которую я делаю:
$subscription_days_count = config('app.subscription_days_count', 31);
$free_subscription_days_count = config('app.free_subscription_days_count', 31);
$subscription_product_name = config('app.subscription_product_name');
$newSubscription = $user->newSubscription($subscription_product_name,
$sourcePaymentPackage->stripe_plan_id)->create($requestData['purchaseDetails']['payment_token']);
// I added 2 additive fields to subscriptions table and fill them
$newSubscription->source_payment_package_id = $requestData['purchaseDetails']['source_payment_package_id'];
$newSubscription->is_free = $sourcePaymentPackage->is_free;
if ( $sourcePaymentPackage->is_free ) {
$newSubscription->trial_ends_at = Carbon::now()->addDays($free_subscription_days_count);
} else {
$newSubscription->ends_at = Carbon::now()->addDays($subscription_days_count);
}
$newSubscription->save();
Но отмена подписок с помощью метода:
$ret = $userProfile->subscription($subscription_product_name)->cancelNow();
Я вижу, что в поле таблицы подписок end_at указано время отмены выше. Это настраивается? По какому пути я должен следовать?