VibeFox Cashfree for OpenCart — सहायता
आवश्यकताएँ
OpenCart: 3.0.x (3.0.5.0 पर परीक्षण किया गया) या 4.0.2 और उसके बाद का संस्करण (4.1.0.3 पर परीक्षण किया गया)।
PHP: 8.0 या उसके बाद का संस्करण।
HTTPS: Cashfree वेबहुक केवल https:// पतों पर भेजता है। HTTPS के बिना भी भुगतान तब पुष्ट हो जाते हैं जब ग्राहक स्टोर पर लौटता है, लेकिन लाइव होने से पहले HTTPS सक्षम करें।
Cashfree खाता: आपको अपने Cashfree खाते का App ID और Secret Key चाहिए, जो टेस्ट (सैंडबॉक्स) और प्रोडक्शन वातावरण के लिए अलग-अलग हैं, और Cashfree Merchant Dashboard में एक वेबहुक (देखें कॉन्फ़िगरेशन)। Secret Key वेबहुक सत्यापित करने के लिए भी उपयोग होती है, इसलिए वेबहुक के लिए अलग सीक्रेट नहीं है। ऑर्डर की मुद्रा आपके Cashfree खाते में सक्षम होनी चाहिए।
VibeFox लाइसेंस कुंजी: vibefox.net पर खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।
इंस्टॉलेशन
डाउनलोड एक zip फ़ाइल है, जिसमें दोनों OpenCart संस्करणों के पैकेज हैं। इसे अपने कंप्यूटर पर अनज़िप करें। इसमें README.txt, OpenCart 3 का पैकेज wcp_cashfree_payment-oc3-(संस्करण).ocmod.zip और OpenCart 4 का पैकेज wcp_cashfree_payment.ocmod.zip है। केवल अपने OpenCart संस्करण का पैकेज इंस्टॉल करें। लाइसेंस कुंजी दोनों संस्करणों के लिए एक ही है।
OpenCart 3
1. एडमिन में Extensions > Installer पर जाएँ, Upload पर क्लिक करें और फ़ाइल wcp_cashfree_payment-oc3-(संस्करण).ocmod.zip चुनें। इस एक्सटेंशन में कोई OCMOD संशोधन नहीं है, इसलिए Extensions > Modifications को रीफ़्रेश करने की आवश्यकता नहीं है। इंस्टॉलर के बजाय आप इस पैकेज के upload फ़ोल्डर की सामग्री को अपने स्टोर के रूट फ़ोल्डर में भी कॉपी कर सकते हैं।
2. Extensions > Extensions पर जाएँ और प्रकार Payments चुनें। VibeFox Cashfree Payments ढूँढें और Install (हरा + बटन) पर क्लिक करें। आपके एडमिन उपयोगकर्ता के पास भुगतान एक्सटेंशन की सूची बदलने का अधिकार होना चाहिए।
3. सेटिंग्स पेज खोलने के लिए Edit (पेंसिल बटन) पर क्लिक करें। पेज के शीर्ष पर लाइसेंस ब्लॉक में License key के भीतर अपनी VibeFox लाइसेंस कुंजी चिपकाएँ और Activate पर क्लिक करें (देखें लाइसेंस कुंजी)।
4. Sandbox App ID और Sandbox Secret Key दर्ज करें, Cashfree Merchant Dashboard में वेबहुक जोड़ें (देखें कॉन्फ़िगरेशन), Enable/Disable चालू करें, Save पर क्लिक करें और एक भुगतान का परीक्षण करें।
5. तैयार होने पर लाइव App ID और Secret Key दर्ज करें, Sandbox Mode बंद करें और Save पर क्लिक करें।
OpenCart 4
1. एडमिन में Extensions > Installer पर जाएँ, Upload पर क्लिक करें और फ़ाइल wcp_cashfree_payment.ocmod.zip चुनें। फ़ाइल का नाम न बदलें: OpenCart 4 एक्सटेंशन कोड फ़ाइल के नाम से लेता है, और नाम बदला हुआ पैकेज काम नहीं करता।
2. पैकेज उसी पेज पर इंस्टॉल किए गए एक्सटेंशन की सूची में दिखाई देता है। उसके आगे Install (हरा + बटन) पर क्लिक करें।
3. Extensions > Extensions पर जाएँ और प्रकार Payments चुनें। VibeFox Cashfree Payments ढूँढें, Install (हरा + बटन) पर क्लिक करें, फिर Edit (पेंसिल बटन) पर क्लिक करें।
4. लाइसेंस कुंजी, Cashfree कुंजियाँ और वेबहुक वैसे ही दर्ज करें जैसे OpenCart 3 के चरण 3 से 5 में है। सेटिंग्स पेज और उसके फ़ील्ड दोनों संस्करणों में एक जैसे हैं। केवल वेबहुक URL अलग है (देखें वेबहुक)।
नई इंस्टॉलेशन भुगतान विधि बंद और सैंडबॉक्स मोड चालू के साथ शुरू होती है।
कॉन्फ़िगरेशन
सभी सेटिंग्स एक्सटेंशन पेज पर हैं: Extensions > Extensions > Payments > VibeFox Cashfree Payments > Edit। अनुभाग बाईं ओर सूचीबद्ध हैं; सूची के नीचे का Save बटन पूरे पेज को सहेजता है। सेटिंग्स के ऊपर पेज बताता है कि ऑर्डर को स्थिति तभी मिलती है जब Cashfree भुगतान की पुष्टि करे। जब भुगतान विधि सक्षम हो, तो चयनित मोड की API कुंजियाँ गायब होने पर पेज चेतावनी देता है (तब भुगतान विधि चेकआउट में छिपी रहती है), और सैंडबॉक्स मोड चालू होने पर Sandbox mode is on: customers see a test checkout and no real money is charged. दिखाता है। एक्सटेंशन बदलने का अधिकार न होने पर पेज सेटिंग्स दिखाता है, लेकिन उन्हें सहेज नहीं सकता।
सहेजते समय Title खाली नहीं हो सकता (अधिकतम 128 अक्षर), API Version सूचीबद्ध संस्करणों में से एक होना चाहिए, Sort Order पूर्ण संख्या होनी चाहिए, Total 0 या उससे अधिक की संख्या होनी चाहिए, और जियो ज़ोन व ऑर्डर स्थितियाँ मौजूद होनी चाहिए; अन्यथा कुछ भी सहेजा नहीं जाता। चयनित मोड की कुंजियों के बिना सक्षम भुगतान विधि सहेजने पर, सेटिंग्स इस चेतावनी के साथ सहेजी जाती हैं कि जब तक कुंजियाँ दर्ज नहीं होतीं, तब तक वह चेकआउट में छिपी रहेगी।
Cashfree Payments
Enable/Disable: Enable Cashfree Payments भुगतान विधि को चालू या बंद करता है। डिफ़ॉल्ट: बंद।
Title: वह भुगतान विधि का नाम जो ग्राहक चेकआउट में देखते हैं। ऑर्डर में भी यही भुगतान विधि का नाम सहेजा जाता है। डिफ़ॉल्ट: Cashfree Payments। आवश्यक।
Description: वह पाठ जो ग्राहक को Confirm Order चरण में, पुष्टि बटन के ऊपर दिखता है। डिफ़ॉल्ट: Pay securely via Card, UPI, Net Banking, Wallet via Cashfree.
Sort Order: चेकआउट में भुगतान विधियों के बीच Cashfree की स्थिति। इसे खाली छोड़ें या एक पूर्ण संख्या दर्ज करें।
Geo Zone: Cashfree केवल चुने गए जियो ज़ोन के भुगतान पतों के लिए दें। डिफ़ॉल्ट: All zones। जियो ज़ोन System > Localisation > Geo Zones में सेट किए जाते हैं।
Total: चेकआउट की वह राशि, स्टोर की डिफ़ॉल्ट मुद्रा में, जिस तक पहुँचने पर ही Cashfree दिया जाता है। किसी भी राशि पर Cashfree देने के लिए इसे खाली छोड़ें। मुद्रा की Cashfree न्यूनतम राशि (1 इकाई; तीन दशमलव वाली मुद्राओं के लिए 0.01 या 0.1) से कम राशियाँ कभी नहीं दी जातीं।
मोड और API कुंजियाँ
अपना App ID और Secret Key Cashfree Merchant Dashboard में Developers > API Keys के अंतर्गत प्राप्त करें (पेज वहीं के लिंक देता है)। टेस्ट और प्रोडक्शन कुंजियाँ अलग होती हैं।
Sandbox Mode: परीक्षण के लिए Cashfree सैंडबॉक्स का उपयोग करता है। कोई वास्तविक धनराशि नहीं काटी जाती, और Confirm Order चरण व भुगतान पेज पर SANDBOX MODE - no real payments will be processed. दिखता है। डिफ़ॉल्ट: चालू। वास्तविक भुगतानों के लिए इसे बंद करें।
Sandbox App ID: आपके Cashfree टेस्ट वातावरण का App ID।
Sandbox Secret Key: आपके Cashfree टेस्ट वातावरण का Secret Key।
App ID: आपके Cashfree प्रोडक्शन वातावरण का App ID।
Secret Key: आपके Cashfree प्रोडक्शन वातावरण का Secret Key।
सहेजे गए Secret Key फिर कभी नहीं दिखते। फ़ील्ड खाली रहता है और सहेजा गया — रखने के लिए खाली छोड़ें। दिखाता है। केवल बदलने के लिए नया मान दर्ज करें। सहेजी गई कुंजी हटाने के लिए फ़ील्ड के नीचे Clear the saved value on save को चिह्नित करें और Save पर क्लिक करें।
भुगतान उस वातावरण को बनाए रखते हैं जिसमें वे बनाए गए थे। उनके वेबहुक सत्यापित होते हैं, उनकी स्थिति जाँची जाती है और उनके रिफ़ंड उसी वातावरण की कुंजियों से भेजे जाते हैं, इसलिए लाइव पर स्विच करने के बाद सैंडबॉक्स भुगतान निपटने तक सैंडबॉक्स कुंजियाँ भरी रखें।
वेबहुक
वेबहुक आपके स्टोर को बताता है कि कोई भुगतान हुआ, विफल हुआ या रिफ़ंड हुआ। Cashfree Merchant Dashboard में Developers > Webhooks पर जाएँ और इस अनुभाग में Webhook URL पर दिखाया गया URL, Payment और Refund इवेंट्स के साथ, जोड़ें। OpenCart 3 पर यह https://your-store/index.php?route=extension/payment/wcp_cashfree_payment/webhook जैसा दिखता है, और OpenCart 4 पर https://your-store/index.php?route=extension/wcp_cashfree_payment/payment/wcp_cashfree_payment.webhook जैसा। यह आपकी OpenCart इंस्टॉलेशन के storefront पते से बनता है। URL को ठीक वैसे ही कॉपी करें जैसा सेटिंग्स दिखाती हैं। HTTPS वाले स्टोर पर एक्सटेंशन हर भुगतान के साथ यह URL Cashfree को भी भेजता है। यदि आपका स्टोर HTTPS का उपयोग नहीं करता, तो यह अनुभाग चेतावनी दिखाता है।
एक्सटेंशन ये इवेंट संभालता है (ये इस अनुभाग में भी सूचीबद्ध हैं):
Cashfree हर वेबहुक पर आपकी Secret Key से हस्ताक्षर करता है। मान्य हस्ताक्षर के बिना वेबहुक अस्वीकार किए जाते हैं। वेबहुक पर उसी वातावरण की Secret Key से हस्ताक्षर होना चाहिए जिसमें भुगतान हुआ था, इसलिए सैंडबॉक्स कुंजी कभी लाइव भुगतान की पुष्टि नहीं करती। ऐसे भुगतानों के हस्ताक्षरित वेबहुक जो इस स्टोर ने शुरू नहीं किए (जैसे उसी Cashfree खाते पर कोई दूसरा स्टोर), स्वीकार किए जाते हैं और अनदेखे कर दिए जाते हैं। वेबहुक के बिना, ऑर्डर की पुष्टि तभी होती है जब ग्राहक भुगतान के बाद स्टोर पर लौटता है। यदि ग्राहक भुगतान के बाद ब्राउज़र बंद कर दे, तो ऑर्डर की पुष्टि केवल वेबहुक (या उसी कार्ट के लिए अगला भुगतान प्रयास) कर सकता है।
ऑर्डर
OpenCart Confirm Order चरण में बिना स्थिति वाला ऑर्डर (एक लापता ऑर्डर) बनाता है। ऑर्डर को स्थिति तभी मिलती है जब Cashfree भुगतान की पुष्टि कर दे। विफल या छोड़ा गया भुगतान ऑर्डर को बिना स्थिति के छोड़ देता है, और कार्ट सुरक्षित रहता है। नीचे के हर फ़ील्ड में आपकी OpenCart ऑर्डर स्थितियाँ सूचीबद्ध हैं।
Order Status After Payment: भुगतान की पुष्टि होने और राशि व मुद्रा मेल खाने के बाद सेट होने वाली स्थिति। डिफ़ॉल्ट: प्रक्रिया में।
On Hold (Review) Status: Cashfree ने ऑर्डर कुल से भिन्न भुगतान की गई राशि या मुद्रा की सूचना दी। एक नोट अपेक्षित और प्राप्त राशि दिखाता है। डिफ़ॉल्ट: लंबित, क्योंकि OpenCart में रोका गया स्टेटस नहीं है। आप System > Localisation > Order Statuses में अपनी स्थिति बना सकते हैं और यहाँ चुन सकते हैं।
Refunded Status: ऑर्डर पेज से भुगतान पूरी तरह रिफ़ंड होने के बाद सेट होती है। डिफ़ॉल्ट: वापस किया गया।
उन्नत
API Version: उपयोग करने के लिए Cashfree API संस्करण।
Order ID prefix: Cashfree ऑर्डर ID, प्रीफ़िक्स + OpenCart ऑर्डर ID से बनते हैं; एक ही ऑर्डर के नए प्रयास को अंत में एक संख्या मिलती है (उदाहरण के लिए 123-2)। फ़ील्ड के विवरण में दिखाए गए इस स्टोर के स्वचालित प्रीफ़िक्स का उपयोग करने के लिए इसे खाली छोड़ें (OC, स्टोर पते से निकले चार अक्षर और एक हाइफ़न)। उसी Cashfree खाते से जुड़े हर स्टोर के लिए अलग प्रीफ़िक्स उपयोग करें। केवल अक्षर, अंक, “_” और “-”, अधिकतम 20 अक्षर। अन्य अक्षर सहेजते समय चेतावनी के साथ हटा दिए जाते हैं।
Debug log: त्रुटियाँ हमेशा दर्ज होती हैं। चालू होने पर, Cashfree API कॉल और वेबहुक भी OpenCart लॉग फ़ोल्डर (storage/logs) की cashfree_p_debug.log.php फ़ाइल में लिखे जाते हैं। यह फ़ाइल वेब से नहीं खोली जा सकती, और 5 MB पर इसे घुमा दिया जाता है। कुंजियाँ और ग्राहक का डेटा कभी लॉग नहीं होता। डिफ़ॉल्ट: बंद।
Log: लॉग का आकार और नवीनतम प्रविष्टियाँ दिखाता है। उसे खाली करने के लिए Clear log पर क्लिक करें।
Delete Data on Uninstall: चालू होने पर एक्सटेंशन हटाने से Cashfree सेटिंग्स और एक्सटेंशन लॉग हट जाते हैं। ऑर्डर और उनके Cashfree लेन-देन व रिफ़ंड हमेशा रखे जाते हैं। डिफ़ॉल्ट: बंद।
इंपोर्ट / एक्सपोर्ट
Export: Download JSON सेटिंग्स को JSON फ़ाइल के रूप में सहेजता है। Secret Key एक्सपोर्ट नहीं किए जाते।
Import: पहले एक्सपोर्ट किया गया JSON चिपकाएँ और सेटिंग्स बहाल करने के लिए Import पर क्लिक करें। सहेजे गए Secret Key बने रहते हैं।
चेकआउट
Payment Method चरण में ग्राहक भुगतान विधि चुनता है (डिफ़ॉल्ट रूप से Cashfree Payments)। Confirm Order चरण में ग्राहक को आपका विवरण और यह सूचना दिखती है: कार्ड, UPI, नेट बैंकिंग, वॉलेट से सुरक्षित भुगतान के लिए आपको Cashfree चेकआउट पर भेजा जाएगा। OpenCart इसी चरण में ऑर्डर बनाता है, अभी भी बिना स्थिति के। जब ग्राहक Confirm Order पर क्लिक करता है, तो एक्सटेंशन ऑर्डर मुद्रा में ऑर्डर कुल के लिए एक Cashfree ऑर्डर बनाता है और Cashfree payment पेज खोलता है, जो भुगतान के लिए Cashfree पर रीडायरेक्ट किया जा रहा है... दिखाता है और Cashfree चेकआउट लोड करता है। यदि यह अपने-आप न खुले, तो ग्राहक Pay Now पर क्लिक कर सकता है। Cashfree चेकआउट पर ग्राहक आपके Cashfree खाते में सक्षम किसी भी तरीके से भुगतान करता है, जैसे कार्ड, UPI, नेट बैंकिंग या वॉलेट। ग्राहक का ईमेल और फ़ोन नंबर Cashfree को भेजे जाते हैं। OpenCart 4 पर ग्राहक भुगतान विधि ब्लॉक के Choose बटन से, Payment method options विंडो में भुगतान विधि चुनता है, और चेकआउट पेज के नीचे Confirm Order पर क्लिक करता है। OpenCart 4 डिफ़ॉल्ट रूप से फ़ोन नंबर नहीं माँगता: यदि ऑर्डर में कोई नंबर नहीं है, तो पुष्टि ब्लॉक एक वैकल्पिक Phone फ़ील्ड दिखाता है (वैकल्पिक: भुगतानकर्ता का फ़ोन नंबर Cashfree के लिए (UPI, OTP)।)। गलत प्रारूप पर कृपया मान्य फ़ोन नंबर दर्ज करें (10 अंक, या + और देश कोड) या फ़ील्ड खाली छोड़ें। दिखता है। नंबर अगले प्रयास के लिए याद रखा जाता है।
भुगतान के बाद ग्राहक आपके स्टोर पर लौट आता है। ऑर्डर को तभी भुगतान किया हुआ चिह्नित किया जाता है जब Cashfree उसकी पुष्टि कर दे: हस्ताक्षरित वेबहुक से, या ग्राहक के लौटने पर Cashfree को भेजे गए सर्वर-साइड अनुरोध से। इसके बाद ऑर्डर को OpenCart के सामान्य तरीके से स्थिति मिलती है, सामान्य ऑर्डर ईमेल और स्टॉक अपडेट के साथ, और ग्राहक को OpenCart का ऑर्डर सफलता पेज दिखता है। वापसी किसी दूसरे ब्राउज़र में भी काम करती है, जैसे जब ग्राहक किसी UPI ऐप से लौटता है। यदि बैंक ने अभी तक भुगतान की पुष्टि नहीं की है, तो एक Payment confirmation पेज दिखाता है: Your payment is being processed by the bank. We will update the order as soon as Cashfree confirms it — please do not pay again. और एक Check again बटन; बैंक के पुष्टि करते ही वेबहुक ऑर्डर स्थिति सेट कर देता है। OpenCart 4 पर Cashfree जब ग्राहक को वापस भेजता है, तो ब्राउज़र स्टोर सेशन नहीं भेजता, इसलिए एक्सटेंशन पहले एक छोटा पेज दिखाता है, जो आपके स्टोर से वही वापसी पता फिर से खोलता है: ग्राहक का कार्ट और लॉगिन बना रहता है।
यदि भुगतान विफल होता है या ग्राहक बिना भुगतान किए Cashfree पेज छोड़ देता है, तो ग्राहक Cashfree भुगतान पूरा नहीं हुआ। कृपया फिर से प्रयास करें या कोई दूसरी भुगतान विधि चुनें। के साथ चेकआउट पर लौट आता है। OpenCart 4 पर चेकआउट संदेश चेकआउट पेज के ऊपर दिखाए जाते हैं। ऑर्डर बिना स्थिति के रहता है और कार्ट सुरक्षित रहता है। OpenCart 3 हर बार Confirm Order चरण दिखने पर नया ऑर्डर बनाता है; OpenCart 4 चेकआउट के लिए एक ही ऑर्डर रखता है और उसे अपडेट करता है, इसलिए ग्राहक उसी ऑर्डर का फिर से भुगतान करता है। उसी ऑर्डर का खुला Cashfree भुगतान तब दोबारा उपयोग होता है जब राशि नहीं बदली है और पाँच मिनट से अधिक समय बचा है; अन्यथा पुराना Cashfree ऑर्डर बंद कर दिया जाता है और नया बनाया जाता है। उसी कार्ट के पिछले ऑर्डरों के खुले Cashfree भुगतान भी बंद कर दिए जाते हैं, ताकि कार्ट दो बार भुगतान न किया जा सके। यदि कार्ट का Cashfree पर भुगतान हो चुका था पर दर्ज नहीं हुआ, तो अगला प्रयास दोबारा चार्ज करने के बजाय वह भुगतान पुष्ट करता है। किसी दूसरे ऑर्डर से पहले ही भुगतान किए गए कार्ट पर फिर से शुल्क नहीं लगता: ग्राहक सफलता पेज पर जाता है। यदि वही कार्ट फिर भी दो बार भुगतान हो जाए (जैसे दो ब्राउज़र टैब में एक साथ), तो दूसरा ऑर्डर बिना स्थिति के रहता है और भुगतान किए गए ऑर्डर पर एक नोट लगता है कि ग्राहक से दो बार शुल्क लिया गया हो सकता है, ताकि आप उसे Cashfree डैशबोर्ड में रिफ़ंड कर सकें।
OpenCart 4 सफलता पेज दिखने तक ऑर्डर को चेकआउट में रखता है। यदि वह ऑर्डर इस बीच बंद हो गया (उदाहरण के लिए रद्द कर दिया गया) और Cashfree के पास उसके लिए कोई धनराशि नहीं है, तो ग्राहक Cashfree भुगतान पूरा नहीं हुआ। कृपया फिर से प्रयास करें या कोई दूसरी भुगतान विधि चुनें। के साथ चेकआउट पर वापस भेजा जाता है, और अगला Confirm Order कार्ट के लिए एक नया ऑर्डर भुगतान करता है। यदि ऑर्डर की पहले से कोई स्थिति है और उसके बाद कार्ट बदल गया है (अन्य उत्पाद या मात्रा), तो ग्राहक आपका पिछला ऑर्डर पहले ही दिया जा चुका है। कृपया ऑर्डर फिर से पुष्ट करें: वर्तमान कार्ट एक नए ऑर्डर से भुगतान किया जाएगा। के साथ चेकआउट पर वापस भेजा जाता है।
यदि Cashfree भुगतान शुरू नहीं कर पाता, तो ग्राहक Confirm Order चरण पर ही रहता है, और बटन के ऊपर Cashfree भुगतान शुरू नहीं किया जा सका। कृपया फिर से प्रयास करें या कोई दूसरी भुगतान विधि चुनें। दिखता है। तकनीकी कारण लॉग में लिखा जाता है। Cashfree की न्यूनतम राशि (मुद्रा की 1 इकाई; KWD जैसी तीन दशमलव वाली मुद्राओं के लिए 0.01 और TND के लिए 0.1) से कम ऑर्डर कुल का भुगतान Cashfree से नहीं हो सकता, और उस ऑर्डर के लिए भुगतान विधि नहीं दिखाई जाती।
वेबहुक तब भी काम करता है जब स्टोर रखरखाव मोड में हो: OpenCart 3 भुगतान एक्सटेंशन के अनुरोधों को आगे जाने देता है, और OpenCart 4 पर एक्सटेंशन एक स्टार्टअप एक्शन जोड़ता है, जो वेबहुक और ग्राहक की वापसी को आगे जाने देता है।
यह एक्सटेंशन केवल Cashfree चेकआउट पर एकल भुगतान लेता है। इसमें सेव किए गए कार्ड, सब्सक्रिप्शन या आवर्ती भुगतान नहीं हैं, अलग ऑथराइज़ और कैप्चर नहीं है, Cashfree ऑफ़र विजेट नहीं है, Cashfree के ज़रिए कैश ऑन डिलीवरी या भुगतान लिंक नहीं हैं, और मुद्रा परिवर्तन नहीं है: ऑर्डर ऑर्डर की मुद्रा में चार्ज होता है।
ऑर्डर और रिफ़ंड
ऑर्डर स्थितियाँ
कोई स्थिति नहीं (लापता ऑर्डर): ग्राहक को Cashfree पर भेजा गया और उसने भुगतान नहीं किया, भुगतान विफल हुआ, या भुगतान अभी बैंक में लंबित है। Sales > Orders में ऐसे ऑर्डर केवल तभी दिखते हैं जब Order Status फ़िल्टर Missing Orders पर सेट हो।
Order Status After Payment (डिफ़ॉल्ट प्रक्रिया में): भुगतान की पुष्टि हो गई। एक नोट Cashfree लेन-देन ID और भुगतान विधि समूह (जैसे upi या credit_card) दिखाता है।
On Hold (Review) Status (डिफ़ॉल्ट लंबित): Cashfree ने ऑर्डर कुल से भिन्न भुगतान की गई राशि या मुद्रा की सूचना दी। नोट अपेक्षित और प्राप्त राशि तथा लेन-देन ID दिखाता है। Cashfree डैशबोर्ड में भुगतान की जाँच करें, फिर ऑर्डर पूरा करें या भुगतान रिफ़ंड करें।
Refunded Status (डिफ़ॉल्ट वापस किया गया): भुगतान एक्सटेंशन के ज़रिए पूरी तरह रिफ़ंड किया गया।
यदि आपने प्रतीक्षारत ऑर्डर को हाथ से कोई स्थिति (जैसे Canceled) दे दी और उसके बाद भुगतान आता है, तो भी वह भुगतान दर्ज होता है, और ऑर्डर भुगतान किया हुआ हो जाता है, क्योंकि पैसा ले लिया गया है; OpenCart इस बदलाव की सूचना ग्राहक को देता है। भुगतान किया हुआ ऑर्डर बाद की विफल भुगतान से कभी पीछे नहीं जाता, और पहले से भुगतान किए गए ऑर्डर पर दूसरा भुगतान उसे नहीं बदलता।
नोट ऑर्डर के History की वे प्रविष्टियाँ हैं जो ग्राहक को दिखाई नहीं देतीं।
VibeFox Cashfree Payments टैब
Sales > Orders में Cashfree से भुगतान किया गया ऑर्डर खोलें। ऑर्डर पेज के नीचे, History और Additional के बगल में, VibeFox Cashfree Payments टैब सैंडबॉक्स भुगतानों के लिए Sandbox लेबल के साथ Transaction ID, Cashfree order, भुगतान की Status, Paid / refunded राशियाँ, रिफ़ंड फ़ॉर्म, हर रिफ़ंड की स्थिति वाला रिफ़ंड इतिहास और ऑर्डर के Cashfree notes दिखाता है। यह टैब उन उपयोगकर्ताओं को दिखता है जिनके पास इस एक्सटेंशन तक पहुँच है।
रिफ़ंड
टैब में Amount दर्ज करें (जो राशि अभी तक रिफ़ंड नहीं हुई है वह अपने-आप भर जाती है), वैकल्पिक रूप से Reason (optional), और Refund via Cashfree पर क्लिक करें। Refund this amount through Cashfree? This cannot be undone. प्रश्न की पुष्टि करें। पूर्ण और आंशिक रिफ़ंड समर्थित हैं। आपको एक्सटेंशन बदलने का अधिकार चाहिए (System > Users > User Groups में सेट)। रिफ़ंड उसी राशि और मुद्रा में होते हैं जो Cashfree ने चार्ज की थी, इसलिए राशि में अंतर होने पर आप ऑर्डर कुल तक नहीं, बल्कि ग्राहक ने वास्तव में जितना भुगतान किया उतनी राशि तक रिफ़ंड कर सकते हैं। रिफ़ंड भुगतान किए गए Cashfree ऑर्डर पर, उसी वातावरण (सैंडबॉक्स या लाइव) में भेजा जाता है जिसमें भुगतान हुआ था, इसलिए उस वातावरण की कुंजियाँ दर्ज होनी चाहिए। यदि Cashfree रिफ़ंड स्वीकार नहीं करता, या उसे रद्द या अस्वीकृत बताता है, तो टैब त्रुटि दिखाता है और कोई रिफ़ंड दर्ज नहीं होता। शुरू हुआ रिफ़ंड अपने रिफ़ंड ID, राशि और स्थिति के साथ रिफ़ंड इतिहास और नोट्स में जुड़ जाता है। पूर्ण रिफ़ंड ग्राहक को सूचित किए बिना और उत्पादों को स्टॉक में वापस किए बिना, मैन्युअल स्थिति परिवर्तन की तरह ऑर्डर को Refunded Status पर सेट करता है। आंशिक रिफ़ंड स्थिति नहीं बदलता। रिफ़ंड तब उपलब्ध होते हैं जब Cashfree भुगतान की पुष्टि कर चुका हो।
अंतिम रिफ़ंड स्थिति रिफ़ंड वेबहुक से आती है और नोट्स में जोड़ी जाती है। Sales > Returns में उत्पाद वापसी Cashfree के ज़रिए पैसा वापस नहीं भेजती।
लाइसेंस कुंजी
यह एक्सटेंशन vibefox.net से प्राप्त VibeFox लाइसेंस कुंजी के साथ काम करता है। License — VibeFox Cashfree Payments लाइसेंस ब्लॉक Extensions > Extensions > Payments > VibeFox Cashfree Payments > Edit पर पहला ब्लॉक है, सेटिंग्स के ऊपर। कुंजी को License key में चिपकाएँ और Activate पर क्लिक करें। उसके बाद ब्लॉक कुंजी को मास्क करके दिखाता है, स्थिति (जैसे वह तिथि जिस तक लाइसेंस सक्रिय है और आपका डोमेन), और ये बटन: स्थिति फिर से जाँचने के लिए Check now, दूसरी कुंजी दर्ज करने के लिए Change key, और इस स्टोर से कुंजी हटाने के लिए Remove key। इनके नीचे Product: opencart-payment-cashfree वाली पंक्ति और आपके vibefox.net खाते को खोलने वाला लिंक Manage licenses and domains in your account है। केवल उन एडमिन उपयोगकर्ताओं को कुंजी बदलने की अनुमति है जिनके पास इस एक्सटेंशन के लिए Modify अधिकार है। ब्लॉक के पाठ एडमिन भाषा का अनुसरण करते हैं (अंग्रेज़ी और रूसी शामिल हैं)।
यदि कुंजी स्वीकार नहीं होती, तो ब्लॉक कारण बताता है, जैसे Key not found, This key belongs to another product, Domain limit reached या तिथि सहित License expired on। स्टोर का पता बदलने के बाद, या अपने खाते में डोमेन स्लॉट खाली करने के बाद, Check now पर क्लिक करें। यदि लाइसेंस सर्वर तक नहीं पहुँचा जा सकता, तो एक्सटेंशन अंतिम ज्ञात स्थिति पर काम करता रहता है।
एक कुंजी एक डोमेन पर काम करती है: OpenCart कॉन्फ़िगरेशन का स्टोर पता। स्टोर से कुंजी हटाने से उसका डोमेन स्लॉट खाली नहीं होता। अपने vibefox.net खाते में स्लॉट खाली करें।
सक्रिय कुंजी के बिना Cashfree चेकआउट में ग्राहकों को नहीं दिखाया जाता। यदि फिर भी भुगतान शुरू होता है, तो ग्राहक को यह भुगतान विधि उपलब्ध नहीं है। कृपया कोई दूसरी चुनें। दिखता है। एडमिन में उसी ब्राउज़र से लॉग इन उपयोगकर्ता को स्टोर में भुगतान विधि अब भी दिखती है, जिस पर (अनलाइसेंस्ड — केवल एडमिन को दिखाई देती है) का चिह्न होता है, ताकि आप कुंजी खरीदने से पहले एक्सटेंशन सेट अप और टेस्ट कर सकें। OpenCart 4 पर यह पूर्वावलोकन उपलब्ध नहीं है: स्टोर को एडमिन लॉगिन दिखाई नहीं देता, इसलिए सक्रिय कुंजी के बिना भुगतान विधि सभी के लिए छिपी रहती है। Edit पेज एक बार खोलने के बाद, एडमिन Dashboard पर एक अनुस्मारक दिखता है। उसे × से बंद करें, तो वह 7 दिनों के लिए छिप जाता है। मौजूदा ऑर्डर प्रभावित नहीं होते: पहले से शुरू किए गए भुगतान अब भी पुष्ट होते हैं, और रिफ़ंड काम करते हैं।
जब कोई लाइसेंस समाप्त हो जाता है, तो एक्सटेंशन काम करता रहता है, लेकिन अपडेट और सहायता के लिए नवीनीकरण चाहिए। एडमिन Dashboard या Edit पेज खोलने पर स्थिति अपने-आप फिर से जाँची जाती है: कुंजी दर्ज होने के बाद पहले 14 दिनों में दिन में एक बार, उसके बाद सप्ताह में एक बार। cron जॉब की आवश्यकता नहीं है। एक्सटेंशन की अनइंस्टॉलेशन हमेशा लाइसेंस कुंजी और लाइसेंस स्थिति हटा देती है।
समस्या निवारण
Cashfree चेकआउट में दिखाई नहीं देता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है और वर्तमान मोड में कुंजियाँ मौजूद हैं: सैंडबॉक्स मोड में Sandbox App ID और Sandbox Secret Key, लाइव मोड में App ID और Secret Key। कुंजियाँ गायब होने पर सेटिंग्स पेज चेतावनी दिखाता है। ऑर्डर कुल Cashfree की न्यूनतम राशि से कम होने पर भी भुगतान विधि छिपी रहती है। यह भी जाँचें कि भुगतान पता चुने गए Geo Zone में है और ऑर्डर सेटिंग्स में दिए Total तक पहुँचता है।
भुगतान हो गया, लेकिन ऑर्डर बिना स्थिति के रहा: वेबहुक काम नहीं कर रहा है। जाँचें कि आपका स्टोर HTTPS का उपयोग करता है, Developers > Webhooks का URL Webhook URL में दिखाए गए URL से बिल्कुल मेल खाता है, और Payment इवेंट्स चुने गए हैं। जाँचें कि सेटिंग्स की Secret Key उसी वातावरण की है जिसमें भुगतान हुआ था। Cashfree डैशबोर्ड हर वेबहुक के लिए आपके स्टोर का उत्तर दिखाता है। भुगतान के बाद ग्राहक जब स्टोर पर लौटता है, और उसी कार्ट के अगले भुगतान प्रयास पर, ऑर्डर को भी स्थिति मिलती है।
वेबहुक Missing signature या Invalid signature से उत्तर देता है: कॉल में मान्य Cashfree हस्ताक्षर नहीं था, या सेटिंग्स की Secret Key उस वातावरण से मेल नहीं खाती जिसमें भुगतान हुआ था। जाँचें कि सैंडबॉक्स और लाइव कुंजियाँ आपस में बदली तो नहीं गईं।
वेबहुक Ignored से उत्तर देता है: वेबहुक सही तरह से हस्ताक्षरित है, लेकिन वह ऐसे भुगतान का है जो इस स्टोर ने शुरू नहीं किया, जैसे उसी Cashfree खाते पर कोई दूसरा स्टोर। हर स्टोर को अपना Order ID prefix दें।
वेबहुक Busy, retry later से उत्तर देता है: ऑर्डर उसी समय किसी दूसरे अनुरोध से पुष्ट हो रहा था, या ऑर्डर स्थिति सेट नहीं की जा सकी। Cashfree वेबहुक दोबारा भेजता है। कारण देखने के लिए Debug log चालू करें।
ग्राहक को “Cashfree भुगतान पेज लोड नहीं हो सका। कृपया फिर से प्रयास करें।” दिखता है: ब्राउज़र में Cashfree स्क्रिप्ट लोड नहीं हो सकी, उदाहरण के लिए किसी ब्लॉकर के कारण। ग्राहक Pay Now पर फिर से क्लिक कर सकता है या Choose another payment method चुन सकता है।
ग्राहक को “हम Cashfree भुगतान शुरू नहीं कर सके” दिखता है: एक्सटेंशन पेज पर Log फ़ील्ड देखें। आम कारण हैं चयनित मोड के लिए गलत कुंजियाँ, या ऐसी मुद्रा जो आपके Cashfree खाते में सक्षम नहीं है।
Confirm Order के बाद ग्राहक को “यह भुगतान विधि उपलब्ध नहीं है।” दिखता है: चेकआउट सत्र अब ऑर्डर से मेल नहीं खाता, या इस बीच भुगतान विधि बंद कर दी गई। ग्राहक चेकआउट को दोबारा लोड करता है।
ग्राहक को “भुगतान सत्र नहीं मिला। कृपया फिर से प्रयास करें।” दिखता है: भुगतान पेज का लिंक इस स्टोर के किसी भुगतान का नहीं है, या Cashfree सत्र समाप्त हो चुका है। ग्राहक ऑर्डर दोबारा पुष्ट करता है।
ग्राहक को “हम भुगतान की पुष्टि नहीं कर सके” दिखता है: वापसी का लिंक भुगतान से मेल नहीं खाया। यदि शुल्क लिया गया है, तो वेबहुक तब भी ऑर्डर की पुष्टि करता है। ग्राहक द्वारा फिर से भुगतान करने से पहले Cashfree डैशबोर्ड में भुगतान की जाँच करें।
भुगतान के बाद ऑर्डर समीक्षा स्थिति में है: VibeFox Cashfree Payments टैब के नोट्स (ऑर्डर स्थितियाँ देखें) पढ़ें, फिर ऑर्डर पूरा करें या भुगतान रिफ़ंड करें।
टैब में रिफ़ंड फ़ॉर्म नहीं है: टैब कारण बताता है: भुगतान अभी पुष्ट नहीं है, वह पूरी तरह रिफ़ंड हो चुका है, आपके उपयोगकर्ता समूह के पास एक्सटेंशन बदलने का अधिकार नहीं है, या भुगतान के वातावरण की API कुंजियाँ सेट नहीं हैं।
रिफ़ंड सैंडबॉक्स या लाइव मोड से संबंधित संदेश के साथ विफल होता है: भुगतान उस वातावरण में हुआ था, और उसकी API कुंजियाँ दर्ज नहीं हैं। उन्हें दर्ज करें और फिर से प्रयास करें।
अनइंस्टॉल
Extensions > Extensions पर जाएँ, प्रकार Payments चुनें और VibeFox Cashfree Payments के बगल में Uninstall (लाल − बटन) पर क्लिक करें। इस एक्सटेंशन की लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटा दी जाती है। OpenCart एक्सटेंशन की अपनी सेटिंग्स हमेशा हटा देता है: Enable/Disable, Sort Order, Geo Zone, Total और Orders अनुभाग की ऑर्डर स्थितियाँ, जो दोबारा इंस्टॉल करने पर अपने डिफ़ॉल्ट पर लौट आती हैं। OpenCart 4 पर एक्सटेंशन के इवेंट्स और उसका स्टार्टअप एक्शन, जो रखरखाव मोड में वेबहुक को आगे जाने देता है, भी हटा दिए जाते हैं। यदि Delete Data on Uninstall चालू है, तो बाकी Cashfree सेटिंग्स (शीर्षक, विवरण, मोड, कुंजियाँ, API संस्करण, ऑर्डर ID प्रीफ़िक्स, लॉगिंग) और लॉग हटा दिए जाते हैं। यदि यह बंद है, तो उन्हें बाद में दोबारा इंस्टॉल करने के लिए रखा जाता है। Cashfree लेन-देन और रिफ़ंड हमेशा रखे जाते हैं, इसलिए पहले भुगतान किए गए ऑर्डर दोबारा इंस्टॉल करने के बाद भी रिफ़ंड किए जा सकते हैं। मौजूदा ऑर्डर अपने भुगतान नोट्स रखते हैं।
OpenCart 4 पर, एक्सटेंशन की फ़ाइलें भी हटाने के लिए अनइंस्टॉल के बाद Extensions > Installer पर जाएँ, इंस्टॉल किए गए एक्सटेंशन की सूची में VibeFox Cashfree Payments के आगे Uninstall (नारंगी − बटन) पर क्लिक करें, और फिर अपलोड किए गए पैकेज को हटाने के लिए Delete (लाल डस्टबिन बटन) पर क्लिक करें।
Cashfree उसके संबंधित स्वामी का ट्रेडमार्क है। यह एक्सटेंशन Cashfree से संबद्ध नहीं है और न ही Cashfree द्वारा समर्थित है।
