तुमच्या अॅपमध्ये पेमेंट्स कसे जोडावेत: चेकआउट, सबस्क्रिप्शन्स आणि webhooks
तुमच्या अॅपमध्ये पेमेंट्स जोडण्याचा सर्वात सोपा मार्ग Stripe आहे: फक्त "Buy" बटण हवे असेल आणि ऑर्डर हाताने हाताळू शकत असाल तर Payment Link वापरा; तुमच्या अॅपला कोणी पैसे दिले ते कळणे आणि आपोआप प्रतिसाद देणे आवश्यक असेल तर Stripe Checkout; आणि आवर्ती बिलिंगसाठी subscription mode मधील Checkout आणि Stripe चे customer portal. सर्वात सोपे प्रकरण सोडून, प्रत्येक बाबतीत तुम्हाला webhook लागतो — एक सर्व्हर एंडपॉइंट जो पेमेंट यशस्वी झाल्यावर Stripe कॉल करते — आणि लाइव्ह keys वापरण्यापूर्वी सर्वकाही Stripe च्या test keys आणि test cards ने तपासा.
हे मार्गदर्शक प्रत्येक पर्याय, बहुतेक ट्युटोरियल्स वगळणारा webhook भाग, आणि खरे पैसे घेण्यापूर्वी काय तपासायचे ते स्पष्ट करते. Stripe तपशील सप्टेंबर 2026 पर्यंतच्या Stripe च्या स्वतःच्या दस्तऐवजातून घेतले आहेत.
पेमेंट प्रदाता का वापरायचा
तुमच्या स्वतःच्या फॉर्ममध्ये कार्ड क्रमांक कधीही गोळा करू नका. कच्चा कार्ड डेटा हाताळल्याने तुम्ही PCI DSS (कार्ड उद्योगाचे सुरक्षा मानक) च्या कक्षेत येता आणि ती गंभीर जबाबदारी असते. Stripe सारखा पेमेंट प्रदाता पेमेंट फॉर्म होस्ट करतो, कार्ड साठवतो, बँक प्रमाणीकरण हाताळतो आणि निकाल तुमच्या अॅपला सांगतो. तुमचे अॅप फक्त "ग्राहक X ने Y साठी पैसे दिले" एवढेच पाहते.
हे मार्गदर्शक Stripe वापरते कारण ते मोठ्या प्रमाणावर वापरले जाते, चांगले दस्तऐवजीकृत आहे, आणि बहुतेक AI अॅप बिल्डर्स त्याला सपोर्ट करतात. इतर प्रदातेही आहेत, आणि काही "merchant of record" म्हणून काम करतात आणि विक्री-कर हाताळणी स्वतःवर घेतात; कर अनुपालनाची काळजी असल्यास ते मॉडेल तुलना करण्यासारखे आहे.
Stripe सह पेमेंट्स घेण्याचे तीन मार्ग
| पर्याय | कोड लागतो का | तुमच्या अॅपला कोणी पैसे दिले ते कळते का? | यासाठी सर्वोत्तम |
|---|---|---|---|
| Payment Links | नाही | फक्त webhook जोडल्यास | काही ठरावीक उत्पादने विकणे, देणग्या, मागणी तपासणे |
| Checkout (एकदाच) | व्यवहार सत्र तयार करण्यासाठी सर्व्हर कोड | हो, webhook द्वारे | दुकाने, पेड डाउनलोड्स, एकदाच्या खरेदी |
| Checkout (सबस्क्रिप्शन) | सर्व्हर कोड आणि webhook हाताळणी | हो, webhook द्वारे | SaaS, सदस्यत्वे, आवर्ती काहीही |
Payment Links
Payment Link हे Stripe-होस्ट केलेले पेमेंट पान आहे जे तुम्ही Stripe Dashboard मध्ये कोडशिवाय तयार करता. तुम्हाला एक URL मिळतो जो तुम्ही तुमच्या अॅपमधील बटणामागे ठेवू शकता, ईमेलमध्ये शेअर करू शकता, किंवा QR code म्हणून दाखवू शकता. Stripe च्या दस्तऐवजानुसार Payment Links एक उत्पादन, सबस्क्रिप्शन विकू शकते किंवा देणगी स्वीकारू शकते, आणि तुम्ही ग्राहकांना काय द्यायचे ते निवडू देऊ शकता किंवा खरेदींची संख्या मर्यादित करू शकता.
त्यातील अडचण: एखादा लॉग-इन केलेला वापरकर्ता पैसे देतो हे तुमच्या अॅपला आपोआप कळत नाही. देणगी पानासाठी किंवा लहान दुकानासाठी, जिथे Stripe च्या ईमेल सूचनांवरून तुम्ही ऑर्डर हाताने पूर्ण करता, ते ठीक आहे. "Pro फीचर्स अनलॉक करण्यासाठी पैसे द्या" यासाठी ते चालत नाही.
Stripe Checkout
Checkout हे पेमेंट पान आहे जे तुमचा सर्व्हर एका विशिष्ट खरेदीसाठी मागणीनुसार तयार करतो. तुमचा सर्व्हर Stripe ला सांगतो काय खरेदी होत आहे (आणि पर्यायाने कोण खरेदी करत आहे), Stripe एक URL परत देतो, आणि तुम्ही ग्राहकाला तिथे पाठवता. Stripe च्या दस्तऐवजानुसार ते एकदाच्या आणि सबस्क्रिप्शन दोन्ही पेमेंट्सना सपोर्ट करते, संपूर्ण Stripe-होस्ट केलेले पान म्हणून, तुमच्या साइटमध्ये एम्बेड केलेले पान म्हणून, किंवा एम्बेड केलेला फॉर्म म्हणून.
प्रवाह:
- ग्राहक तुमच्या अॅपमध्ये Buy वर क्लिक करतो.
- तुमचा सर्व्हर तुमची secret key वापरून Checkout Session तयार करतो, ज्यात तुमच्या वापरकर्त्याशी किंवा ऑर्डरशी जोडणारा ID असतो.
- ग्राहकाला Stripe वर पाठवले जाते आणि तो पैसे देतो.
- Stripe ग्राहकाला तुमच्या success पानावर परत पाठवते.
- Stripe तुमच्या webhook ला
checkout.session.completedइव्हेंट पाठवते, आणि तुमचा सर्व्हर ऑर्डर पेड म्हणून चिन्हांकित करतो किंवा प्रवेश अनलॉक करतो.
पायरी 2 सर्व्हरवरच व्हायला हवी, कारण ती तुमची secret key वापरते. Checkout ला backend लागण्याचे हेच मुख्य कारण आहे.
सबस्क्रिप्शन्स
सबस्क्रिप्शन्स Checkout वापरतात subscription mode मध्ये, Stripe मध्ये तुम्ही सेट केलेल्या आवर्ती किमतीसह. पहिले पेमेंट वरील प्रवाहासारखेच काम करते. त्यानंतर नूतनीकरण, अयशस्वी कार्ड्स, मध्येच अपग्रेड्स आणि रद्दीकरणे कालांतराने होतात — अनेकदा ग्राहक तुमच्या अॅपमध्ये नसतानाही — त्यामुळे तुमच्या अॅपला ते फक्त webhooks द्वारे कळतात.
ग्राहकांना स्वतःचे सबस्क्रिप्शन व्यवस्थापित करू देण्यासाठी Stripe एक होस्ट केलेले customer portal देते. Stripe च्या दस्तऐवजानुसार, ग्राहक तिथे पेमेंट पद्धती आणि बिलिंग तपशील अपडेट करू शकतात, सबस्क्रिप्शन बदलू किंवा रद्द करू शकतात, आणि इनव्हॉइस पाहू व डाउनलोड करू शकतात. ते Stripe Dashboard मध्ये कॉन्फिगर केले जाते आणि तुम्ही "Manage billing" बटण जोडता जे ग्राहकाला तिथे पाठवते. त्यामुळे ती पाने स्वतः बांधण्याची गरज उरत नाही.
Webhooks: ज्याला वगळता येत नाही असा भाग
Webhook म्हणजे काहीतरी घडल्यावर Stripe तुमच्या सर्व्हरला पाठवणारी HTTP विनंती. (सर्वसाधारण कल्पनेसाठी webhook म्हणजे काय पहा.) Stripe चे fulfilment मार्गदर्शक स्पष्ट सांगते: ऑर्डर पूर्ण करण्यासाठी फक्त success पानावर अवलंबून राहू नका, कारण ग्राहक पैसे देऊ शकतो आणि ते पान लोड होण्यापूर्वीच त्याचे कनेक्शन तुटू शकते. सबस्क्रिप्शन्स आणि विलंबित पेमेंट पद्धतींसाठी webhooks आवश्यक आहेत.
हाताळण्यासारखे इव्हेंट्स
| इव्हेंट | त्याचा अर्थ | तुमचे अॅप काय करते |
|---|---|---|
checkout.session.completed | Checkout पूर्ण झाले | ऑर्डर पेड म्हणून चिन्हांकित करा किंवा प्रवेश सुरू करा |
checkout.session.async_payment_succeeded | विलंबित पद्धत (जसे बँक डेबिट) नंतर क्लिअर झाली | आता पूर्ण करा |
checkout.session.async_payment_failed | ते विलंबित पेमेंट अयशस्वी झाले | ग्राहकाला सांगा; पूर्ण करू नका |
invoice.paid | सबस्क्रिप्शन पेमेंट यशस्वी झाले, नूतनीकरणांसह | प्रवेश वाढवा |
invoice.payment_failed | नूतनीकरण अयशस्वी झाले | वापरकर्त्याला इशारा द्या; Stripe पुन्हा प्रयत्न करू शकते |
customer.subscription.updated | योजना बदलली, किंवा रद्दीकरण नियोजित | वापरकर्त्याची योजना अपडेट करा |
customer.subscription.deleted | सबस्क्रिप्शन संपले | सशुल्क प्रवेश काढा |
योग्य webhook हँडलरसाठी नियम
हे Stripe च्या webhook दस्तऐवजातून थेट घेतलेले आहेत, आणि AI-निर्मित हँडलर्स कधीकधी एखादा चुकवतात:
- सही तपासा. प्रत्येक इव्हेंटमध्ये
Stripe-Signatureहेडर असतो. तुमचा हँडलर ते endpoint च्या signing secret ने तपासतो (जोwhsec_ने सुरू होतो). हे नसेल तर कोणीही तुमच्या सर्व्हरला खोटा "पेमेंट यशस्वी" संदेश पाठवू शकतो. - कच्चा request body वापरा. फ्रेमवर्कने body आधी पार्स किंवा बदलली तर सही तपासणी अयशस्वी होते.
- लवकर 2xx प्रतिसाद द्या, मग हळू काम करा. टाइमआउट्स अपयश म्हणून मोजले जातात.
- डुप्लिकेट्स हाताळा. Stripe एकच इव्हेंट एकापेक्षा जास्त वेळा पाठवू शकते. प्रक्रिया झालेले इव्हेंट IDs नोंदवा, किंवा पूर्तता दोनदा चालवणे सुरक्षित करा.
- क्रमाबद्दल गृहीत धरू नका. Stripe हमी देत नाही की इव्हेंट्स घडलेल्या क्रमानेच येतील.
- पुन्हा प्रयत्नांची अपेक्षा ठेवा. लाइव्ह mode मध्ये Stripe अयशस्वी डिलिव्हरी तीन दिवसांपर्यंत पुन्हा प्रयत्न करते, त्यामुळे छोटा आउटेज पेमेंट्स गमावत नाही — पण तुमचा हँडलर उशिरा आलेल्या इव्हेंट्स हाताळू शकला पाहिजे.
Webhooks ला सार्वजनिक HTTPS पत्ता लागतो, म्हणून ते सहसा तुमचे अॅप प्रकाशित झाल्यावरच काम करतात (Stripe चा CLI विकसकांसाठी इव्हेंट्स स्थानिक मशीनवर फॉरवर्ड करू शकतो).
संपूर्ण प्रवाह कव्हर करणारा प्रॉम्प्ट
"Pro pack" साठी Stripe Checkout सह एकदाची खरेदी जोडा (price ID STRIPE_PRICE_ID मध्ये). secrets मधील STRIPE_SECRET_KEY वापरून सर्व्हरवर Checkout Session तयार करा, आणि session मध्ये लॉग-इन केलेल्या वापरकर्त्याचा ID समाविष्ट करा. POST /api/stripe/webhook endpoint जोडा जो raw request body वापरून STRIPE_WEBHOOK_SECRET ने Stripe सही तपासतो, checkout.session.completed हाताळतो, आणि त्या वापरकर्त्याला Pro pack असल्याचे चिन्हांकित करतो. तोच इव्हेंट दोनदा आला तरी ते सुरक्षित ठेवा. Success आणि cancel पाने. गुप्त key कधीही ब्राउझरला उघड करू नका.
सबस्क्रिप्शन्ससाठी जोडा: "STRIPE_PRICE_ID सह subscription mode वापरा. invoice.paid, invoice.payment_failed, customer.subscription.updated आणि customer.subscription.deleted हाताळा. Stripe customer portal उघडणारे Manage billing बटण जोडा."
Test mode
Stripe मध्ये sandbox (test) आणि लाइव्ह वातावरणे वेगळ्या keys सह असतात. Sandbox keys pk_test_, sk_test_ किंवा rk_test_ ने सुरू होतात; लाइव्ह keys pk_live_, sk_live_ किंवा rk_live_ ने सुरू होतात. Test व्यवहार पैसे हलवत नाहीत.
Stripe च्या testing दस्तऐवजातील उपयुक्त test cards (कोणतीही भविष्यातील expiry तारीख, कोणताही तीन अंकी CVC):
| कार्ड क्रमांक | निकाल |
|---|---|
4242 4242 4242 4242 | पेमेंट यशस्वी |
4000 0000 0000 0002 | कार्ड नाकारले |
4000 0000 0000 3220 | 3D Secure प्रमाणीकरण आवश्यक, मग यशस्वी |
किमान हे तपासा:
- यशस्वी पेमेंटने योग्य वापरकर्त्याला योग्य गोष्ट अनलॉक होते
- नाकारलेल्या कार्डने स्पष्ट संदेश दिसतो आणि काहीही अनलॉक होत नाही
- पैसे दिल्यानंतर लगेच ब्राउझर टॅब बंद केला तरी प्रवेश मिळतो (हे webhook काम करतो हे सिद्ध करते, फक्त success पान नव्हे)
- Stripe पानावर रद्द केल्यास वापरकर्ता तुमच्या अॅपवर परत येतो आणि काहीही आकारले जात नाही
- सबस्क्रिप्शन्ससाठी: customer portal मध्ये रद्द करा आणि प्रवेश योग्य वेळी संपतो याची खात्री करा
लाइव्ह जाणे
- तुमचे Stripe खाते सक्रिय करा तुमच्या व्यवसाय आणि बँक तपशिलांसह.
- तुमच्या अॅपच्या secrets मध्ये लाइव्ह keys बदला. Stripe शिफारस करते की अनिर्बंध secret key ऐवजी फक्त तुमच्या इंटिग्रेशनला लागणाऱ्या परवानग्यांसह restricted keys वापरा.
- लाइव्ह webhook endpoint तयार करा जो तुमच्या प्रकाशित अॅपकडे निर्देश करतो. त्याची स्वतःची signing secret असते, test पेक्षा वेगळी — ती अपडेट करा.
- लाइव्ह mode मध्ये उत्पादने आणि किमती पुन्हा तयार करा; test-mode IDs तिथे अस्तित्वात नसतात.
- एक खरी छोटी खरेदी करा आणि ती परत करा (refund).
प्रत्येक key तुमच्या प्रोजेक्ट secrets मध्ये ठेवा, कधीही कोडमध्ये किंवा चॅटमध्ये नाही. आमची AI-निर्मित अॅप्ससाठी सुरक्षा चेकलिस्ट keys आणि webhook पडताळणीबद्दल अधिक तपशील देते.
कर, परतावे आणि कागदपत्रे
पेमेंट्स सोबत अशा जबाबदाऱ्या येतात ज्या कोड सोडवत नाही. हा कर सल्ला नाही; अकाउंटंटकडे तपासा.
- Sales tax, VAT आणि GST. तुम्ही आणि तुमचे ग्राहक कुठे आहात यावर अवलंबून, तुम्हाला नोंदणी करावी लागू शकते, कर आकारावा आणि भरावा लागू शकतो. Stripe Tax चेकआउटवर कर मोजू आणि गोळा करू शकते, तुमची विक्री कर-जबाबदारी कुठे निर्माण करू शकते यावर लक्ष ठेवू शकते, आणि नोंदणी व फायलिंगमध्ये मदत करू शकते — पण जबाबदारी तुमचीच राहते. Merchant-of-record प्रदाते हा पर्याय आहे, जे यातील अधिक भार उचलतात.
- परतावे आणि वाद. लाँचपूर्वी तुमचे परतावा धोरण ठरवा आणि ते तुमच्या साइटवर ठेवा. वाद (chargebacks) होतात; काय विकत घेतले आणि काय दिले याच्या नोंदी ठेवा.
- पावत्या आणि इनव्हॉइस. Stripe पावत्या ईमेल करू शकते; व्यवसायांना योग्य इनव्हॉइस लागू शकतात.
- शुल्क. प्रत्येक प्रदाता प्रति व्यवहार शुल्क आकारतो. लेखांमधील आकड्यांवर अवलंबून राहण्याऐवजी प्रदात्याचे सध्याचे किंमत पान तपासा.
तुमच्या अॅपसाठी कोणते सेटअप योग्य
- देणग्या किंवा मूठभर उत्पादने: Payment Links. नानफा देणगी वेबसाइट कशी बनवावी पहा.
- कार्टसह दुकान: line items आणि webhook सह Checkout. ऑनलाइन दुकान कसे बनवावे पहा.
- SaaS किंवा सदस्यत्वे: subscription mode मधील Checkout, webhooks आणि customer portal. SaaS MVP कसा बनवावा आणि SaaS उत्पादनाची किंमत कशी ठरवावी पहा.
- विक्रेत्यांना पैसे देणारे मार्केटप्लेस: वेगळा, अधिक नियंत्रित सेटअप (Stripe Connect किंवा तत्सम). त्यासाठी स्वतंत्र नियोजन करा.
Mythex मध्ये पेमेंट्स जोडणे
Mythex वर तुम्ही बनवलेल्या अॅप्समधील पेमेंट्स तुमचे स्वतःचे Stripe खाते आणि keys वापरतात; तुमच्या अॅपसाठी एक-क्लिक "Connect Stripe" नाही. नेहमीचा प्रवाह:
- Stripe test keys मिळवा.
STRIPE_SECRET_KEY(आणि नंतर webhook secret) प्रोजेक्ट secrets मध्ये जोडा —/secretsद्वारे, प्रोजेक्ट सेटिंग्जद्वारे, किंवा एजंटला key हवी असताना दाखवणाऱ्या secrets कार्डद्वारे.- वरील प्रॉम्प्टसारख्या प्रॉम्प्टने एजंटला Checkout मागा.
- Preview मध्ये test cards वापरून तपासा. webhook नोंदवण्यापूर्वी प्रकाशित करा, कारण त्याला तुमचा सार्वजनिक URL लागतो.
- लाइव्ह keys वर बदलल्यानंतर पुन्हा प्रकाशित करा, म्हणजे लाइव्ह अॅप त्या उचलेल.
Accept payments with Stripe आणि Handle webhooks in your backend हे docs मध्ये पहा.
प्रश्न
अॅपमध्ये पेमेंट्स स्वीकारण्याचा सर्वात सोपा मार्ग कोणता?
Stripe Payment Link ला कोडची गरज नाही: Stripe Dashboard मध्ये तो तयार करा आणि तुमच्या अॅपमधून त्याची लिंक द्या. जर तुमच्या अॅपला कोणी पैसे दिले हे कळणे आणि आपोआप काहीतरी अनलॉक करणे आवश्यक असेल, तर त्याऐवजी webhook सह Stripe Checkout वापरा.
पेमेंट्स घेण्यासाठी मला webhook लागतो का?
जर तुमच्या अॅपने पेमेंटला प्रतिसाद देणे आवश्यक असेल — खाते अनलॉक करणे, ऑर्डर पेड म्हणून चिन्हांकित करणे, नूतनीकरण हाताळणे — तर हो. Stripe च्या दस्तऐवजानुसार तुम्ही फक्त success पानावर अवलंबून राहू शकत नाही, कारण ग्राहक पैसे देऊ शकतो आणि तो पानापर्यंत कधीच पोहोचू शकत नाही. सबस्क्रिप्शन्ससाठी webhooks आवश्यकच आहेत.
खऱ्या पैशाशिवाय पेमेंट्सची चाचणी कशी करू?
Stripe चे sandbox (test) API keys आणि त्याचे test card क्रमांक वापरा, जसे 4242 4242 4242 4242, कोणतीही भविष्यातील expiry तारीख आणि कोणताही तीन अंकी CVC. Test व्यवहार खरे पैसे हलवत नाहीत.
Stripe माझ्यासाठी sales tax आणि VAT हाताळते का?
Stripe Tax चेकआउटवर कर मोजू आणि गोळा करू शकते, आणि तुम्हाला कुठे नोंदणी करावी लागू शकते ते पाहू शकते, पण तुमच्या कर जबाबदाऱ्या तुमच्याच राहतात. तुमच्या परिस्थितीसाठी अकाउंटंटचा सल्ला घ्या.