Stripe
एडमिन में कहाँ: Finance › Payment channels › Stripe (
/payments/stripe)। स्विच और शुल्क: Finance › Payment channels › Fees & limits (/payments/fees)।
यह क्या करता है
Stripe वॉलेट टॉप-अप के लिए कार्ड भुगतान स्वीकार करता है। इसी अकाउंट से आप Apple Pay, Google Pay, Link और Alipay भी दे सकते हैं, और ग्राहकों को automatic top-up के लिए कार्ड सेव करने दे सकते हैं। अंतरराष्ट्रीय ग्राहकों के लिए इसे प्राथमिक चैनल के रूप में उपयोग करें।
आवश्यकताएं
| आइटम | आवश्यकता |
|---|---|
| Stripe account | एक Stripe अकाउंट जो USD में भुगतान स्वीकार कर सके। Alipay से शुल्क JPY में लिया जाता है और इसे आपके अकाउंट के लिए Stripe द्वारा सक्रिय किया जाना चाहिए। |
| Keys | एक गुप्त कुंजी (sk_live_... या sk_test_...) और एक सार्वजनिक कुंजी (pk_live_... या pk_test_...)। फॉर्म केवल इन उपसर्गों वाली कुंजियों को स्वीकार करता है। |
| नेटवर्क | आपका पैनल इंटरनेट से HTTPS के माध्यम से पहुंच योग्य होना चाहिए (Stripe वेबहुक को कॉल करता है) और पोर्ट 443 पर api.stripe.com तक पहुंचना चाहिए। |
| Domain (wallets only) | ग्राहक-सामने वाले डोमेन को /.well-known/apple-developer-merchantid-domain-association दिखाना होगा — NexCMP आपके लिए यह करता है। |
| डिपेंडेंसी | कोई नहीं। |
साझा किए गए Stripe अकाउंट
NexCMP केवल उन भुगतानों के लिए वेबहुक इवेंट्स को प्रोसेस करता है जिन्हें इसने खुद बनाया है, इसलिए आप ऐसे Stripe अकाउंट का उपयोग कर सकते हैं जो किसी अन्य एप्लिकेशन को भी सेवा देता है।
बुनियादी ढांचा तैयार करें
Stripe की तरफ़:
- Stripe Dashboard में साइन इन करें। यह तय करने के लिए कि आप परीक्षण कर रहे हैं या लाइव जा रहे हैं, Test mode को चालू या बंद करें। एक मोड की कुंजियाँ दूसरे के साथ कभी काम नहीं करतीं।
- Developers › API keys खोलें। Publishable key कॉपी करें और Secret key को प्रकट करके कॉपी करें। गुप्त कुंजी को निजी रखें।
- (वैकल्पिक) Settings › Payment methods खोलें और यदि आप इसे देना चाहते हैं तो Alipay सक्रिय करें।
- आपको वेबहुक मैन्युअल रूप से बनाने की आवश्यकता नहीं है — NexCMP इसे आपके लिए बना सकता है (नीचे चरण 5 देखें)। यदि आप इसे मैन्युअल रूप से करना पसंद करते हैं, तो Developers › Webhooks में Webhook में सूचीबद्ध URL और इवेंट्स के साथ एक एंडपॉइंट बनाएं।
NexCMP में कनेक्ट करें
- Finance › Payment channels › Stripe (
/payments/stripe) खोलें। - API keys कार्ड में Mode (
liveयाtest) चुनें, Secret key और Publishable key पेस्ट करें। - Save पर क्लिक करें। कुंजियाँ सर्वर पर एक कॉन्फ़िगरेशन फ़ाइल में लिखी जाती हैं जिसे केवल NexCMP सर्विस अकाउंट पढ़ सकता है। उन्हें कभी भी ब्राउज़र पर वापस नहीं भेजा जाता है; उसके बाद पेज केवल अंतिम 4 वर्ण दिखाता है।
- Check पर क्लिक करें। एक संवाद बॉक्स कनेक्शन, मोड, उपलब्ध और लंबित शेष राशि, अकाउंट ID, क्या चार्ज सक्षम हैं, क्या वेबहुक मौजूद है और क्या Alipay उपलब्ध है, इसकी रिपोर्ट करता है। एक लाल रेखा का मतलब है कि उस हिस्से पर ध्यान देने की आवश्यकता है।
- Webhook कार्ड में Create webhook पर क्लिक करें और पुष्टि करें। NexCMP आवश्यक इवेंट के साथ एंडपॉइंट बनाने के लिए Stripe से कहता है और Webhook signing secret (
whsec_...) को अपने आप भर देता है। फ़ील्ड में पहले से भरा हुआ URLhttps://<your-domain>/v1/billing/stripe/webhookहै, उदाहरण के लिएhttps://cloud.example.com/v1/billing/stripe/webhook। - Fees & limits (
/payments/fees) खोलें, Card (Stripe) चालू रखें, Stripe fee % और Stripe fixed fee (cents) को अपने वास्तविक टैरिफ पर सेट करें और Save channels & fees पर क्लिक करें। Payment channels देखें।

