Add premium My Case MVP
This commit is contained in:
+10
-1
@@ -18,7 +18,7 @@ if ($userId <= 0 || $email === '') {
|
||||
$input = dbnToolsJsonInput(2000);
|
||||
$sku = (string)($input['sku'] ?? '');
|
||||
|
||||
$validSubscriptions = ['light', 'pro', 'pro_plus'];
|
||||
$validSubscriptions = ['plus', 'pro'];
|
||||
$validTopups = ['topup_s', 'topup_m', 'topup_l'];
|
||||
|
||||
if (!in_array($sku, array_merge($validSubscriptions, $validTopups), true)) {
|
||||
@@ -55,9 +55,18 @@ try {
|
||||
];
|
||||
|
||||
if ($isSub) {
|
||||
FreeTier::ensureRow($userId);
|
||||
$detail = FreeTier::balanceDetail($userId);
|
||||
$params['subscription_data'] = [
|
||||
'metadata' => ['user_id' => (string)$userId, 'tier' => $sku],
|
||||
];
|
||||
if ($sku === 'plus' && empty($detail['trial_started_at'])) {
|
||||
$params['subscription_data']['trial_period_days'] = 14;
|
||||
$params['subscription_data']['trial_settings'] = [
|
||||
'end_behavior' => ['missing_payment_method' => 'cancel'],
|
||||
];
|
||||
}
|
||||
$params['payment_method_collection'] = 'always';
|
||||
} else {
|
||||
$params['payment_intent_data'] = [
|
||||
'metadata' => ['user_id' => (string)$userId, 'sku' => $sku, 'credits' => (string)StripeClient::topupCredits($sku)],
|
||||
|
||||
Reference in New Issue
Block a user