हे — मैंने आज सुबह तुम्हारा मैसेज देखा, तुम्हारे ऐप के सपोर्ट इनबॉक्स में किसी का वह स्क्रीनशॉट जिसमें पूछा गया था "मैं इसके लिए तुम्हें पैसे कैसे दूं"। सच में, बधाई हो। यही वह पल है जब कोई साइड प्रोजेक्ट डेमो होना बंद कर देता है। यह वह पल भी है जब सौ छोटे-छोटे फैसले जिन्हें तुम टालते आए हो, एक ही मंगलवार को सामने आ जाते हैं। तुमने मुझसे कहा कि सीधे बता दूं क्या करना है। मैं वही करूंगा, लेकिन पहले तुम्हें कारण भी बताना चाहता हूं, क्योंकि यह "क्यों" ही तुम्हें तीन महीने बाद फिर मुझसे पूछने से रोकेगा — जब बात Stripe की जगह Lemon Squeezy की हो, या one-time की जगह subscription की।
वह फैसला जो तुम असल में ले रहे हो
तुमने इसे "कौन सा पेमेंट प्रोवाइडर इस्तेमाल करूं" कहकर फ्रेम किया, लेकिन असल में यह एक के ऊपर दूसरा — दो फैसले हैं। पहला: क्या तुम मर्चेंट ऑफ़ रेकॉर्ड बनना चाहते हो, या किसी और को बनाना चाहते हो? दूसरा: तुम्हारा बिलिंग शेप क्या है — one-time purchase, subscription, या usage-based? पहला गलत हो तो छह महीने बाद तुम्हें उस देश में VAT रजिस्टर करने में एक वीकेंड बिताना पड़ेगा जहां तुम कभी गए ही नहीं। दूसरा गलत हो तो यह एक झंझट भरा माइग्रेशन है, कानूनी मसला नहीं, तो यह दोनों में कम डरावना है।
मर्चेंट ऑफ़ रेकॉर्ड होने का मतलब है कि कानूनी रूप से तुम ही विक्रेता हो। तुम पैसे इकट्ठा करते हो, हर उस क्षेत्र में सेल्स टैक्स और VAT का हिसाब लगाने की ज़िम्मेदारी तुम्हारी है जहां तुम्हारे ग्राहक रहते हैं, और उसकी फ़ाइलिंग भी तुम्हें करनी होती है। Stripe खुशी से वह टैक्स कैलकुलेट कर देगा (Stripe Tax), लेकिन कैलकुलेट करना, जमा करना नहीं है — जहां भी तुम किसी सीमा को पार करते हो, वहां रजिस्टर और फ़ाइल तुम्हें ही करना होगा। Lemon Squeezy या Paddle जैसी मर्चेंट ऑफ़ रेकॉर्ड सेवा यह पूरी समस्या तुम्हारे सिर से हटा देती है: कानूनी रूप से विक्रेता वे होते हैं, हर जगह टैक्स इकट्ठा और जमा करते हैं, और तुम्हें नेट राशि देते हैं। इसके लिए तुम मार्जिन का एक हिस्सा छोड़ देते हो।
| विकल्प | विक्रेता कौन है | सामान्य टेक रेट | टैक्स हैंडलिंग | किसके लिए सबसे अच्छा |
|---|---|---|---|---|
| Stripe (डायरेक्ट) | आप | ~2.9% + $0.30/txn, Stripe Tax के लिए +0.5% | तुम रजिस्टर और फ़ाइल करते हो, Stripe सिर्फ़ कैलकुलेट करता है | तुम्हें उम्मीद है कि हर महीने कुछ हज़ार से ज़्यादा स्केल होगा और लंबे समय में कम फीस चाहते हो |
| Lemon Squeezy | Lemon Squeezy | ~5% + $0.50/लेनदेन | पूरी तरह से संभाला जाता है, वे रिकॉर्ड के विक्रेता होते हैं | अकेले बिल्डर, पहला प्रोडक्ट, टैक्स के बारे में बिल्कुल नहीं सोचना चाहते |
| Paddle | Paddle | ~5% + फीस क्षेत्र के अनुसार अलग-अलग | पूरी तरह से संभाला जाता है, ज्यादा एंटरप्राइज़-केंद्रित | सब्सक्रिप्शन और कुछ इनवॉइसिंग जरूरतों वाला SaaS |
| PayPal | आप | ~3.5-4.5%, खरीदार-हितैषी विवाद प्रक्रिया | आप खुद संभालते हैं | वे ग्राहक जो खासतौर पर PayPal पर भरोसा करते हैं, कोई डिफ़ॉल्ट चुनाव नहीं |
आप अभी जिस स्थिति में हैं — एक ग्राहक, एक सरल प्रोडक्ट, यह पता ही नहीं कि यह भविष्य में एक बिज़नेस बनेगा या नहीं — उसके लिए मैं raw Stripe की बजाय Lemon Squeezy या Paddle चुनने की सलाह दूंगा। फीस का वह अतिरिक्त दो प्रतिशत, आपके किसी ऐसे राज्य में गलती से टैक्स फाइलर बन जाने से बचने के लिए एक सस्ता इंश्योरेंस है जहां आप कभी गए भी नहीं। जब वॉल्यूम इस बदलाव को सही ठहराए और आप कागज़ी कार्रवाई झेलने के लिए तैयार हों, तब आप बाद में सीधे Stripe पर माइग्रेट कर सकते हैं। कोई भी मज़े के लिए पेमेंट प्रोवाइडर नहीं बदलता, लेकिन यह एक हल किए जा सकने वाला मंगलवार है, हल किया जा सकने वाला साल नहीं।
मैंने खुद यह गलती एक पुराने प्रोजेक्ट में की थी — सीधे Stripe पर गया क्योंकि "हर कोई Stripe इस्तेमाल करता है," कुछ यूरोपीय ग्राहकों से हर महीने कुछ सौ डॉलर जमा किए, और फिर अठारह महीने बाद VAT MOSS रजिस्ट्रेशन के बारे में एक बहुत विनम्र लेकिन बेहद भ्रमित करने वाला ईमेल मिला। इसमें एक अकाउंटेंट की एक दोपहर और "क्या मुझे नीदरलैंड्स को पैसे देने हैं" गूगल करते हुए चालीस मिनट की शुद्ध घबराहट लगी। विनाशकारी नहीं। पूरी तरह टाला भी जा सकता था।
लाइव कीज़ को छूने से पहले
आप जो भी चुनें, पहले उसे प्रोडक्शन मोड में कनेक्ट न करें। इनमें से हर प्रोवाइडर के पास टेस्ट/सैंडबॉक्स मोड होता है जिसमें फर्जी कार्ड नंबर होते हैं जो खास नतीजे ट्रिगर करते हैं — सफल चार्ज, अस्वीकृत कार्ड, 3D Secure की जरूरत, अपर्याप्त बैलेंस। असली की छूने से पहले इन सबको आज़मा लें। फेल होने वाले रास्ते ही वो हैं जिनसे आप पहले हफ्ते में असल में टकराएंगे, और असली व्यक्ति के कार्ड के साथ लाइव में उन्हें डीबग करना बिल्कुल भी मज़ेदार नहीं है।
अपने बिल्ड चैट में साफ़ कहें कि आप इसे चरणों में करना चाहते हैं: पहले टेस्ट मोड में इंटीग्रेशन जोड़ने के लिए कहें, साथ में एक साफ़ दिखने वाला बैनर या फ्लैग हो ताकि टेस्ट करते समय कोई भी — भविष्य के आप सहित — गलती से किसी असली कार्ड पर चार्ज न कर दे। फिर एक दूसरा, सोच-समझकर उठाया गया कदम रखें जिसमें लाइव कीज़ डालें। दो प्रॉम्प्ट, एक नहीं, भले ही सिर्फ़ "पेमेंट जोड़ें" कहकर इसे मोड का अंदाज़ा लगाने देना तेज़ होता। यह घर्षण ही असल मकसद है।
आपको यह भी तय करना होगा कि जब कोई webhook फायर हो और आपका सर्वर डाउन हो, या धीमा हो, या इवेंट दो बार पहुंचे तो क्या होगा। यह कोई काल्पनिक बात नहीं है — यह पहले हफ्ते में ही होता है, हर बार। कम से कम, जिन इवेंट्स को आपको असल में संभालना है:
checkout.session.completed(या इसके समकक्ष) — एक्सेस दें, यह वह पल है जब ग्राहक असल में ग्राहक बनता हैinvoice.payment_failed— सब्सक्रिप्शन के लिए, अभी तय करें कि यह तुरंत लॉकआउट होगा या ग्रेस पीरियड, क्योंकि "तुरंत लॉकआउट" उस कार्ड के लिए वाकई एक बुरा पहला प्रभाव है जिसमें बस अस्थायी दिक्कत आई थीcustomer.subscription.deleted— किसी ने कैंसल किया, तो पीरियड खत्म होने पर एक्सेस रद्द करें, तुरंत नहीं, जब तक आपकी शर्तें कुछ और न कहें- एक रिफंड इवेंट — पहली रिफंड रिक्वेस्ट आपको लाइव फैसला लेने पर मजबूर करे, उससे पहले खुद से लिखित में एक बार तय कर लें कि आपकी रिफंड पॉलिसी वास्तव में क्या है
इडेम्पोटेंसी यहां आपके ऐप के लगभग किसी भी हिस्से से ज्यादा मायने रखती है। अगर कोई webhook दो बार पहुंचता है — और ऐसा होगा, प्रोवाइडर किसी भी non-200 रिस्पॉन्स पर दोबारा भेजते हैं — तो आप दो बार एक्सेस नहीं दे सकते या, इससे भी बुरा, इंटरनल स्टेट को दोगुना चार्ज नहीं कर सकते। इवेंट ID स्टोर करें और उस पर एक्शन लेने से पहले चेक करें कि आपने उसे पहले प्रोसेस तो नहीं किया।
वह प्राइसिंग सवाल जिससे आप बच रहे हैं
आपने अपने मैसेज में बताया था कि आप तय नहीं कर पा रहे कि $9/महीना चार्ज करें या एकमुश्त $49। मुझे नहीं लगता कि दोनों में से कोई गलत है, लेकिन ध्यान दें कि आप असल में किस बात से बच रहे हैं: ग्राहक के साथ यह बातचीत कि आवर्ती वैल्यू असल में क्या है। एकमुश्त कीमत के लिए हां कहना आसान है और आपके लिए बनाना भी आसान है (कोई डनिंग नहीं, फेल्ड-रिन्यूअल हैंडलिंग नहीं, कैंसिलेशन फ्लो नहीं)। सब्सक्रिप्शन एक दांव है कि आप चीज़ को इतना बेहतर बनाते रहेंगे कि लोग छोड़ें नहीं — यह एक असली प्रतिबद्धता है, प्राइसिंग पेज पर सिर्फ़ एक चेकबॉक्स नहीं। अगर आप निश्चित नहीं हैं कि छह महीने बाद भी इस पर सक्रिय रूप से काम कर रहे होंगे, तो एकमुश्त कीमत ज्यादा ईमानदार पेशकश है। बाद में जब कुछ चालू रहने वाला हो, तब आप हमेशा सब्सक्रिप्शन टियर जोड़ सकते हैं।
एक और बात, फिर मैं आपको काम पर वापस जाने दूंगा: पहला डॉलर लेने से पहले पेज पर एक असली रिफंड और कैंसिलेशन पॉलिसी डालें, भले ही वह सिर्फ़ तीन वाक्यों की हो। इसलिए नहीं कि कोई $9 के चार्ज पर आप पर मुकदमा करने वाला है, बल्कि इसलिए कि इसे लिखना आपको असल में इसे तय करने पर मजबूर करता है, और "जब कोई पूछेगा तब सोच लूंगा" का मतलब है कि आप एक शांत दोपहर की बजाय एक गुस्साए ईमेल के बीच में पॉलिसी का फैसला ले रहे होंगे।
पहले सैंडबॉक्स को कनेक्ट करें। जब आप उसमें एक फर्जी अस्वीकृत कार्ड चला लें तो मुझे टेक्स्ट करें — "यह काम करता है" का वही वर्ज़न असल में मायने रखता है।