वेबहुक
लाल बैनर "Missing webhook_secret" तब तक रहता है जब तक कि साइनिंग सीक्रेट सेव नहीं हो जाता। इसके बिना Stripe टॉप-अप रिकॉर्ड नहीं किए जाते, भले ही Stripe ने पैसे ले लिए हों।
| आइटम | मान |
|---|---|
| URL | https://<your-domain>/v1/billing/stripe/webhook |
| Events | checkout.session.completed, payment_intent.succeeded, payment_intent.payment_failed, charge.refunded, charge.dispute.created, charge.dispute.closed, radar.early_fraud_warning.created, refund.updated, refund.failed |
| Signature | Stripe Stripe-Signature हेडर, HMAC-SHA256, 300 सेकंड की सहिष्णुता। खराब हस्ताक्षर वाले अनुरोधों को HTTP 400 मिलता है। |
| Idempotency | प्रत्येक इवेंट ID को एक बार संग्रहीत किया जाता है; बार-बार डिलीवरी होने पर कभी भी दो बार क्रेडिट नहीं मिलता है। |
यदि आपने ऐसे रिलीज़ से अपग्रेड किया है जिसने कम इवेंट्स रजिस्टर किए थे, तो Create webhook पर फिर से क्लिक करें — पुराना एंडपॉइंट रखा जाता है, इसलिए इसके बाद Stripe Dashboard में इसे हाथ से हटा दें।
Webhook कार्ड में 24h events और Latest event पंक्तियाँ बताती हैं कि क्या Stripe पैनल तक पहुँच रहा है। व्यक्तिगत इवेंट Payment channels › Gateway events (/payments/events, टैब Stripe) में सूचीबद्ध होते हैं, जहाँ प्रत्येक इवेंट को देखा जा सकता है (Payload) या फिर से चलाया जा सकता है (Replay)।
Apple Pay, Google Pay and Link
- Wallets (Apple Pay · Google Pay · Link) & Alipay कार्ड में, फ़ील्ड Customer app Domain registered with Stripe आपके साइट के होस्ट नाम से पहले से भरी होती है (उदाहरण के लिए
cloud.example.com)। - Register / verify domain पर क्लिक करें और पुष्टि करें। NexCMP Stripe के भुगतान विधि डोमेन में डोमेन पंजीकृत करता है और Stripe से इसे मान्य करने के लिए कहता है।
- परिणाम Apple Pay, Google Pay और Link की स्थिति दिखाता है। Apple Pay केवल तभी दिखाई देता है जब स्थिति
activeहो। - Fees & limits में Apple Pay · Google Pay · Link चालू रखें।

