Přeskočit na obsah

Reaktivace předplatného dá další zkušební období zdarma

import { Aside } from ‘@astrojs/starlight/components’;

Uživatel, kterému zkušební doba vypršela (nebo subscription zrušil), si znovu aktivuje členství a dostane další plnou zkušební dobu zdarma místo aby zaplatil. Lze opakovat → trvale zdarma.

Endpoint pro aktivaci vždy zakládal subscription s trialem:

// ŠPATNĚ — trial pokaždé
await stripe.subscriptions.create({
customer, items: [{ price }],
trial_period_days: 14,
});

Nebyl žádný check, jestli daný uživatel trial už vyčerpal.

Trial jen pokud ho uživatel ještě neměl (zde indikováno existencí trial_ends_at z minula):

const alreadyHadTrial = !!profile.trial_ends_at;
const params = { customer, items: [{ price }] };
if (!alreadyHadTrial) params.trial_period_days = 14;
const sub = await stripe.subscriptions.create(params);
// status pak podle reality: trial v budoucnu → 'trial', jinak 'active'

Jak se tomu vyvarovat v jiných systémech

Sekce “Jak se tomu vyvarovat v jiných systémech”
  • Detection: najdi trial_period_days / trial_end u create-subscription a zkontroluj, jestli je podmíněné historií uživatele.
  • Anti-pattern: trial jako bezpodmínečný parametr; žádný „trial už použit” příznak na uživateli.
  • Lepší přístup: (1) trvalý příznak trial_used; (2) při reaktivaci subscription bez trialu; (3) test: vyčerpej trial, zruš, reaktivuj → musí platit hned.

Sister bugs / související

Sekce “Sister bugs / související”
Přidal aiarchitekt.cz · 26. 5. 2026 2:00
Provozuje aiarchitekt.cz