VibeFox Razorpay for WooCommerce — सहायता
आवश्यकताएँ
WordPress: 6.0 या उसके बाद का संस्करण।
WooCommerce: 7.0 या उसके बाद का संस्करण, इंस्टॉल और सक्रिय। इसके बिना प्लगइन सक्रिय नहीं होता।
PHP: 8.0 या उसके बाद का संस्करण।
Razorpay खाता: टेस्ट मोड के लिए आपको अपने Razorpay खाते की Key ID और Key Secret चाहिए, और लाइव मोड के लिए खाता सक्रिय होने के बाद। अपनी पसंद के सीक्रेट वाला वेबहुक बहुत अनुशंसित है (देखें कॉन्फ़िगरेशन)। INR के अलावा अन्य मुद्राओं में भुगतान के लिए आपके Razorpay खाते में International Payments सक्षम होना चाहिए।
VibeFox लाइसेंस कुंजी: vibefox.net से खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।
इंस्टॉलेशन
1. WordPress में Plugins > Add New > Upload Plugin पर जाएँ, प्लगइन की ZIP फ़ाइल चुनें और Install Now पर क्लिक करें। आप FTP से wcp_razorpay_payment फ़ोल्डर को /wp-content/plugins/ में भी अपलोड कर सकते हैं।
2. Activate पर क्लिक करें।
3. सेटिंग खोलें: WooCommerce > Settings > Payments > Razorpay > Manage, या Plugins पेज पर प्लगइन के नाम के नीचे Settings पर क्लिक करें।
4. पेज के ऊपर लाइसेंस ब्लॉक में अपनी VibeFox लाइसेंस कुंजी दर्ज करें और Activate पर क्लिक करें।
5. अपनी Test Key ID और Test Key Secret दर्ज करें, Razorpay Dashboard में वेबहुक सेट करें और उसका सीक्रेट दर्ज करें (देखें कॉन्फ़िगरेशन)।
6. Enable/Disable चालू करें और Test mode चालू रखते हुए एक टेस्ट भुगतान करें। तैयार होने पर Live कुंजियाँ दर्ज करें और Test mode का चेकमार्क हटा दें।
कॉन्फ़िगरेशन
सभी सेटिंग एक ही पेज पर हैं: WooCommerce > Settings > Payments > Razorpay। फ़ील्ड्स के ऊपर पेज सूचनाएँ दिखाता है: वर्तमान मोड की कुंजियाँ गायब हैं (तब भुगतान तरीका चेकआउट पर छिपा रहता है), टेस्ट मोड में Key ID rzp_test_ से शुरू नहीं होती या लाइव मोड में rzp_live_ से शुरू नहीं होती, टेस्ट मोड चालू है, वेबहुक सीक्रेट खाली है, या स्टोर की मुद्रा INR नहीं है और आपके Razorpay खाते में International Payments की आवश्यकता है। भुगतान तरीकों की सूची में Razorpay तब तक सेटअप की आवश्यकता वाला दिखता है जब तक वर्तमान मोड में उसकी कुंजियाँ नहीं होतीं, और जब तक टेस्ट मोड चालू है, तब तक Test mode बैज दिखता है। कुंजियों के साथ चिपकाए गए स्पेस सेव करते समय हटा दिए जाते हैं।
सामान्य
Enable/Disable: Enable Razorpay Payment Gateway भुगतान तरीके को चालू या बंद करता है। डिफ़ॉल्ट: बंद।
Title: वह नाम जो ग्राहक चेकआउट पर भुगतान तरीके के रूप में देखते हैं। डिफ़ॉल्ट: UPI, Cards, NetBanking।
Description: चेकआउट पर भुगतान तरीके के नीचे दिखने वाला पाठ। डिफ़ॉल्ट: Pay securely via UPI, Credit/Debit Card, or Internet Banking through Razorpay।
API कुंजियाँ
अपनी कुंजियाँ Razorpay Dashboard में Account & Settings > API Keys के अंतर्गत प्राप्त करें। टेस्ट कुंजियाँ (rzp_test_...) बनाने के लिए Dashboard को टेस्ट मोड में बदलें। लाइव कुंजियाँ (rzp_live_...) आपके खाते के सक्रिय होने के बाद उपलब्ध होती हैं।
Test mode: Use the Test mode keys (no real money is charged)। डिफ़ॉल्ट: चालू। वास्तविक भुगतान लेने के लिए इसका चेकमार्क हटाएँ। किसी ऑर्डर के भुगतान, कैप्चर और रिफ़ंड हमेशा उसी मोड की कुंजियों से होते हैं जिसमें ऑर्डर का भुगतान हुआ था, इसलिए बाद में मोड बदलने से मौजूदा ऑर्डर प्रभावित नहीं होते।
Test Key ID: Razorpay Dashboard में टेस्ट मोड की Key ID। यह rzp_test_ से शुरू होती है।
Test Key Secret: Razorpay Dashboard में टेस्ट मोड की Key Secret।
Live Key ID: Razorpay Dashboard में लाइव मोड की Key ID। यह rzp_live_ से शुरू होती है।
Live Key Secret: Razorpay Dashboard में लाइव मोड की Key Secret।
भुगतान
Payment Action: पैसे कब लिए जाते हैं। डिफ़ॉल्ट: Authorize & Capture।
Webhook
वेबहुक भुगतान की पुष्टि करता है, भले ही ग्राहक भुगतान के तुरंत बाद ब्राउज़र बंद कर दे, और Razorpay Dashboard में किए गए रिफ़ंड दर्ज करता है। Razorpay Dashboard में Account & Settings > Webhooks पर जाएँ और टेस्ट मोड के लिए एक वेबहुक तथा लाइव मोड के लिए एक और वेबहुक जोड़ें। सेटिंग के इस भाग में दिखाया गया URL उपयोग करें। यह https://your-site/wc-api/razorpay_p_webhook/ जैसा दिखता है। इसे ठीक वैसे ही कॉपी करें जैसा सेटिंग में दिखाया गया है। Razorpay में अपनी पसंद का सीक्रेट दर्ज करें और ये इवेंट चुनें:
Webhook Secret: वेबहुक बनाते समय दर्ज किया गया सीक्रेट। टेस्ट और लाइव वेबहुक के लिए एक ही सीक्रेट इस्तेमाल करें, क्योंकि प्लगइन में दोनों के लिए एक ही फ़ील्ड है। वैध हस्ताक्षर के बिना आने वाले वेबहुक अस्वीकार कर दिए जाते हैं। वेबहुक के बिना भुगतान तभी पक्का होता है जब ग्राहक पॉपअप से लौटता है या बाद में ऑर्डर भुगतान पेज दोबारा खोलता है।
उन्नत
Enable Logging: Save debug logs। लॉग WooCommerce > Status > Logs में है, स्रोत wcp_razorpay_payment। त्रुटियाँ और चेतावनियाँ हमेशा दर्ज होती हैं; यह विकल्प डीबग विवरण जोड़ता है। कुंजियाँ, हस्ताक्षर और ग्राहक का संपर्क डेटा कभी दर्ज नहीं होता। डिफ़ॉल्ट: बंद।
Delete Data on Uninstall: Remove the plugin settings and logs when the plugin is deleted (orders are never touched)। डिफ़ॉल्ट: बंद।
चेकआउट
ग्राहक भुगतान तरीका चुनता है (डिफ़ॉल्ट रूप से UPI, Cards, NetBanking) और ऑर्डर देता है। प्लगइन ऑर्डर के सटीक कुल और मुद्रा के लिए एक Razorpay ऑर्डर बनाता है और ऑर्डर भुगतान पेज खोलता है। वहाँ Razorpay Checkout पॉपअप अपने-आप खुलता है, जिसमें ग्राहक का नाम, ईमेल और फ़ोन पहले से भरे होते हैं। यदि पॉपअप बंद हो जाए, तो ग्राहक इसे फिर से खोलने के लिए Pay Now पर क्लिक कर सकता है, या Cancel order पर। टेस्ट मोड में पेज पर Razorpay Test mode: no real money will be charged. दिखता है।
सफल भुगतान के बाद प्लगइन Razorpay हस्ताक्षर की जाँच करता है, Razorpay API से भुगतान प्राप्त करता है, और राशि तथा मुद्रा की ऑर्डर से तुलना करता है। Razorpay की पुष्टि के बाद ही ऑर्डर भुगतान किया हुआ चिह्नित होता है। फिर ग्राहक को ऑर्डर प्राप्ति पेज दिखता है। यदि हस्ताक्षर वैध है, लेकिन उसी समय भुगतान प्राप्त नहीं हो पाता, तो ऑर्डर “होल्ड पर” हो जाता है और वेबहुक बाद में उसकी पुष्टि करता है।
यदि ग्राहक किसी बिना भुगतान वाले ऑर्डर पर लौटता है, तो प्लगइन उसका Razorpay ऑर्डर दोबारा उपयोग करता है। यदि वह Razorpay ऑर्डर पहले ही भुगतान हो चुका है, जैसे ग्राहक ने ब्राउज़र बंद कर दिया हो और वेबहुक न हो, तो प्लगइन दूसरा भुगतान माँगने के बजाय वही भुगतान लागू कर देता है।
ग्राहक को दिखने वाले संदेश:
यह भुगतान तरीका क्लासिक चेकआउट, Checkout ब्लॉक और Pay for order पेज पर काम करता है। यह WooCommerce High-Performance Order Storage (HPOS) के साथ संगत है।
प्लगइन केवल एक-बार के भुगतान लेता है। इसमें सब्सक्रिप्शन या आवर्ती भुगतान, सेव किए गए कार्ड, Razorpay Magic Checkout, Payment Links या Route (विभाजित भुगतान) नहीं हैं, और न ही ऑफ़र या किफ़ायती-भुगतान विजेट हैं।
ऑर्डर और रिफ़ंड
Order statuses
Pending payment: Razorpay ऑर्डर बनाया गया है और ग्राहक ने अभी भुगतान नहीं किया है। हर Razorpay ऑर्डर अपनी राशि और मोड के साथ ऑर्डर नोट्स में जोड़ा जाता है।
Processing or Completed: भुगतान कैप्चर और पुष्ट हो गया है; भुगतान के बाद यह WooCommerce का डिफ़ॉल्ट स्टेटस है। ऑर्डर नोट में Razorpay भुगतान ID, राशि और पुष्टि का तरीका (कॉलबैक, वेबहुक या लौटने पर जाँच) दिखता है। ट्रांज़ैक्शन ID Razorpay भुगतान ID (pay_...) है।
On hold: इन स्थितियों में सेट होता है, और हर बार एक ऑर्डर नोट के साथ: भुगतान केवल प्राधिकृत हुआ है (Authorize Only), भुगतान की गई राशि या मुद्रा ऑर्डर से मेल नहीं खाती, रद्द किए गए ऑर्डर के लिए भुगतान कैप्चर हुआ है, या उस समय Razorpay API से भुगतान की पुष्टि नहीं हो सकी। जो ऑर्डर पहले से “होल्ड पर” है, उसे भी नोट मिलता है।
Failed: लंबित ऑर्डर के लिए payment.failed वेबहुक आया। नोट में Razorpay की त्रुटि दिखती है। ग्राहक फिर भी दोबारा भुगतान कर सकता है; जिस ऑर्डर में पहले से प्राधिकृत या कैप्चर किया गया भुगतान है, वह नहीं बदलता।
Cancelled: ग्राहक ने Cancel order पर क्लिक किया, या ऑर्डर आपके द्वारा या WooCommerce स्टॉक-होल्ड की समयसीमा समाप्त होने से रद्द हुआ। बाद में आने वाला भुगतान उसे अपने-आप दोबारा नहीं खोलता: प्राधिकृत भुगतान कैप्चर नहीं होता, और कैप्चर हुआ भुगतान आपकी समीक्षा के लिए ऑर्डर को “होल्ड पर” कर देता है।
यदि पहले से भुगतान किए गए ऑर्डर के लिए कोई अतिरिक्त भुगतान आता है, तो ऑर्डर नहीं बदलता। यदि यह जानबूझकर नहीं था, तो एक नोट आपसे उसे Razorpay Dashboard में रिफ़ंड करने को कहता है।
कैप्चर (Authorize Only)
“होल्ड पर” ऑर्डर खोलें, Order actions में Capture Razorpay payment चुनें और अपडेट बटन पर क्लिक करें। भुगतान उसी मोड में कैप्चर होता है जिसमें वह प्राधिकृत हुआ था, और ऑर्डर भुगतान किया हुआ हो जाता है। यदि Razorpay मना कर दे, तो ऑर्डर नोट में कारण के साथ Razorpay capture failed: दिखता है। Razorpay Dashboard में किया गया कैप्चर वेबहुक के ज़रिए ऑर्डर पूरा करता है।
रिफ़ंड
ऑर्डर खोलें, Refund पर क्लिक करें, राशि दर्ज करें और भुगतान तरीके के शीर्षक के बाद Refund via पर क्लिक करें। पूर्ण और आंशिक रिफ़ंड समर्थित हैं। रिफ़ंड उसी मोड की कुंजियों से भेजा जाता है जिसमें भुगतान किया गया था। यदि Razorpay रिफ़ंड स्वीकार नहीं करता, तो WooCommerce कारण के साथ Razorpay refund failed: दिखाता है, और कोई रिफ़ंड दर्ज नहीं होता। सफल रिफ़ंड Razorpay रिफ़ंड ID, राशि और स्टेटस के साथ ऑर्डर नोट्स में जुड़ जाता है।
Razorpay Dashboard में किए गए रिफ़ंड वेबहुक से आते हैं और ऑर्डर पर WooCommerce रिफ़ंड के रूप में दर्ज होते हैं, एक बार, और आइटम स्टॉक में वापस जोड़े बिना। किसी अन्य मुद्रा में या रिफ़ंड की जा सकने वाली राशि से अधिक Dashboard रिफ़ंड अपने-आप दर्ज नहीं होता; एक नोट आपसे उसे मैन्युअली दर्ज करने को कहता है।
लाइसेंस कुंजी
प्लगइन vibefox.net से मिली VibeFox लाइसेंस कुंजी के साथ काम करता है। लाइसेंस ब्लॉक WooCommerce > Settings > Payments > Razorpay के ऊपर है। कुंजी को License key में चिपकाएँ और Activate पर क्लिक करें। ब्लॉक स्टेटस दिखाता है, उदाहरण के लिए वह तारीख जिस तक लाइसेंस सक्रिय है, और आपका डोमेन। स्टेटस फिर से जाँचने के लिए Check now उपयोग करें, दूसरी कुंजी दर्ज करने के लिए Change key, और इस साइट से उसे हटाने के लिए Remove key। Manage licenses and domains in your account लिंक आपका vibefox.net खाता खोलता है।
एक कुंजी एक डोमेन पर काम करती है। किसी साइट से कुंजी हटाने पर डोमेन स्लॉट खाली नहीं होता। अपने vibefox.net खाते में स्लॉट खाली करें।
सक्रिय कुंजी के बिना चेकआउट पर Razorpay ग्राहकों को नहीं दिखता। यदि फिर भी भुगतान शुरू हो जाए, तो ग्राहक को This payment method is not available. Please choose another one. दिखता है। लॉग-इन स्टोर मैनेजरों को भुगतान तरीका (unlicensed — visible to admins only) चिह्न के साथ दिखता रहता है, ताकि आप कुंजी खरीदने से पहले प्लगइन सेट अप और टेस्ट कर सकें। Plugins पेज और WooCommerce पेजों पर एक याद दिलाने वाला संदेश दिखता है। मौजूदा ऑर्डर प्रभावित नहीं होते: जो भुगतान शुरू हो चुके हैं वे अब भी पक्के होते हैं, और रिफ़ंड काम करते हैं।
लाइसेंस समाप्त होने पर प्लगइन काम करता रहता है, लेकिन अपडेट और सहायता के लिए नवीनीकरण चाहिए। स्टेटस पृष्ठभूमि में अपने-आप फिर से जाँचा जाता है।
समस्या निवारण
चेकआउट पर Razorpay दिखाई नहीं देता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, और वर्तमान मोड में दोनों कुंजियाँ हैं: टेस्ट मोड में Test Key ID और Test Key Secret, लाइव मोड में Live Key ID और Live Key Secret। कुंजियाँ गायब होने पर सेटिंग पेज एक सूचना दिखाता है।
भुगतान हो गया, लेकिन ऑर्डर Pending payment पर रहता है: वेबहुक काम नहीं कर रहा है। Razorpay Dashboard में जाँचें कि जिस मोड (Test या Live) का आप उपयोग करते हैं, उसमें वेबहुक मौजूद है, उसका URL सेटिंग में दिखाए गए URL से बिल्कुल मेल खाता है, और पाँचों इवेंट चुने गए हैं। जाँचें कि Webhook Secret, Razorpay के सीक्रेट जैसा ही है। जब ग्राहक ऑर्डर भुगतान पेज दोबारा खोलता है, तब भी ऑर्डर की पुष्टि हो जाती है।
वेबहुक का उत्तर Webhook secret not configured है: Webhook Secret खाली है। Razorpay वेबहुक का सीक्रेट दर्ज करें। Razorpay बाद में इवेंट फिर से भेजेगा।
वेबहुक का उत्तर Invalid signature या Missing signature है: सेटिंग का सीक्रेट Razorpay वेबहुक के सीक्रेट से अलग है। दोनों जगह एक ही सीक्रेट दर्ज करें।
वेबहुक का उत्तर Retry later है: प्लगइन Razorpay API से कैप्चर की पुष्टि नहीं कर सका, या उसी समय कोई दूसरा अनुरोध ऑर्डर अपडेट कर रहा था। Razorpay इवेंट अपने-आप फिर से भेजेगा।
कोई ऑर्डर On hold है: ऑर्डर नोट पढ़ें। भुगतान केवल प्राधिकृत हुआ है (Capture Razorpay payment का उपयोग करें), राशि या मुद्रा ऑर्डर से मेल नहीं खाती, रद्द किए गए ऑर्डर के लिए भुगतान आया, या उस समय Razorpay API से उसकी पुष्टि नहीं हो सकी और वह वेबहुक की प्रतीक्षा में है।
भुगतान करते समय ग्राहक को त्रुटि दिखती है: ऑर्डर नोट्स खोलें, या WooCommerce > Status > Logs देखें, स्रोत wcp_razorpay_payment। Enable Logging बंद होने पर भी त्रुटियाँ दर्ज होती हैं। गलत कुंजियों पर संदेश दिखता है कि भुगतान तरीका अभी उपलब्ध नहीं है। Razorpay के अन्य कारण Razorpay could not accept this payment: के बाद दिखाए जाते हैं।
पॉपअप नहीं खुलता: Razorpay Checkout स्क्रिप्ट किसी कंटेंट ब्लॉकर या कनेक्शन द्वारा अवरुद्ध हुई है। ग्राहक को एक संदेश दिखता है और वह पेज दोबारा लोड कर सकता है।
रिफ़ंड विफल होता है: रिफ़ंड उसी मोड की कुंजियों का उपयोग करता है जिसमें भुगतान हुआ था। जाँचें कि उस मोड की कुंजियाँ दर्ज हैं, और त्रुटि संदेश में कारण पढ़ें।
लाइसेंस ब्लॉक में त्रुटि दिखती है: ब्लॉक के संदेश का पालन करें। उदाहरण के लिए, यदि कुंजी किसी दूसरे डोमेन पर पहले से उपयोग में है, तो अपने vibefox.net खाते में एक स्लॉट खाली करें और Check now पर क्लिक करें। यदि साइट का पता बदल गया है, तो नए डोमेन के लिए कुंजी सक्रिय करने हेतु Check now पर क्लिक करें। यदि लाइसेंस सर्वर तक नहीं पहुँचा जा सकता, तो प्लगइन अंतिम ज्ञात स्टेटस के साथ काम करता रहता है।
अनइंस्टॉल
प्लगइन को निष्क्रिय करने पर सारा डेटा रहता है। इसे हटाने के लिए Plugins पेज पर इसे निष्क्रिय करके डिलीट करें। इस प्लगइन की लाइसेंस कुंजी और लाइसेंस स्टेटस हमेशा हटा दिए जाते हैं। गेटवे सेटिंग और लॉग (लॉग फ़ाइलें, जिनमें रोटेट की गई फ़ाइलें भी शामिल हैं, और डेटाबेस में लॉग प्रविष्टियाँ) केवल तभी हटाए जाते हैं जब Delete Data on Uninstall चालू था। अन्यथा वे बाद में दोबारा इंस्टॉल करने के लिए रहते हैं। ऑर्डर और उनका Razorpay डेटा कभी नहीं हटाया जाता। मौजूदा ऑर्डर अपने भुगतान नोट्स और ट्रांज़ैक्शन ID रखते हैं।
Razorpay अपने संबंधित स्वामी का ट्रेडमार्क है। यह प्लगइन Razorpay से संबद्ध नहीं है और उसके द्वारा समर्थित नहीं है।