Apple Pay निष्क्रिय रहता है
Apple Pay को आपके सार्वजनिक डोमेन पर HTTP 200 का उत्तर देने के लिए डोमेन-एसोसिएशन फ़ाइल की आवश्यकता होती है। यदि आप सामने Cloudflare या कोई अन्य प्रॉक्सी रखते हैं, तो /.well-known/ को ब्लॉक न करें।
Alipay
Alipay वैकल्पिक है। इसे Stripe Dashboard › Settings › Payment methods में सक्रिय करें, Check पर क्लिक करें और संवाद में Alipay उपलब्ध दिखने तक प्रतीक्षा करें, फिर Alipay (Stripe, JPY display) को Fees & limits में चालू करें। Alipay fee %, Alipay fixed fee, ¥/USD rate (50–500) और FX spread % (0–20) सेट करें। ¥/USD दर को नियमित रूप से अपडेट करें; 7 दिनों से अधिक पुरानी होने पर पृष्ठ चेतावनी देता है।
सत्यापित करें
- टेस्ट मोड में, पोर्टल में एक टेस्ट ग्राहक के रूप में साइन इन करें, Billing खोलें, Deposit पर क्लिक करें, Card चुनें और Stripe टेस्ट कार्ड
4242 4242 4242 4242(कोई भी भविष्य की तिथि, कोई भी CVC) के साथ न्यूनतम भुगतान करें। - बैलेंस सेकंडों में बढ़ जाता है और भुगतान Completed स्थिति के साथ Finance › Billing › Top-ups के तहत दिखाई देता है।
- Payment channels › Gateway events › Stripe खोलें: आपको प्रोसेस किए गए समय के साथ
checkout.session.completedयाpayment_intent.succeededदिखाई देना चाहिए। - Stripe पेज पर वापस, 24h events 0 से ऊपर है।
लाइव होने से पहले, Mode को live पर बदलें, लाइव कुंजियाँ पेस्ट करें और Create webhook पर फिर से क्लिक करें (टेस्ट और लाइव मोड के वेबहुक अलग-अलग होते हैं)।
Limits & notes
- राशि और मुद्रा। वॉलेट USD में हैं। कार्ड, वॉलेट और लिंक भुगतान USD में लिए जाते हैं; Alipay ग्राहक को JPY में दिखाया जाता है और आपकी दर पर रूपांतरित किया जाता है।
- शुल्क। Stripe का वास्तविक शुल्क स्वचालित रूप से वापस नहीं पढ़ा जाता है; आपके द्वारा सेट किया गया शुल्क प्रतिशत यह तय करता है कि ग्राहक क्या देखता है और वॉलेट में क्या जमा किया जाता है। शुल्क शीर्ष पर जोड़ने के लिए Fees & limits में Customer pays top-up fee चुनें।
- सहेजे गए कार्ड। जब ग्राहक ऑटो टॉप-अप के लिए कार्ड सहेजें को चुनता है, तो कार्ड आपके सर्वर पर नहीं, बल्कि Stripe पर सहेजा जाता है। सहेजे गए भुगतान तरीके देखें।
- रिफंड। कार्ड पर रिफंड देना एक दो-चरण की प्रक्रिया है: एक एडमिन पूर्ण किए गए भुगतान के लिए रिफंड अनुरोध बनाता है (Finance › Billing › Top-ups, भुगतान पर रिफंड कार्रवाई) और फिर इसे Finance › Payouts › Card refunds (
/billing/payouts) के तहत स्वीकृत करता है। Alipay रिफंड एसिंक्रोनस होते हैं; असफल रिफंड (refund.failed) रोकी गई राशि को वॉलेट में वापस कर देता है। - विवाद।
charge.dispute.createdपर NexCMP ग्राहक का खाता ब्लॉक कर देता है, उनकी प्रीपेड सेवाओं को रोक देता है (कुछ भी हटाया नहीं जाता) और एक एडमिन अलर्ट भेजता है। यदि आप जीत जाते हैं (charge.dispute.closed), तो राशि वापस वॉलेट में क्रेडिट कर दी जाती है। - प्रतीक्षारत भुगतान। यदि कोई वेबहुक कभी नहीं आता है, तो NexCMP 10 मिनट से अधिक समय तक पेंडिंग रहने वाले भुगतानों की स्वयं Stripe के विरुद्ध जाँच करता है और उन्हें पूरा करता है। 7 दिन से पुराने भुगतानों को छोड़ दिया जाता है।
- Resellers अपना खुद का Stripe खाता (वेबहुक
https://<their-domain>/v1/billing/stripe/webhook/r/<id>) जोड़ सकते हैं; Resellers देखें।
ट्रबलशूटिंग
| लक्षण | कारण | सुधार |
|---|---|---|
| "Secret key sk_live_/sk_test_ से शुरू होनी चाहिए" | गलत कुंजी पेस्ट की गई | Developers › API keys से सीक्रेट कुंजी पेस्ट करें। |
| "Secret key live/test मोड से मेल नहीं खाती" | मोड और कुंजी मेल नहीं खाते | Mode को कुंजी के उपसर्ग (prefix) के अनुरूप बनाएं। |
| "Publishable key pk_ से शुरू होनी चाहिए" | Wrong key | पब्लिशेबल कुंजी का उपयोग करें। |
| जांच से पता चलता है कि कनेक्शन विफल हो गया | गलत कुंजी, निरस्त की गई कुंजी, या सर्वर तक नहीं पहुंच सकता api.stripe.com | कुंजी को दोबारा पेस्ट करें; सर्वर से curl -I https://api.stripe.com के साथ परीक्षण करें। |
| लाल बैनर "Missing webhook_secret" | साइनिंग सीक्रेट सहेजा नहीं गया है | Create webhook पर क्लिक करें या Stripe डैशबोर्ड से whsec_... सीक्रेट पेस्ट करें और Save करें। |
| पैसा कट गया लेकिन बैलेंस नहीं बदला | वेबहुक डिलीवर नहीं हुआ या हस्ताक्षर विफल हो रहे हैं | जांच लें कि URL /v1/billing/stripe/webhook पर समाप्त होता है, सीक्रेट एंडपॉइंट से मेल खाता है, और Gateway events में इवेंट को रीप्ले करें। Stripe में, एंडपॉइंट खोलें और डिलीवरी प्रयासों को देखें (HTTP 400 का अर्थ गलत साइनिंग सीक्रेट है)। |
| "Create webhook" fails | URL HTTPS नहीं है या पहुंच योग्य नहीं है | अपने सार्वजनिक https:// डोमेन का उपयोग करें। |
| Apple Pay स्थिति सक्रिय नहीं है | Domain not validated | डोमेन-एसोसिएशन फ़ाइल के 200 उत्तर देने के बाद Register / verify domain पर दोबारा क्लिक करें। |
| चेक डायलॉग में Alipay उपलब्ध नहीं है | Not activated at Stripe | Stripe डैशबोर्ड में इसे सक्रिय करें, फिर Check पर क्लिक करें। |
| ग्राहक को कोई कार्ड फॉर्म नहीं दिखता | Card (Stripe) बंद है या कोई गुप्त कुंजी नहीं है | इसे Fees & limits में चालू करें और कुंजियों को सहेजें। |