Stripe સાથે સબ્સ્ક્રિપ્શન કેવી રીતે ઉમેરશો: પ્લાન, ટ્રાયલ, વેબહૂક અને નિષ્ફળ ચુકવણી
તમારી એપમાં Stripe સાથે સબ્સ્ક્રિપ્શન ઉમેરવા માટે, Stripe Dashboard માં રિકરિંગ કિંમત સાથે ઉત્પાદન બનાવો, તમારા સર્વર પરથી ગ્રાહકોને સબ્સ્ક્રિપ્શન મોડમાં Stripe Checkout પર મોકલો, અને દરેક ચુકવણી ક્યારે સફળ, નિષ્ફળ, બદલાય કે સમાપ્ત થાય તે વિશે વેબહૂક તમારી એપને જણાવે. સબ્સ્ક્રિપ્શનનું સ્ટેટસ વપરાશકર્તા સાથે સંગ્રહો અને ઍક્સેસ તેના પરથી આપો, સફળતા પેજ પરથી નહીં. Manage billing બટન ઉમેરો જે Stripe ના હોસ્ટેડ customer portal ને ખોલે, જેથી લોકો તમે એ સ્ક્રીન બનાવ્યા વગર કાર્ડ બદલી, પ્લાન બદલી અને રદ કરી શકે.
આ માર્ગદર્શિકા તમારી એપમાં ચુકવણી કેવી રીતે ઉમેરશો પર આધારિત છે, જે એકવારની Checkout, ટેસ્ટ મોડ અને લાઇવ જવાનું આવરી લે છે. અહીં આપણે રિકરિંગ બિલિંગમાં શું અલગ છે તેના પર ધ્યાન આપીએ છીએ. Stripe ની વિગતો સપ્ટેમ્બર 2026 સુધીના Stripe ના દસ્તાવેજમાંથી છે.
સબ્સ્ક્રિપ્શન એકવારની ચુકવણી કરતાં કેમ અઘરાં છે
એકવારની ચુકવણી ગ્રાહક તમારી એપમાં હોય ત્યારે થાય છે. સબ્સ્ક્રિપ્શન તેઓ ગયા પછી પણ ચાલુ રહે છે: દર મહિને રિન્યુઅલ, એક્સપાયર થતા કાર્ડ, મધ્ય-ચક્રમાં અપગ્રેડ, અને સમયગાળાના અંતે અસરકારક થતા રદ્દીકરણ. તમારી એપ આ વિશે ફક્ત વેબહૂક દ્વારા જ જાણે છે. મોટાભાગની સબ્સ્ક્રિપ્શન ભૂલો પહેલી ચુકવણીને આખી વાર્તા માનવાથી થાય છે.
તમારા વિકલ્પો
| અભિગમ | તમે શું બનાવો છો | શ્રેષ્ઠ ઉપયોગ |
|---|---|---|
| રિકરિંગ કિંમત સાથે Payment Link | ફક્ત એક લિંક | માંગ ચકાસવી; ઍક્સેસ હાથે સંભાળવી |
| Checkout (સબ્સ્ક્રિપ્શન મોડ) + customer portal | એક સર્વર રૂટ, એક વેબહૂક, એક બિલિંગ બટન | મોટાભાગની SaaS એપ અને સભ્યપદ |
| તમારા પોતાના ચુકવણી ફોર્મ સાથે Subscriptions API | ઘણું વધુ: ચુકવણી UI, પ્રમાણીકરણ, retries | અસામાન્ય બિલિંગ પ્રવાહવાળી એપ |
| Merchant-of-record પ્રદાતા | Checkout જેવું જ | જે વિક્રેતાઓ ઇચ્છે કે પ્રદાતા વેચાણ ટેક્સ સંભાળે |
મોટાભાગની એપ માટે, Checkout અને portal યોગ્ય ટ્રેડ-ઑફ છે. જો ટેક્સ સંભાળવું તમને ચિંતિત કરે તો Stripe vs Paddle vs Lemon Squeezy માં પ્રદાતાઓની સરખામણી કરો.
પહેલા Stripe માં કિંમત યોજના બનાવો
Stripe માં, ઉત્પાદન એ છે જે તમે વેચો છો ("Pro plan") અને કિંમત (price) એ છે કે તમે તેના માટે કેવી રીતે ચાર્જ કરો છો ("મહિને $20", "વર્ષે $200"). એક ઉત્પાદનની ઘણી કિંમતો હોઈ શકે. નક્કી કરો:
- તમે કયા સ્તર ઓફર કરો છો અને દરેક તમારી એપમાં શું અનલૉક કરે છે
- માસિક, વાર્ષિક, કે બંને
- તમે ટ્રાયલ ઓફર કરો છો કે નહીં, અને તેને આગળથી કાર્ડ જોઈએ કે નહીં
ટેસ્ટ મોડમાં ઉત્પાદનો અને કિંમતો બનાવો, અને તેમના price IDs સાચવી રાખો; તમારી એપ તેમનો સંદર્ભ આપે છે. જો કિંમત નક્કી ન થઈ હોય, તો SaaS ઉત્પાદનની કિંમત કેવી રીતે નક્કી કરશો અને freemium વિરુદ્ધ ફ્રી ટ્રાયલ વાંચો.
સબ્સ્ક્રિપ્શન જીવનચક્ર જે તમારે સંભાળવું પડશે
Stripe ના સબ્સ્ક્રિપ્શન ઓવરવ્યૂમાં સબ્સ્ક્રિપ્શનના સ્ટેટસની યાદી છે. ઍક્સેસ માટે સૌથી મહત્ત્વના આ છે:
| સ્ટેટસ | તેનો અર્થ | ઍક્સેસ આપવી? |
|---|---|---|
trialing | ટ્રાયલ સમયગાળામાં | હા |
active | સારી સ્થિતિમાં | હા |
incomplete | પહેલી ચુકવણી હજી પૂરી નથી; Stripe ગ્રાહકને 23 કલાક આપે છે | ના |
incomplete_expired | પહેલી ચુકવણી ક્યારેય સફળ ન થઈ | ના |
past_due | છેલ્લી ચુકવણી નિષ્ફળ અથવા પ્રયાસ થયો નથી; retries થઈ શકે | તમારી પસંદગી; ઘણી એપ ટૂંકો ગ્રેસ પિરિયડ આપે છે |
unpaid | Retries પૂરા થયા, ઇન્વૉઇસ ખુલ્લા રહે છે, વધુ પ્રયાસ નથી | ના, Stripe ના દસ્તાવેજ કહે છે કે ઍક્સેસ રદ કરો |
canceled | સમાપ્ત; ફરી શરૂ ન થઈ શકે | ના |
paused | ચુકવણી પદ્ધતિ વગર ટ્રાયલ પૂરી થઈ અને થોભાવવા સેટ થઈ | ના |
સ્ટેટસ તમારા વપરાશકર્તા કે ખાતાના રેકોર્ડ પર સંગ્રહો અને ઍક્સેસ તેના પર આધારિત રાખો. દરેક વખતે સંબંધિત વેબહૂક આવે ત્યારે તેને અપડેટ કરો.
હેન્ડલ કરવાની વેબહૂક ઇવેન્ટ
| ઇવેન્ટ | તમારી એપ શું કરે છે |
|---|---|
checkout.session.completed | નવા Stripe ગ્રાહક અને સબ્સ્ક્રિપ્શન IDs ને તમારા વપરાશકર્તા સાથે જોડો |
invoice.paid | સબ્સ્ક્રિપ્શન active ચિહ્નિત કરો અને નવો સમયગાળાનો અંત નોંધો |
invoice.payment_failed | વપરાશકર્તાને જણાવો કે તેનું કાર્ડ નિષ્ફળ ગયું અને portal ની લિંક આપો |
invoice.payment_action_required | વપરાશકર્તાને કાર્ડ પ્રમાણીકરણ પૂરું કરવા કહો |
customer.subscription.updated | પ્લાન, સ્ટેટસ અને કોઈપણ શેડ્યૂલ થયેલ રદ્દીકરણ અપડેટ કરો |
customer.subscription.deleted | ચૂકવેલી ઍક્સેસ દૂર કરો |
customer.subscription.trial_will_end | ટ્રાયલ પૂરી થાય તે પહેલાં વપરાશકર્તાને યાદ કરાવો; Stripe તે ત્રણ દિવસ પહેલાં મોકલે છે |
Stripe ના વેબહૂક દસ્તાવેજના હેન્ડલર નિયમો હજી લાગુ પડે છે: કાચા બોડીનો ઉપયોગ કરીને સિગ્નેચર ચકાસો, ઝડપથી 2xx પાછું આપો, ડુપ્લિકેટ અને ક્રમ બહારની ઇવેન્ટ સંભાળો, અને retries ની અપેક્ષા રાખો. વેબહૂક શું છે માર્ગદર્શિકા ખ્યાલ સમજાવે છે, અને ચુકવણી માર્ગદર્શિકા નિયમોની વિગતવાર યાદી આપે છે.
પગલે પગલે
- Stripe ના ટેસ્ટ મોડમાં ઉત્પાદનો અને કિંમતો બનાવો.
- સિક્રેટ્સ ઉમેરો: સિક્રેટ કી, price IDs, અને પછી વેબહૂક સાઇનિંગ સિક્રેટ. તેમને ક્યારેય ફ્રન્ટએન્ડ કોડમાં ન મૂકો.
- પ્રાઇસિંગ પેજ: દરેક પ્લાનનું બટન તમારા સર્વરને કૉલ કરે છે, જે લૉગ-ઇન વપરાશકર્તા માટે સબ્સ્ક્રિપ્શન મોડમાં Checkout Session બનાવે છે. તમારી વપરાશકર્તા ID પસાર કરો જેથી વેબહૂક ચુકવણીને ખાતા સાથે મેળવી શકે.
- વેબહૂક એન્ડપોઇન્ટ: સિગ્નેચર ચકાસો અને ઉપરની ઇવેન્ટ હેન્ડલ કરો, દરેક વપરાશકર્તા માટે એક સબ્સ્ક્રિપ્શન રેકોર્ડ અપડેટ કરતા.
- ફીચર્સ ગેટ કરો સંગ્રહેલા સ્ટેટસ અને પ્લાન પર, દરેક સુરક્ષિત ક્રિયા માટે સર્વર પર તપાસીને, ફક્ત છુપાવેલા બટન પર નહીં.
- Customer portal: તેને Stripe Dashboard માં ગોઠવો (લોકો કયા પ્લાનમાં જઈ શકે, તેઓ રદ કરી શકે કે નહીં), પછી Manage billing બટન ઉમેરો જે સર્વર પર portal સત્ર બનાવે અને ત્યાં રીડાયરેક્ટ કરે.
- નિષ્ફળ ચુકવણી: Stripe ની બિલિંગ સેટિંગ્સમાં, retry વર્તન અને છેલ્લા retry પછી શું થાય તે પસંદ કરો.
past_dueદરમિયાન એપમાં બેનર બતાવો. - આખું જીવનચક્ર ટેસ્ટ કરો, પછી પબ્લિશ કરો અને લાઇવ વેબહૂક નોંધાવો.
તમારા AI બિલ્ડરને આપવા માટેના પ્રોમ્પ્ટ
Stripe સાથે સબ્સ્ક્રિપ્શન બિલિંગ ઉમેરો. પ્લાન: Starter (price ID STRIPE_PRICE_STARTER માં) અને Pro (STRIPE_PRICE_PRO). પ્રાઇસિંગ પેજ સર્વર પર STRIPE_SECRET_KEY વાપરીને સબ્સ્ક્રિપ્શન મોડમાં Checkout Session બનાવે છે, જેમાં લૉગ-ઇન વપરાશકર્તાની ID જોડાયેલી હોય. વપરાશકર્તા પર Stripe customer ID, subscription 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 હેન્ડલ કરો. પ્રક્રિયા થયેલા ઇવેન્ટ IDs નોંધો જેથી ડુપ્લિકેટ અવગણાય. વપરાશકર્તાનું સ્ટેટસ સબ્સ્ક્રિપ્શન ઑબ્જેક્ટ પરથી અપડેટ કરો, ઇવેન્ટ જે ક્રમમાં આવે તેના પરથી નહીં.
સર્વર પર Pro ફીચર ગેટ કરો: ફક્ત જ્યારે સ્ટેટસ active અથવા trialing હોય અને પ્લાન Pro હોય ત્યારે જ મંજૂરી આપો. સ્ટેટસ past_due હોય ત્યારે "payment failed, update your card" બેનર બતાવો. આ વપરાશકર્તા માટે Stripe customer portal ખોલતું Manage billing બટન ઉમેરો.
અપગ્રેડ, ડાઉનગ્રેડ અને પ્રોરેશન
જ્યારે ગ્રાહક પ્લાન બદલે, ત્યારે Stripe ના દસ્તાવેજ કહે છે કે ફેરફાર ઘણીવાર પ્રોરેશન બનાવે છે: નવી કિંમત ચાલુ બિલિંગ સમયગાળાના બાકીના ભાગ પર લાગુ થાય છે. તમે પ્રોરેશન પૂર્વદર્શન જોઈ શકો અથવા તેને બંધ કરી શકો. જો પ્લાનનો અંતરાલ સરખો હોય, તો બિલિંગ તારીખો એ જ રહે છે; માસિકથી વાર્ષિકમાં જવાથી બિલિંગ તારીખ બદલ્યાના દિવસે ખસે છે. ગ્રાહકોને portal માં પ્લાન બદલવા દેવાથી આ તર્ક લખવાનું બચે છે, પરંતુ portal સેટિંગ્સમાં નક્કી કરો કે કયા ફેરફાર માન્ય છે.
ટેસ્ટિંગ ચેકલિસ્ટ
Stripe ટેસ્ટ મોડ અને ટેસ્ટ કાર્ડ વાપરો, અને દરેક સ્ટેટ ચકાસો:
- નવું સબ્સ્ક્રિપ્શન યોગ્ય વપરાશકર્તાને યોગ્ય પ્લાન આપે છે
- ચુકવણી પછી તરત ટૅબ બંધ કરવા છતાં ઍક્સેસ મળે (વેબહૂક કામ કરે છે તે સાબિત થાય)
- સાઇન-અપ વખતે નકારાયેલું કાર્ડ કંઈ આપતું નથી
- નિષ્ફળ રિન્યુઅલ ખાતાને past_due માં મૂકે અને બેનર બતાવે
- portal માં કાર્ડ અપડેટ કરવાથી active સ્ટેટસ પાછું આવે
- અપગ્રેડ અને ડાઉનગ્રેડ ફીચર્સ યોગ્ય રીતે બદલે
- સમયગાળાના અંતે રદ કરવાથી અંતિમ તારીખ સુધી ઍક્સેસ રહે, પછી દૂર થાય
- ટ્રાયલ વપરાશકર્તાઓને ઍક્સેસ, રિમાઇન્ડર મળે, અને યોગ્ય રીતે કન્વર્ટ થાય કે ઍક્સેસ ગુમાવે
- એ જ વેબહૂક ઇવેન્ટ બે વાર મોકલવાથી કંઈ બદલાતું નથી
Stripe ના ટેસ્ટ ક્લોક સમય પસાર થતો અનુકરણ કરવા દે છે, જેથી મહિનો રાહ જોયા વગર રિન્યુઅલ ટેસ્ટ કરી શકાય. તેમને કેવી રીતે વાપરવા તે માટે Stripe ના વર્તમાન ટેસ્ટિંગ દસ્તાવેજ તપાસો.
સામાન્ય ભૂલો
- સફળતા પેજ પર ઍક્સેસ આપવી. ગ્રાહકો ચુકવણી કરી શકે અને ત્યાં ક્યારેય ન પહોંચે. વેબહૂક વાપરો.
- ફક્ત પહેલી ચુકવણી હેન્ડલ કરવી. રિન્યુઅલ, નિષ્ફળતા અને રદ્દીકરણ પછીથી ઇવેન્ટ તરીકે આવે છે.
- ફક્ત ફ્રન્ટએન્ડમાં પ્લાન સ્ટેટસ તપાસવો. કોઈપણ સીધો તમારા API ને કૉલ કરી શકે.
- અકસ્માતે એક વપરાશકર્તા, ઘણા સબ્સ્ક્રિપ્શન. નવું Checkout Session બનાવતા પહેલાં હાલનું સબ્સ્ક્રિપ્શન તપાસો, અથવા હાલના ગ્રાહકોને તેના બદલે portal પર મોકલો.
- પહેલી નિષ્ફળ રિન્યુઅલ પર ઍક્સેસ રદ કરવી. કાર્ડ સામાન્ય કારણોસર નિષ્ફળ જાય છે. સ્પષ્ટ બેનર સાથેનો ટૂંકો ગ્રેસ પિરિયડ ગ્રાહકોને જાળવે છે.
- લાઇવ વેબહૂક ભૂલવો. ટેસ્ટ અને લાઇવ એન્ડપોઇન્ટના સાઇનિંગ સિક્રેટ અલગ હોય છે.
- ટેક્સ અને રિફંડ અવગણવા. લૉન્ચ પહેલાં તમારી રિફંડ નીતિ નક્કી કરો અને હિસાબનીશ સાથે તમારી ટેક્સ જવાબદારીઓ તપાસો.
Mythex પર સબ્સ્ક્રિપ્શન
Mythex પર બનેલી એપ તમારું પોતાનું Stripe ખાતું અને કી વાપરે છે; તમારી એપ માટે એક-ક્લિક Stripe જોડાણ નથી. તમારી ટેસ્ટ કી અને price IDs પ્રોજેક્ટ સિક્રેટ તરીકે ઉમેરો, ઉપરના જેવા પ્રોમ્પ્ટ વાપરો, અને Preview માં Stripe ના ટેસ્ટ કાર્ડથી ટેસ્ટ કરો. વેબહૂકને તમારી એપનું જાહેર URL જોઈએ, તેથી Stripe માં એન્ડપોઇન્ટ નોંધાવતા પહેલાં પબ્લિશ કરો, અને લાઇવ કી પર બદલ્યા પછી ફરી પબ્લિશ કરો જેથી લાઇવ એપ તેમને ઉપાડે. Stripe થી ચુકવણી સ્વીકારો અને તમારા બેકએન્ડમાં વેબહૂક હેન્ડલ કરો જુઓ. વ્યાપક પ્રોડક્ટ માટે, SaaS MVP કેવી રીતે બનાવશો બિલિંગની આસપાસ શું બનાવવું તે આવરી લે છે.
પ્રશ્નો
Stripe સાથે સબ્સ્ક્રિપ્શન ઉમેરવાની સૌથી સરળ રીત કઈ છે?
Stripe Dashboard માં રિકરિંગ કિંમત સાથે ઉત્પાદન બનાવો, ગ્રાહકોને સબ્સ્ક્રિપ્શન મોડમાં Stripe Checkout પર મોકલો, વેબહૂક વડે સબ્સ્ક્રિપ્શન ઇવેન્ટ હેન્ડલ કરો, અને Manage billing બટનને Stripe ના હોસ્ટેડ customer portal સાથે જોડો. તેથી તમારે કાર્ડ ફોર્મ અને પ્લાન બદલવાની સ્ક્રીન જાતે બનાવવી પડતી નથી.
સબ્સ્ક્રિપ્શન માટે મને કઈ 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 સ્ટેટસ વર્ણવે છે જે ચુકવણી પદ્ધતિ વગર પૂરી થાય અને તે રીતે ગોઠવેલી હોય. આગળથી કાર્ડ લેવાથી સામાન્ય રીતે સાઇન-અપ ઓછા થાય છે પણ ચૂકવણી કરતા ગ્રાહકો વધુ મળે છે; તમારી પ્રોડક્ટને શું બંધબેસે છે તે ચકાસો.