Stripeతో సబ్స్క్రిప్షన్లు ఎలా జోడించాలి: ప్లాన్లు, ట్రయల్లు, వెబ్హుక్లు మరియు విఫలమైన చెల్లింపులు
Stripeతో సబ్స్క్రిప్షన్లు జోడించడానికి, Stripe Dashboardలో పునరావృత ధరతో ఒక ఉత్పత్తి సృష్టించండి, మీ సర్వర్ నుండి కస్టమర్లను subscription modeలో Stripe Checkoutకు పంపండి, మరియు ప్రతి చెల్లింపు విజయవంతమైనప్పుడు, విఫలమైనప్పుడు, మారినప్పుడు లేదా ముగిసినప్పుడు మీ యాప్కు చెప్పడానికి వెబ్హుక్ను ఉపయోగించండి. సబ్స్క్రిప్షన్ స్థితిని వినియోగదారుతో నిల్వ చేయండి, మరియు యాక్సెస్ను దాని ఆధారంగా ఇవ్వండి, సక్సెస్ పేజీ ఆధారంగా కాదు. ప్రజలు కార్డులు మార్చడానికి, ప్లాన్లు మార్చడానికి మరియు రద్దు చేయడానికి, మీరు ఆ స్క్రీన్లను నిర్మించకుండానే, Manage billing బటన్ జోడించండి, అది Stripe హోస్ట్ చేసిన కస్టమర్ పోర్టల్ను తెరుస్తుంది.
ఈ గైడ్ మీ యాప్కు చెల్లింపులు ఎలా జోడించాలి పై ఆధారపడుతుంది, అది ఒకసారి Checkout, టెస్ట్ మోడ్ మరియు లైవ్కు వెళ్లడం కవర్ చేస్తుంది. ఇక్కడ పునరావృత బిల్లింగ్ గురించి ప్రత్యేకమైన వాటిపై దృష్టి పెడతాము. Stripe వివరాలు సెప్టెంబర్ 2026 నాటికి Stripe డాక్యుమెంటేషన్ నుండి తీసుకున్నవి.
సబ్స్క్రిప్షన్లు ఒకసారి చెల్లింపుల కంటే ఎందుకు కష్టం
ఒకసారి చెల్లింపు కస్టమర్ మీ యాప్లో ఉన్నప్పుడు జరుగుతుంది. సబ్స్క్రిప్షన్ వారు వెళ్లిన తర్వాత కూడా కొనసాగుతుంది: ప్రతి నెలా రెన్యూవల్లు, గడువు ముగిసే కార్డ్లు, సైకిల్ మధ్యలో అప్గ్రేడ్లు, పీరియడ్ ముగింపులో అమలులోకి వచ్చే రద్దులు. మీ యాప్ వీటి గురించి వెబ్హుక్ల ద్వారా మాత్రమే తెలుసుకుంటుంది. చాలా సబ్స్క్రిప్షన్ బగ్లు మొదటి చెల్లింపే మొత్తం కథ అనుకోవడం నుండి వస్తాయి.
మీ ఎంపికలు
| విధానం | మీరు నిర్మించేది | దేనికి ఉత్తమం |
|---|---|---|
| పునరావృత ధరతో Payment Link | కేవలం ఒక లింక్ | డిమాండ్ పరీక్షించడం; యాక్సెస్ను చేతితో నిర్వహించడం |
| Checkout (subscription mode) + కస్టమర్ పోర్టల్ | ఒక సర్వర్ మార్గం, ఒక వెబ్హుక్, ఒక బిల్లింగ్ బటన్ | చాలా SaaS యాప్లు మరియు సభ్యత్వాలు |
| మీ స్వంత చెల్లింపు ఫారమ్తో Subscriptions API | చాలా ఎక్కువ: చెల్లింపు UI, ధృవీకరణ, రీట్రైలు | అసాధారణ బిల్లింగ్ ప్రవాహాలున్న యాప్లు |
| మర్చంట్-ఆఫ్-రికార్డ్ ప్రొవైడర్ | Checkout లాగానే | సేల్స్ టాక్స్ను ప్రొవైడర్ నిర్వహించాలని కోరుకునే విక్రేతలు |
చాలా యాప్లకు, Checkout మరియు పోర్టల్ సరైన ట్రేడ్-ఆఫ్. పన్ను నిర్వహణ మిమ్మల్ని ఆందోళనకు గురిచేస్తే Stripe vs Paddle vs Lemon Squeezy లో ప్రొవైడర్లను పోల్చండి.
ముందుగా Stripeలో మీ ధరను ప్లాన్ చేయండి
Stripeలో, ఉత్పత్తి అంటే మీరు అమ్మేది ("Pro plan"), మరియు ధర అంటే దానికి ఎలా ఛార్జ్ చేస్తారు ("నెలకు $20", "సంవత్సరానికి $200"). ఒక ఉత్పత్తికి అనేక ధరలు ఉండవచ్చు. నిర్ణయించండి:
- మీరు ఏ శ్రేణులు ఇస్తారు మరియు ప్రతిదీ మీ యాప్లో ఏమి అన్లాక్ చేస్తుంది
- నెలవారీ, వార్షికం, లేదా రెండూ
- మీరు ట్రయల్ ఇస్తారో లేదో, మరియు ముందుగా కార్డ్ అవసరమో లేదో
ఉత్పత్తులు మరియు ధరలను టెస్ట్ మోడ్లో సృష్టించండి, మరియు వాటి ధర IDలను ఉంచండి; మీ యాప్ వాటిని సూచిస్తుంది. మీరు ఇంకా ధరను నిర్ణయించకపోతే, SaaS ఉత్పత్తికి ధర ఎలా నిర్ణయించాలి మరియు ఫ్రీమియం vs ఉచిత ట్రయల్ చదవండి.
మీరు నిర్వహించాల్సిన సబ్స్క్రిప్షన్ జీవిత చక్రం
Stripe యొక్క సబ్స్క్రిప్షన్స్ అవలోకనం ఒక సబ్స్క్రిప్షన్ కలిగి ఉండగల స్థితులను జాబితా చేస్తుంది. యాక్సెస్కు అత్యంత ముఖ్యమైనవి:
| స్థితి | అంటే ఏమిటి | యాక్సెస్ ఇవ్వాలా? |
|---|---|---|
trialing | ట్రయల్ వ్యవధిలో ఉంది | అవును |
active | మంచి స్థితిలో ఉంది | అవును |
incomplete | మొదటి చెల్లింపు ఇంకా పూర్తి కాలేదు; Stripe కస్టమర్కు 23 గంటలు ఇస్తుంది | లేదు |
incomplete_expired | మొదటి చెల్లింపు ఎప్పుడూ విజయవంతం కాలేదు | లేదు |
past_due | తాజా చెల్లింపు విఫలమైంది లేదా ప్రయత్నించలేదు; రీట్రైలు రావచ్చు | మీ ఎంపిక; చాలా యాప్లు చిన్న గ్రేస్ వ్యవధిని అనుమతిస్తాయి |
unpaid | రీట్రైలు ముగిశాయి, ఇన్వాయిస్లు తెరిచే ఉంటాయి, మరిన్ని ప్రయత్నాలు లేవు | లేదు, Stripe డాక్స్ యాక్సెస్ రద్దు చేయమని చెబుతాయి |
canceled | ముగిసింది; మళ్లీ ప్రారంభించలేరు | లేదు |
paused | చెల్లింపు పద్ధతి లేకుండా ట్రయల్ ముగిసి, పాజ్ కావడానికి సెట్ చేయబడింది | లేదు |
స్థితిని మీ వినియోగదారు లేదా ఖాతా రికార్డ్లో నిల్వ చేసి, యాక్సెస్ను దాని ఆధారంగా ఉంచండి. సంబంధిత వెబ్హుక్ వచ్చిన ప్రతిసారీ దాన్ని అప్డేట్ చేయండి.
నిర్వహించాల్సిన వెబ్హుక్ ఈవెంట్లు
| ఈవెంట్ | మీ యాప్ ఏమి చేస్తుంది |
|---|---|
checkout.session.completed | కొత్త Stripe కస్టమర్ మరియు సబ్స్క్రిప్షన్ IDలను మీ వినియోగదారుకు లింక్ చేయండి |
invoice.paid | సబ్స్క్రిప్షన్ను active గా గుర్తించి కొత్త పీరియడ్ ముగింపును రికార్డ్ చేయండి |
invoice.payment_failed | కార్డ్ విఫలమైందని వినియోగదారుకు చెప్పి పోర్టల్కు లింక్ చేయండి |
invoice.payment_action_required | కార్డ్ ధృవీకరణ పూర్తి చేయమని వినియోగదారును అడగండి |
customer.subscription.updated | ప్లాన్, స్థితి, మరియు షెడ్యూల్ చేసిన రద్దును అప్డేట్ చేయండి |
customer.subscription.deleted | చెల్లింపు యాక్సెస్ తొలగించండి |
customer.subscription.trial_will_end | ట్రయల్ ముగిసే ముందు వినియోగదారుకు గుర్తు చేయండి; Stripe దాన్ని మూడు రోజుల ముందు పంపుతుంది |
Stripe వెబ్హుక్ డాక్స్ నుండి హ్యాండ్లర్ నియమాలు ఇంకా వర్తిస్తాయి: ముడి బాడీని ఉపయోగించి సంతకాన్ని ధృవీకరించండి, త్వరగా 2xx ఇవ్వండి, నకిలీ మరియు క్రమం తప్పిన ఈవెంట్లను నిర్వహించండి, మరియు రీట్రైలను ఆశించండి. వెబ్హుక్ అంటే ఏమిటి గైడ్ ఆలోచనను వివరిస్తుంది, మరియు చెల్లింపుల గైడ్ నియమాలను వివరంగా జాబితా చేస్తుంది.
దశలవారీగా
- Stripe టెస్ట్ మోడ్లో ఉత్పత్తులు మరియు ధరలు సృష్టించండి.
- సీక్రెట్లు జోడించండి: సీక్రెట్ కీ, ధర IDలు, మరియు తర్వాత వెబ్హుక్ సైనింగ్ సీక్రెట్. వాటిని ఎప్పుడూ ఫ్రంటెండ్ కోడ్లో ఉంచవద్దు.
- ధర పేజీ: ప్రతి ప్లాన్ బటన్ మీ సర్వర్ను పిలుస్తుంది, అది లాగిన్ అయిన వినియోగదారు కోసం subscription modeలో Checkout Session సృష్టిస్తుంది. చెల్లింపును ఖాతాతో వెబ్హుక్ సరిపోల్చడానికి మీ వినియోగదారు IDని పంపండి.
- వెబ్హుక్ ఎండ్పాయింట్: సంతకాలను ధృవీకరించి, పైన ఉన్న ఈవెంట్లను నిర్వహించండి, ప్రతి వినియోగదారుకు ఒక సబ్స్క్రిప్షన్ రికార్డ్ను అప్డేట్ చేయండి.
- ఫీచర్లను గేట్ చేయండి నిల్వ చేసిన స్థితి మరియు ప్లాన్ ఆధారంగా, ప్రతి రక్షిత చర్యకు సర్వర్లో తనిఖీ చేయబడినవి, కేవలం దాచిన బటన్లు కాదు.
- కస్టమర్ పోర్టల్: Stripe Dashboardలో దాన్ని కాన్ఫిగర్ చేయండి (ప్రజలు ఏ ప్లాన్లకు మారవచ్చు, రద్దు చేయగలరా), తర్వాత Manage billing బటన్ జోడించండి, అది సర్వర్లో పోర్టల్ సెషన్ సృష్టించి దానికి మళ్లిస్తుంది.
- విఫలమైన చెల్లింపులు: Stripe బిల్లింగ్ సెట్టింగ్లలో, రీట్రై ప్రవర్తన మరియు చివరి పునఃప్రయత్నం తర్వాత ఏమి జరుగుతుందో ఎంచుకోండి.
past_dueలో ఉన్నప్పుడు యాప్లో బ్యానర్ చూపండి. - మొత్తం జీవిత చక్రాన్ని పరీక్షించండి, తర్వాత ప్రచురించి లైవ్ వెబ్హుక్ను నమోదు చేయండి.
మీ AI బిల్డర్కు ఇవ్వాల్సిన ప్రాంప్ట్లు
Stripeతో సబ్స్క్రిప్షన్ బిల్లింగ్ జోడించండి. ప్లాన్లు: Starter (ధర ID STRIPE_PRICE_STARTER లో) మరియు Pro (STRIPE_PRICE_PRO). ధర పేజీ సర్వర్లో STRIPE_SECRET_KEY ఉపయోగించి subscription modeలో Checkout Sessionను సృష్టిస్తుంది, లాగిన్ అయిన వినియోగదారు IDని జోడించి. వినియోగదారుపై Stripe కస్టమర్ ID, సబ్స్క్రిప్షన్ ID, ప్లాన్ మరియు స్థితిని నిల్వ చేయండి. సీక్రెట్ కీని బ్రౌజర్కు ఎప్పుడూ బహిర్గతం చేయవద్దు.
POST /api/stripe/webhook జోడించండి. ముడి రిక్వెస్ట్ బాడీ ఉపయోగించి STRIPE_WEBHOOK_SECRET తో సంతకాన్ని ధృవీకరించండి. checkout.session.completed, invoice.paid, invoice.payment_failed, customer.subscription.updated, customer.subscription.deleted మరియు customer.subscription.trial_will_end నిర్వహించండి. నకిలీలు విస్మరించబడేలా ప్రాసెస్ చేసిన ఈవెంట్ IDలను రికార్డ్ చేయండి. వినియోగదారు స్థితిని సబ్స్క్రిప్షన్ ఆబ్జెక్ట్ నుండి అప్డేట్ చేయండి, ఈవెంట్లు వచ్చిన క్రమం నుండి కాదు.
Pro ఫీచర్లను సర్వర్లో గేట్ చేయండి: స్థితి active లేదా trialing మరియు ప్లాన్ Pro అయినప్పుడు మాత్రమే అనుమతించండి. స్థితి past_due అయినప్పుడు "payment failed, update your card" బ్యానర్ చూపండి. ఈ వినియోగదారుకు Stripe కస్టమర్ పోర్టల్ తెరిచే Manage billing బటన్ జోడించండి.
అప్గ్రేడ్లు, డౌన్గ్రేడ్లు మరియు ప్రొరేషన్
కస్టమర్ ప్లాన్లు మార్చినప్పుడు, Stripe డాక్స్ ప్రకారం మార్పు తరచుగా ప్రొరేషన్ను సృష్టిస్తుంది: కొత్త ధర ప్రస్తుత బిల్లింగ్ వ్యవధిలోని మిగిలిన భాగానికి వర్తిస్తుంది. మీరు ప్రొరేషన్లను ప్రివ్యూ చేయవచ్చు లేదా ఆఫ్ చేయవచ్చు. ప్లాన్లకు ఒకే వ్యవధి ఉంటే, బిల్లింగ్ తేదీలు అలాగే ఉంటాయి; నెలవారీ నుండి వార్షికానికి మారితే, బిల్లింగ్ తేదీ మార్పు జరిగిన రోజుకు మారుతుంది. కస్టమర్లు పోర్టల్లో ప్లాన్లు మార్చనివ్వడం ఆ లాజిక్ రాయడాన్ని మీకు ఆదా చేస్తుంది, కానీ ఏ మార్పులు అనుమతించబడతాయో పోర్టల్ సెట్టింగ్లలో నిర్ణయించండి.
టెస్టింగ్ చెక్లిస్ట్
Stripe టెస్ట్ మోడ్ మరియు టెస్ట్ కార్డ్లు ఉపయోగించండి, మరియు ప్రతి స్థితిని నడవండి:
- కొత్త సబ్స్క్రిప్షన్ సరైన వినియోగదారుకు సరైన ప్లాన్ ఇస్తుంది
- చెల్లించిన వెంటనే ట్యాబ్ మూసివేసినా యాక్సెస్ లభిస్తుంది (వెబ్హుక్ పనిచేస్తుందని రుజువు చేస్తుంది)
- సైన్-అప్లో తిరస్కరించబడిన కార్డ్ ఏమీ ఇవ్వదు
- విఫలమైన రెన్యూవల్ ఖాతాను past_dueలో ఉంచి బ్యానర్ చూపిస్తుంది
- పోర్టల్లో కార్డ్ అప్డేట్ చేస్తే active స్థితి పునరుద్ధరించబడుతుంది
- అప్గ్రేడ్ మరియు డౌన్గ్రేడ్ ఫీచర్లను సరిగ్గా మారుస్తాయి
- పీరియడ్ ముగింపులో రద్దు చేస్తే ముగింపు తేదీ వరకు యాక్సెస్ ఉంటుంది, తర్వాత తొలగిస్తుంది
- ట్రయల్ వినియోగదారులకు యాక్సెస్ లభిస్తుంది, రిమైండర్ వస్తుంది, మరియు సరిగ్గా మారతారు లేదా యాక్సెస్ కోల్పోతారు
- అదే వెబ్హుక్ ఈవెంట్ రెండుసార్లు పంపితే ఏమీ మారదు
Stripe యొక్క టెస్ట్ క్లాక్లు సమయం గడిచిపోవడాన్ని అనుకరించడానికి అనుమతిస్తాయి, కాబట్టి నెల వేచి ఉండకుండా రెన్యూవల్లను పరీక్షించవచ్చు. వాటిని ఎలా ఉపయోగించాలో Stripe ప్రస్తుత టెస్టింగ్ డాక్స్ తనిఖీ చేయండి.
సాధారణ తప్పులు
- సక్సెస్ పేజీపై యాక్సెస్ ఇవ్వడం. కస్టమర్లు చెల్లించి అక్కడికి చేరుకోకపోవచ్చు. వెబ్హుక్ ఉపయోగించండి.
- మొదటి చెల్లింపును మాత్రమే నిర్వహించడం. రెన్యూవల్లు, విఫలాలు మరియు రద్దులు తర్వాత ఈవెంట్లుగా వస్తాయి.
- ప్లాన్ స్థితిని ఫ్రంటెండ్లో మాత్రమే తనిఖీ చేయడం. ఎవరైనా మీ APIని నేరుగా కాల్ చేయవచ్చు.
- పొరపాటున ఒక వినియోగదారుకు అనేక సబ్స్క్రిప్షన్లు. కొత్త Checkout Session సృష్టించే ముందు ఇప్పటికే ఉన్న సబ్స్క్రిప్షన్ ఉందో తనిఖీ చేయండి, లేదా ఉన్న కస్టమర్లను బదులుగా పోర్టల్కు పంపండి.
- మొదటి విఫలమైన రెన్యూవల్లోనే యాక్సెస్ రద్దు చేయడం. కార్డులు సాధారణ కారణాల వల్ల విఫలమవుతాయి. స్పష్టమైన బ్యానర్తో చిన్న గ్రేస్ వ్యవధి కస్టమర్లను ఉంచుతుంది.
- లైవ్ వెబ్హుక్ను మర్చిపోవడం. టెస్ట్ మరియు లైవ్ ఎండ్పాయింట్లకు వేర్వేరు సైనింగ్ సీక్రెట్లు ఉంటాయి.
- పన్ను మరియు రీఫండ్లను పట్టించుకోకపోవడం. లాంచ్ ముందు మీ రీఫండ్ విధానాన్ని నిర్ణయించి, మీ పన్ను బాధ్యతలను అకౌంటెంట్తో తనిఖీ చేయండి.
Mythex లో సబ్స్క్రిప్షన్లు
Mythex పై మీరు నిర్మించే యాప్లు మీ స్వంత Stripe ఖాతా మరియు కీలను ఉపయోగిస్తాయి; మీ యాప్ కోసం ఒక-క్లిక్ Stripe కనెక్షన్ లేదు. మీ టెస్ట్ కీలు మరియు ధర IDలను ప్రాజెక్ట్ సీక్రెట్లుగా జోడించండి, పైన ఉన్నవంటి ప్రాంప్ట్లు ఉపయోగించండి, మరియు Previewలో Stripe టెస్ట్ కార్డ్లతో పరీక్షించండి. వెబ్హుక్లకు మీ యాప్ పబ్లిక్ URL అవసరం, కాబట్టి Stripeలో ఎండ్పాయింట్ నమోదు చేయడానికి ముందు ప్రచురించండి, మరియు లైవ్ కీలకు మారిన తర్వాత లైవ్ యాప్ వాటిని తీసుకునేలా మళ్లీ ప్రచురించండి. Stripeతో చెల్లింపులు స్వీకరించండి మరియు మీ బ్యాకెండ్లో వెబ్హుక్లను నిర్వహించండి చూడండి. విశాలమైన ఉత్పత్తి కోసం, SaaS MVP ఎలా నిర్మించాలి బిల్లింగ్ చుట్టూ ఏమి నిర్మించాలో కవర్ చేస్తుంది.
ప్రశ్నలు
Stripeతో సబ్స్క్రిప్షన్లు జోడించడానికి అత్యంత సరళమైన మార్గం ఏది?
Stripe Dashboardలో పునరావృత ధరతో ఒక ఉత్పత్తి సృష్టించండి, కస్టమర్లను subscription modeలో Stripe Checkoutకు పంపండి, సబ్స్క్రిప్షన్ ఈవెంట్లను వెబ్హుక్తో నిర్వహించండి, మరియు Manage billing బటన్ను Stripe హోస్ట్ చేసిన కస్టమర్ పోర్టల్కు లింక్ చేయండి. దాంతో కార్డ్ ఫారమ్లు మరియు ప్లాన్ మార్పు స్క్రీన్లు మీరే నిర్మించాల్సిన అవసరం ఉండదు.
సబ్స్క్రిప్షన్ల కోసం నాకు ఏ Stripe వెబ్హుక్ ఈవెంట్లు అవసరం?
కనీసం checkout.session.completed కొత్త సబ్స్క్రిప్షన్ను మీ వినియోగదారుకు లింక్ చేయడానికి, invoice.paid ప్రతి విజయవంతమైన చెల్లింపును నిర్ధారించడానికి, invoice.payment_failed విఫలమైన రెన్యూవల్ల గురించి హెచ్చరించడానికి, మరియు customer.subscription.updated, customer.subscription.deleted ప్లాన్ మార్పులు మరియు రద్దులను ట్రాక్ చేయడానికి.
సబ్స్క్రిప్షన్ చెల్లింపు విఫలమైతే ఏమి జరుగుతుంది?
సెప్టెంబర్ 2026 నాటికి Stripe డాక్యుమెంటేషన్ ప్రకారం, సబ్స్క్రిప్షన్ సాధారణంగా past_due అవుతుంది, మరియు మీ సెట్టింగ్ల ఆధారంగా Stripe చెల్లింపును మళ్లీ ప్రయత్నించవచ్చు. చివరి పునఃప్రయత్నం తర్వాత, మీ Dashboard సెట్టింగ్లు అది రద్దు చేయబడుతుందా, unpaidగా గుర్తించబడుతుందా, లేక past_dueలోనే ఉంటుందా అని నిర్ణయిస్తాయి.
కార్డ్ అడగకుండా ఉచిత ట్రయల్ ఇవ్వగలరా?
అవును. Stripe ఉచిత ట్రయల్లకు మద్దతు ఇస్తుంది, మరియు దానికి అలా కాన్ఫిగర్ చేసినప్పుడు, చెల్లింపు పద్ధతి లేకుండా ముగిసే ట్రయల్ల కోసం paused స్థితిని దాని డాక్స్ వివరిస్తాయి. ముందే కార్డ్ సేకరించడం సాధారణంగా తక్కువ సైన్-అప్లు కానీ ఎక్కువ చెల్లింపు కస్టమర్లు అని అర్థం; మీ ఉత్పత్తికి ఏది సరిపోతుందో పరీక్షించండి.