VibeFox OpenPay for OpenCart — सहायता
आवश्यकताएँ
OpenCart: 3.0.x (3.0.5.0 पर परीक्षित) या 4.0.2 और उसके बाद के संस्करण (4.1.0.3 पर परीक्षित)।
PHP: 8.0 या उसके बाद का संस्करण।
HTTPS: आपके स्टोर को HTTPS का उपयोग करना होगा, क्योंकि कार्ड फ़ॉर्म आपके चेकआउट पेज पर होता है।
OpenPay account: मेक्सिको, कोलंबिया या पेरू का OpenPay खाता। आपको उसका Merchant ID, निजी कुंजी (sk_...) और सार्वजनिक कुंजी (pk_...) चाहिए। सैंडबॉक्स और लाइव डैशबोर्ड में अलग-अलग Merchant ID और कुंजियाँ होती हैं, और एक्सटेंशन उन्हें अलग रखता है।
Currency: ग्राहक को ऐसी मुद्रा में भुगतान करना होगा जिसे आपके खाते का देश स्वीकार करता हो: मेक्सिको — MXN या USD, कोलंबिया — COP या USD, पेरू — PEN या USD। अन्य मुद्राओं के लिए चेकआउट पर यह भुगतान विधि छिपी रहती है।
VibeFox license key: vibefox.net पर खरीदी जाती है। एक कुंजी एक ही डोमेन पर काम करती है।
कार्ड आपके चेकआउट पेज पर दर्ज किया जाता है, लेकिन उसे ब्राउज़र में openpay.js पढ़ता और टोकनाइज़ करता है। कार्ड फ़ील्ड का कोई नाम नहीं होता और वे कभी आपके सर्वर पर नहीं भेजे जाते। चूँकि कार्ड फ़ॉर्म आपके पेज पर है, आपका PCI DSS दायरा SAQ A-EP है; इस बारे में अपने acquirer से पूछें।
इंस्टॉलेशन
डाउनलोड एक zip फ़ाइल है, जिसमें दोनों OpenCart संस्करणों के पैकेज हैं। उसे अपने कंप्यूटर पर अनज़िप करें। उसमें README.txt, OpenCart 3 का पैकेज wcp_openpay_gateway-oc3-(version).ocmod.zip और OpenCart 4 का पैकेज wcp_openpay_gateway.ocmod.zip है। केवल अपने OpenCart संस्करण का पैकेज इंस्टॉल करें। लाइसेंस कुंजी दोनों संस्करणों के लिए एक ही है।
OpenCart 3
1. एडमिन में Extensions > Installer पर जाएँ, Upload पर क्लिक करें और फ़ाइल wcp_openpay_gateway-oc3-(version).ocmod.zip चुनें। इस एक्सटेंशन में कोई OCMOD संशोधन नहीं है, इसलिए Extensions > Modifications को रिफ़्रेश करने की ज़रूरत नहीं है। इंस्टॉलर के बजाय आप इस पैकेज के upload फ़ोल्डर की सामग्री को अपने स्टोर के रूट फ़ोल्डर में भी कॉपी कर सकते हैं।
2. Extensions > Extensions पर जाएँ और प्रकार Payments चुनें। VibeFox OpenPay Gateway खोजें और Install (हरे + बटन) पर क्लिक करें। आपके एडमिन यूज़र के पास भुगतान एक्सटेंशन की सूची बदलने का अधिकार होना चाहिए।
3. सेटिंग्स पेज खोलने के लिए Edit (पेंसिल बटन) पर क्लिक करें। अपनी VibeFox लाइसेंस कुंजी पेज के शीर्ष पर लाइसेंस ब्लॉक में License key में चिपकाएँ और Activate पर क्लिक करें (देखें लाइसेंस कुंजी)।
4. Account country चुनें और सैंडबॉक्स तथा लाइव कुंजियाँ दर्ज करें (देखें कॉन्फ़िगरेशन)।
5. अनुशंसित: OpenPay डैशबोर्ड में वेबहुक URL जोड़ें (देखें कॉन्फ़िगरेशन)।
6. Enable / Disable चालू करें और Save पर क्लिक करें। OpenPay सैंडबॉक्स टेस्ट कार्ड से एक भुगतान आज़माएँ, फिर वास्तविक भुगतान लेने के लिए Sandbox mode बंद करें। जब तक आपको सैंडबॉक्स ऑर्डर रिफ़ंड करने की संभावना हो, सैंडबॉक्स कुंजियाँ सुरक्षित रखें।
OpenCart 4
1. एडमिन में Extensions > Installer पर जाएँ, Upload पर क्लिक करें और फ़ाइल wcp_openpay_gateway.ocmod.zip चुनें। फ़ाइल का नाम न बदलें: OpenCart 4 एक्सटेंशन का कोड फ़ाइल के नाम से लेता है, और नाम बदला हुआ पैकेज काम नहीं करता।
2. पैकेज उसी पेज पर इंस्टॉल किए गए एक्सटेंशन की सूची में दिखता है। उसके बगल में Install (हरे + बटन) पर क्लिक करें।
3. Extensions > Extensions पर जाएँ और प्रकार Payments चुनें। VibeFox OpenPay Gateway खोजें, Install (हरे + बटन) पर क्लिक करें, फिर Edit (पेंसिल बटन) पर।
4. लाइसेंस कुंजी, OpenPay कुंजियाँ और वेबहुक उसी तरह दर्ज करें जैसे OpenCart 3 के लिए चरण 3 से 6 में बताया गया है। सेटिंग्स पेज और उसके फ़ील्ड दोनों संस्करणों में एक जैसे हैं। केवल वेबहुक URL अलग है (देखें Webhook)।
नई इंस्टॉलेशन भुगतान विधि बंद और सैंडबॉक्स मोड चालू के साथ शुरू होती है।
कॉन्फ़िगरेशन
सभी सेटिंग्स एक्सटेंशन पेज पर हैं: Extensions > Extensions > Payments > VibeFox OpenPay Gateway > Edit। सेक्शन बाईं ओर सूचीबद्ध हैं; सूची के नीचे का Save बटन पूरे पेज को सहेजता है। सेटिंग्स के ऊपर पेज आपको चेतावनी देता है जब वर्तमान मोड की कुंजियाँ अधूरी हों (तब चेकआउट पर भुगतान विधि छिपी रहती है) और जब आपके स्टोर की डिफ़ॉल्ट मुद्रा चुने गए खाते के देश में स्वीकार्य न हो, और सैंडबॉक्स मोड चालू होने पर Sandbox mode is enabled — no real charges are made. दिखाता है। एक्सटेंशन में संशोधन का अधिकार न होने पर पेज सेटिंग्स दिखाता है, पर उन्हें सहेज नहीं सकता।
सहेजते समय कुंजियों की जाँच होती है। Merchant ID में केवल अक्षर और अंक हो सकते हैं, निजी कुंजी sk_ से और सार्वजनिक कुंजी pk_ से शुरू होनी चाहिए। अमान्य मान सहेजा नहीं जाता: पिछला मान बना रहता है और एक त्रुटि दिखती है, उदाहरण के लिए Sandbox: The private key must start with sk_. यही बात उस Sort Order पर लागू होती है जो पूर्ण संख्या नहीं है (Sort Order must be a whole number — the previous value was kept.), और उस Total पर जो 0 या उससे बड़ी संख्या नहीं है। बाकी फ़ील्ड सहेजे जाते हैं। यदि भुगतान विधि चालू है, पर वर्तमान मोड की कुंजियाँ अधूरी हैं, तो आपको यह संदेश भी दिखेगा कि गेटवे चेकआउट पर छिपा रहेगा। खाली Title या 128 अक्षरों से लंबा शीर्षक Enter a title for the payment method (1 to 128 characters). के साथ अस्वीकार हो जाता है, और तब कुछ भी सहेजा नहीं जाता।
OpenPay
Enable / Disable: Enable OpenPay card payments भुगतान विधि को चालू या बंद करता है। डिफ़ॉल्ट: बंद।
Title: चेकआउट पर ग्राहक को दिखने वाला भुगतान विधि का नाम। ऑर्डर में भी भुगतान विधि का यही नाम सहेजा जाता है। डिफ़ॉल्ट: Credit or debit card (OpenPay)। आवश्यक, 128 अक्षरों तक।
Description: Confirm Order चरण पर कार्ड फ़ॉर्म के ऊपर दिखने वाला पाठ। डिफ़ॉल्ट: Pay securely with your credit or debit card. आपका बैंक भुगतान की पुष्टि करने के लिए कह सकता है (3D Secure)।
Sort Order: चेकआउट पर भुगतान विधियों के बीच OpenPay की स्थिति। खाली छोड़ें या कोई पूर्ण संख्या लिखें (ऋणात्मक संख्याएँ स्वीकार्य हैं)।
Geo Zone: OpenPay केवल चुने गए geo zone के भुगतान पतों के लिए दें। डिफ़ॉल्ट: All zones। Geo zones System > Localisation > Geo Zones में सेट होते हैं। OpenCart 4 पर, जब स्टोर भुगतान पता नहीं माँगता, तब शिपिंग पता उपयोग होता है।
Total: ऑर्डर की वह चेकआउट राशि (स्टोर की डिफ़ॉल्ट मुद्रा में) जिस तक पहुँचने पर OpenPay दिया जाता है। किसी भी राशि पर OpenPay देने के लिए इसे खाली छोड़ें।
OpenPay खाता
Merchant ID, निजी कुंजी (sk_) और सार्वजनिक कुंजी (pk_) आपके OpenPay डैशबोर्ड में Settings (Configuración) के अंतर्गत हैं। इस सेक्शन में मेक्सिको, कोलंबिया और पेरू के सैंडबॉक्स और लाइव डैशबोर्ड के लिंक हैं।
Account country: आपके OpenPay खाते का देश। यह OpenPay API, उस देश की openpay.js लाइब्रेरी और स्वीकार्य मुद्राओं का चयन करता है। डिफ़ॉल्ट: Mexico।
Sandbox mode: OpenPay सैंडबॉक्स (टेस्ट कुंजियाँ, कोई वास्तविक शुल्क नहीं) का उपयोग करता है और कुंजियों तथा API दोनों को सैंडबॉक्स पर ले जाता है। जब तक यह चालू है, चेकआउट पर SANDBOX MODE बैज दिखाया जाता है। डिफ़ॉल्ट: चालू। वास्तविक भुगतान लेने के लिए इसे बंद करें।
Sandbox Merchant ID: सैंडबॉक्स डैशबोर्ड से Merchant ID, Settings (Configuración), API कुंजियाँ।
Sandbox Private Key: सैंडबॉक्स निजी कुंजी। यह sk_ से शुरू होती है। इसका उपयोग केवल सर्वर पर होता है; इसे कभी साझा न करें।
Sandbox Public Key: सैंडबॉक्स सार्वजनिक कुंजी। यह pk_ से शुरू होती है। openpay.js इसे ब्राउज़र में कार्ड को टोकनाइज़ करने के लिए उपयोग करता है।
Live Merchant ID: लाइव डैशबोर्ड से Merchant ID, Settings (Configuración), API कुंजियाँ।
Live Private Key: लाइव निजी कुंजी (sk_...)।
Live Public Key: लाइव सार्वजनिक कुंजी (pk_...)।
सहेजी गई निजी कुंजियाँ फिर कभी नहीं दिखतीं। फ़ील्ड खाली रहता है और Saved — leave empty to keep it. दिखाता है। केवल बदलने के लिए नया मान दर्ज करें। सहेजी गई निजी कुंजी हटाने के लिए फ़ील्ड के नीचे Clear the saved key on save पर निशान लगाएँ और Save पर क्लिक करें।
Webhook
वेबहुक अनिवार्य नहीं है, लेकिन इसकी अनुशंसा की जाती है। यह तब भुगतान की पुष्टि करता है जब ग्राहक 3D Secure पेज से वापस नहीं आता, उदाहरण के लिए ब्राउज़र बंद कर देने के बाद। OpenPay डैशबोर्ड में Settings > Webhooks पर जाएँ और इस सेक्शन में Webhook URL के अंतर्गत दिखाया गया URL जोड़ें। OpenCart 3 पर यह https://your-store/index.php?route=extension/payment/wcp_openpay_gateway/webhook जैसा दिखता है, OpenCart 4 पर https://your-store/index.php?route=extension/wcp_openpay_gateway/payment/wcp_openpay_gateway.webhook जैसा। यह आपकी OpenCart इंस्टॉलेशन के स्टोरफ़्रंट पते से बनता है। इसे ठीक वैसे ही कॉपी करें जैसा सेटिंग्स दिखाती हैं। जिस हर मोड का आप उपयोग करते हैं (सैंडबॉक्स और लाइव), उसके डैशबोर्ड में वेबहुक जोड़ें।
वेबहुक जोड़ने पर OpenPay इस URL पर एक सत्यापन कोड भेजता है। कोड इस सेक्शन में उसके आने की तारीख के साथ दिखता है, ताकि आप OpenPay डैशबोर्ड में वेबहुक की पुष्टि कर सकें। तब तक सेक्शन No verification code received yet. दिखाता है।
एक्सटेंशन ये इवेंट संभालता है:
OpenPay वेबहुक पर हस्ताक्षर नहीं करता, इसलिए एक्सटेंशन सूचना पर कभी भरोसा नहीं करता। वह उसका उपयोग केवल शुल्क को खोजने के लिए करता है, फिर उस मोड और खाता देश की निजी कुंजी से OpenPay API से शुल्क पढ़ता है, जिसमें भुगतान किया गया था। ऐसे शुल्क की सूचना, जिसे इस स्टोर ने नहीं बनाया, अनदेखी की जाती है। वेबहुक तब भी काम करता है जब स्टोर मेंटेनेंस मोड में हो: OpenCart 3 भुगतान एक्सटेंशन के अनुरोधों को आगे जाने देता है, और OpenCart 4 पर एक्सटेंशन एक स्टार्टअप एक्शन जोड़ता है, जो वेबहुक और 3D Secure से ग्राहक की वापसी को आगे जाने देता है।
ऑर्डर
OpenCart Confirm Order चरण पर बिना स्थिति के ऑर्डर बनाता है (लापता ऑर्डर)। ऑर्डर को तभी स्थिति मिलती है जब OpenPay शुल्क की पुष्टि कर देता है। अस्वीकृत कार्ड या विफल 3D Secure जाँच से ऑर्डर बिना स्थिति के रहता है, एक नोट कारण बताता है, और ग्राहक फिर से भुगतान कर सकता है। नीचे का हर फ़ील्ड आपकी OpenCart ऑर्डर स्थितियों की सूची देता है; अपनी स्थितियाँ System > Localisation > Order Statuses में बना सकते हैं।
Order Status After Payment: OpenPay ने शुल्क की पुष्टि की और उसकी राशि व मुद्रा ऑर्डर से मेल खाती है। डिफ़ॉल्ट: Processing।
Awaiting OpenPay Payment: शुल्क प्रगति पर है (अभी कैप्चर नहीं हुआ); वेबहुक इसे बाद में पूरा करता है या विफल चिह्नित करता है। डिफ़ॉल्ट: Pending।
OpenPay Payment On Hold: OpenPay ने ऑर्डर से अलग राशि या मुद्रा का शुल्क लिया, या ऑर्डर रद्द होने के बाद शुल्क पूरा हुआ। डिफ़ॉल्ट: Pending।
Payment Error Status: OpenPay की प्रतीक्षा कर रहे या होल्ड पर रखे ऑर्डर का शुल्क विफल रहा, रद्द हुआ, या समाप्त हो गया। डिफ़ॉल्ट: Failed।
Refunded Status: ऑर्डर पेज से शुल्क पूरी तरह रिफ़ंड किया गया है। आंशिक रिफ़ंड केवल एक नोट जोड़ते हैं। डिफ़ॉल्ट: Refunded।
उन्नत
Debug log: भुगतान के चरण OpenCart के लॉग फ़ोल्डर (storage/logs) में wc_opy_debug.log.php में दर्ज करता है। यह फ़ाइल वेब से नहीं खोली जा सकती, और 5 MB पर इसे wc_opy_debug.old.log.php में ले जाया जाता है। बंद होने पर भी त्रुटियाँ और चेतावनियाँ दर्ज होती हैं। कुंजियाँ, कार्ड डेटा और ग्राहक का विवरण कभी दर्ज नहीं होता। डिफ़ॉल्ट: बंद।
Log: लॉग का आकार और नवीनतम प्रविष्टियाँ दिखाता है। उसे खाली करने के लिए Clear log पर क्लिक करें।
Delete data on uninstall: चालू होने पर एक्सटेंशन हटाने से गेटवे सेटिंग्स, सहेजा गया वेबहुक सत्यापन कोड और लॉग हट जाते हैं। ऑर्डर के OpenPay शुल्क रिकॉर्ड भुगतान इतिहास का हिस्सा हैं और हमेशा रखे जाते हैं, ताकि दोबारा इंस्टॉल करने के बाद भी ऑर्डर रिफ़ंड किए जा सकें। डिफ़ॉल्ट: बंद।
आयात / निर्यात
Export: Download JSON सेटिंग्स को JSON फ़ाइल में सहेजता है। निजी कुंजियाँ निर्यात नहीं होतीं।
Import: पहले निर्यात किया गया JSON चिपकाएँ और सेटिंग्स बहाल करने के लिए Import पर क्लिक करें। सहेजी गई निजी कुंजियाँ बनी रहती हैं।
चेकआउट
Payment Method चरण पर ग्राहक भुगतान विधि चुनता है (डिफ़ॉल्ट रूप से Credit or debit card (OpenPay))। Confirm Order चरण पर ग्राहक आपका विवरण और कार्ड फ़ॉर्म देखता है: Cardholder name, Card number, Expiry (MM/YY) और Card code (CVV)। सैंडबॉक्स मोड में फ़ॉर्म SANDBOX MODE — Test environment. No real charges will be made. दिखाता है। OpenCart इस चरण पर ऑर्डर बनाता है, अब भी बिना स्थिति के। OpenCart 4 पर ग्राहक भुगतान विधि ब्लॉक के Choose बटन से, Payment method options विंडो में, भुगतान विधि चुनता है; कार्ड फ़ॉर्म चेकआउट पेज के नीचे पुष्टि सेक्शन में, Confirm Order के ऊपर होता है। जब ग्राहक Confirm Order पर क्लिक करता है, तो openpay.js ब्राउज़र में कार्ड को एक बार उपयोग होने वाले टोकन में बदल देता है, और antifraud लाइब्रेरी एक डिवाइस सेशन ID जोड़ती है। केवल ये दो मान आपके स्टोर को भेजे जाते हैं। अधूरा फ़ॉर्म फ़ॉर्म के नीचे Please fill in all card fields. दिखाता है।
इसके बाद एक्सटेंशन ऑर्डर की राशि के लिए, ऑर्डर की मुद्रा में, 3D Secure के साथ शुल्क बनाता है और ग्राहक को उसके बैंक के 3D Secure पेज पर भेजता है, जिसे OpenPay प्रस्तुत करता है। हर प्रयास को अपना अलग OpenPay ऑर्डर संदर्भ मिलता है। शुल्क का विवरण Order #, ऑर्डर नंबर और आपके स्टोर का नाम होता है। भुगतान पते से ग्राहक का नाम, ईमेल और फ़ोन OpenPay को दिया जाता है; OpenPay में कोई ग्राहक खाता नहीं बनाया जाता।
जब ग्राहक लौटता है, तो एक्सटेंशन OpenPay API से शुल्क पढ़ता है। ऑर्डर को केवल OpenPay की पुष्टि के बाद भुगतान किया हुआ चिह्नित किया जाता है: शुल्क इसी ऑर्डर का होना चाहिए, पूरा होना चाहिए और ऑर्डर की कुल राशि तथा मुद्रा से बिल्कुल मेल खाना चाहिए। फिर ऑर्डर को OpenCart के मानक तरीके से स्थिति मिलती है, सामान्य ऑर्डर ईमेल और स्टॉक अपडेट के साथ, और ग्राहक को Your card payment has been received. के साथ OpenCart का ऑर्डर सफलता पेज दिखता है। यदि OpenPay शुल्क को प्रगति पर बताता है, तो ऑर्डर को Awaiting OpenPay Payment स्थिति मिलती है और पेज We are confirming your card payment with OpenPay. The order will be updated automatically — please do not pay again. दिखाता है। यदि परिणाम अभी ज्ञात नहीं है, तो एक Payment confirmation पेज वही पाठ दिखाता है, साथ में Check again बटन और Back to checkout बटन होता है; वेबहुक आते ही ऑर्डर स्थिति सेट कर देता है। यदि प्रगति पर चल रहा शुल्क बाद में विफल हो जाए, तो सफलता पेज Your OpenPay card payment was not completed. Please contact us about this order. दिखाता है।
यदि कार्ड अस्वीकृत हो या 3D Secure विफल हो, तो ऑर्डर बिना स्थिति के रहता है, एक नोट जुड़ता है, और ग्राहक The card payment was not completed (declined or 3-D Secure failed). Please try again or use another card. के साथ चेकआउट पर लौट आता है। कार्ट सुरक्षित रहता है। OpenCart 4 पर यह संदेश चेकआउट पेज के ऊपर दिखाया जाता है। OpenCart 3 हर बार Confirm Order चरण दिखाए जाने पर नया ऑर्डर बनाता है; OpenCart 4 चेकआउट के लिए एक ही ऑर्डर रखता है और उसे अपडेट करता है, इसलिए ग्राहक नए प्रयास में उसी ऑर्डर का फिर से भुगतान करता है। नए प्रयास से पहले एक्सटेंशन कार्ट के पिछले शुल्क की जाँच करता है: यदि वह वास्तव में भुगतान हो चुका है, तो उस ऑर्डर को दूसरे शुल्क के बिना स्थिति मिल जाती है; यदि वह अभी प्रगति पर है, तो ग्राहक A previous payment for this order is still being processed. Please do not pay again — the order will be updated automatically. देखता है; यदि उसकी स्थिति जाँची नहीं जा सकती, तो कोई नया शुल्क नहीं लिया जाता और ग्राहक We could not confirm the status of your previous payment attempt. Please try again in a few minutes. देखता है। जो कार्ट पहले ही भुगतान हो चुका है, उस पर दोबारा कभी शुल्क नहीं लिया जाता।
OpenCart 4 सफलता पेज दिखाए जाने तक ऑर्डर को चेकआउट में रखता है। यदि वह ऑर्डर इस बीच बंद हो गया हो (उदाहरण के लिए, भुगतान की प्रतीक्षा के बाद उसका शुल्क विफल हो गया, या आपने उसे रद्द या रिफ़ंड कर दिया), तो ग्राहक This order can no longer be paid. Please reload the checkout page and confirm the order again. के साथ चेकआउट पर लौटा दिया जाता है, और अगला Confirm Order एक नया ऑर्डर भुगतान करता है। यदि उस ऑर्डर की पहले से कोई स्थिति है और कार्ट में अब दूसरे उत्पाद या मात्राएँ हैं, तो ग्राहक को भी चेकआउट पर लौटा दिया जाता है, और नई कार्ट को नया ऑर्डर मिलता है।
अस्वीकृत कार्ड को स्पष्ट संदेश मिलता है, उदाहरण के लिए The card has insufficient funds. Please use another card., The card has expired. Please use another card. या The security code (CVV) is not valid. Please check it and try again. OpenPay की तकनीकी त्रुटियाँ ग्राहकों को कभी नहीं दिखाई जातीं; वे लॉग और ऑर्डर नोट्स में जाती हैं।
भुगतान विधि चेकआउट पर छिपी रहती है जब वह बंद हो, जब वर्तमान मोड की कुंजियाँ अधूरी हों, या जब ग्राहक ऐसी मुद्रा में भुगतान करे जिसे खाता देश स्वीकार नहीं करता।
एक्सटेंशन केवल कार्ड भुगतान लेता है, जो तुरंत लिया जाता है। इसमें सेव किए गए कार्ड, सब्सक्रिप्शन, बिना ब्याज की किस्तें (MSI) या EMI, कार्ड पॉइंट्स से भुगतान, नकद, SPEI, PSE या CoDi भुगतान नहीं हैं, और अलग से authorize और capture की सुविधा नहीं है।
ऑर्डर और रिफ़ंड
ऑर्डर स्थितियाँ
No status (missing order): ग्राहक 3D Secure पेज पर है, उसने भुगतान पूरा नहीं किया है, या कार्ड अस्वीकृत हुआ है। Sales > Orders में ऐसे ऑर्डर केवल तब दिखते हैं जब Order Status फ़िल्टर Missing Orders पर सेट हो।
OpenCart 4 पर चेकआउट का बिना भुगतान वाला ऑर्डर स्थिति Voided पा सकता है, जो OpenCart 4 तब सेट करता है जब ग्राहक Confirm Order चरण पर वापस आता है। एक्सटेंशन ऐसे ऑर्डर को बिना स्थिति वाला ऑर्डर मानता है, और बाद का भुगतान अब भी उसकी पुष्टि करता है।
Order Status After Payment (default Processing): भुगतान की पुष्टि हुई। एक नोट OpenPay शुल्क ID और मोड (लाइव या सैंडबॉक्स) दिखाता है।
Awaiting OpenPay Payment (default Pending): OpenPay शुल्क को प्रगति पर बताता है (अभी कैप्चर नहीं हुआ)। शुल्क पूरा होने पर ऑर्डर Order Status After Payment पर जाता है, या विफल होने पर Payment Error Status पर।
OpenPay Payment On Hold (default Pending): OpenPay ऐसे पूरे हुए शुल्क की रिपोर्ट करता है जिसकी राशि या मुद्रा ऑर्डर से अलग है (ऑर्डर भुगतान किया हुआ चिह्नित नहीं होता, नोट अंतर दिखाता है), या ऐसे ऑर्डर के लिए भुगतान आया जो पहले ही रद्द या रिफ़ंड हो चुका था। ऑर्डर की जाँच करें और उसे पूरा करें या भुगतान रिफ़ंड करें।
Payment Error Status (default Failed): प्रगति पर चल रहा शुल्क विफल हुआ, रद्द हुआ, या समाप्त हो गया।
Refunded Status (default Refunded): एक्सटेंशन के माध्यम से शुल्क पूरी तरह रिफ़ंड किया गया।
यदि पहले से भुगतान किए गए ऑर्डर या कार्ट के लिए दूसरा पूरा हुआ शुल्क आता है, तो ऑर्डर नहीं बदला जाता। भुगतान किए गए ऑर्डर पर OpenPay WARNING से शुरू होने वाला नोट आपको OpenPay डैशबोर्ड में डुप्लिकेट शुल्क रिफ़ंड करने के लिए कहता है।
नोट्स ऑर्डर के History की वे प्रविष्टियाँ हैं जो ग्राहक को दिखाई नहीं देतीं।
VibeFox OpenPay Gateway टैब
Sales > Orders में OpenPay से भुगतान किया गया ऑर्डर खोलें। ऑर्डर पेज के नीचे, History और Additional के बगल में, VibeFox OpenPay Gateway टैब शुल्क ID, शुल्क स्थिति, वातावरण और खाता देश दिखाता है (सैंडबॉक्स भुगतानों के लिए Sandbox लेबल के साथ), Charged / order राशियाँ, रिफ़ंड की गई राशि, रिफ़ंड फ़ॉर्म, रिफ़ंड इतिहास और ऑर्डर के OpenPay notes दिखाता है। यह टैब उन उपयोगकर्ताओं को दिखता है जिनकी एक्सटेंशन तक पहुँच है।
रिफ़ंड
मेक्सिको और पेरू के खातों के लिए: टैब में Amount दर्ज करें (जो राशि अभी रिफ़ंड नहीं हुई है, वह भर दी जाती है), वैकल्पिक रूप से Reason (optional) लिखें, और Refund via OpenPay पर क्लिक करें। प्रश्न Refund this amount through OpenPay? This cannot be undone. की पुष्टि करें। OpenPay द्वारा लिए गए शुल्क की राशि तक पूर्ण और आंशिक रिफ़ंड समर्थित हैं। आपको एक्सटेंशन में संशोधन का अधिकार चाहिए (System > Users > User Groups में सेट होता है)। रिफ़ंड उसी मोड और खाता देश की कुंजियों से भेजा जाता है जिसमें शुल्क लिया गया था, इसलिए उस मोड की कुंजियाँ सेट होनी चाहिए। यदि OpenPay रिफ़ंड स्वीकार नहीं करता, तो टैब त्रुटि दिखाता है, उदाहरण के लिए OpenPay refund failed: ..., और कोई रिफ़ंड दर्ज नहीं होता। सफल रिफ़ंड OpenPay रिफ़ंड ID के साथ रिफ़ंड इतिहास और नोट्स में जुड़ता है। पूर्ण रिफ़ंड ऑर्डर को Refunded Status पर सेट करता है, बिना ग्राहक को सूचित किए और बिना उत्पादों को स्टॉक में वापस लाए, जैसे मैनुअल स्थिति परिवर्तन में होता है। आंशिक रिफ़ंड स्थिति नहीं बदलता। रिफ़ंड तभी उपलब्ध हैं जब OpenPay भुगतान की पुष्टि कर चुका हो; राशि के अंतर के कारण होल्ड पर रखा गया ऑर्डर एक्सटेंशन से रिफ़ंड नहीं होता।
OpenPay कोलंबिया API के माध्यम से कार्ड रिफ़ंड समर्थित नहीं करता, जैसे आधिकारिक OpenPay इंटीग्रेशन में नहीं होता। कोलंबियाई शुल्कों के लिए टैब कोई रिफ़ंड फ़ॉर्म नहीं देता और कारण समझाता है; शुल्क को OpenPay डैशबोर्ड में रिफ़ंड करें।
Sales > Returns में उत्पाद वापसी OpenPay के माध्यम से पैसे वापस नहीं भेजती।
OpenPay डैशबोर्ड में किए गए रिफ़ंड और चार्जबैक वेबहुक से आते हैं और नोट्स में एक बार जोड़े जाते हैं। ऑर्डर की स्थिति अपने-आप नहीं बदलती। ज़रूरत पड़ने पर उसे मैन्युअली अपडेट करें।
लाइसेंस कुंजी
यह एक्सटेंशन vibefox.net से मिली VibeFox लाइसेंस कुंजी के साथ काम करता है। License — VibeFox OpenPay Gateway लाइसेंस ब्लॉक Extensions > Extensions > Payments > VibeFox OpenPay Gateway > Edit पर सेटिंग्स के ऊपर पहला ब्लॉक है। कुंजी License key में चिपकाएँ और Activate पर क्लिक करें। इसके बाद ब्लॉक कुंजी को मास्क करके, स्थिति (जैसे लाइसेंस कब तक सक्रिय है और आपका डोमेन) और बटन दिखाता है: स्थिति दोबारा जाँचने के लिए Check now, कोई दूसरी कुंजी दर्ज करने के लिए Change key, और इस स्टोर से कुंजी हटाने के लिए Remove key। उनके नीचे Product: opencart-payment-openpay वाली पंक्ति और Manage licenses and domains in your account लिंक है, जो आपका vibefox.net खाता खोलता है। केवल वे एडमिन उपयोगकर्ता कुंजी बदल सकते हैं जिनके पास एक्सटेंशन के लिए Modify अनुमति है। ब्लॉक के पाठ एडमिन भाषा का अनुसरण करते हैं (अंग्रेज़ी और रूसी शामिल हैं)।
यदि कुंजी स्वीकार नहीं होती, तो ब्लॉक कारण बताता है, उदाहरण के लिए Key not found, This key belongs to another product, Domain limit reached, या तारीख के साथ License expired on। स्टोर का पता बदलने के बाद, या अपने खाते में डोमेन स्लॉट खाली करने के बाद, Check now पर क्लिक करें। यदि लाइसेंस सर्वर तक पहुँच नहीं हो पाती, तो एक्सटेंशन अंतिम ज्ञात स्थिति पर काम करता रहता है।
एक कुंजी एक डोमेन पर काम करती है: OpenCart कॉन्फ़िगरेशन का स्टोर पता। स्टोर से कुंजी हटाने से उसका डोमेन स्लॉट खाली नहीं होता। स्लॉट अपने vibefox.net खाते में खाली करें।
सक्रिय कुंजी के बिना, चेकआउट पर OpenPay ग्राहकों को नहीं दिखाया जाता। यदि फिर भी भुगतान शुरू होता है, तो ग्राहक को This payment method is not available. Please choose another one. दिखता है। उसी ब्राउज़र में एडमिन में लॉग इन एडमिन उपयोगकर्ता को स्टोर में भुगतान विधि दिखती रहती है, जिस पर (unlicensed — visible to admins only) चिह्न होता है, ताकि आप कुंजी खरीदने से पहले एक्सटेंशन सेट अप और टेस्ट कर सकें। OpenCart 4 पर यह पूर्वावलोकन उपलब्ध नहीं है: स्टोर एडमिन लॉग इन को नहीं देखता, इसलिए सक्रिय कुंजी के बिना भुगतान विधि सभी के लिए छिपी रहती है। एक बार Edit पेज खोलने के बाद एडमिन Dashboard पर एक रिमाइंडर दिखता है। उसे × से बंद करने पर वह 7 दिनों के लिए छिप जाता है। मौजूदा ऑर्डर प्रभावित नहीं होते: जो भुगतान शुरू हो चुके हैं उनकी पुष्टि होती रहती है, और रिफ़ंड काम करते हैं।
जब लाइसेंस समाप्त होता है, तो एक्सटेंशन काम करना जारी रखता है, लेकिन अपडेट और सहायता के लिए नवीनीकरण चाहिए। एडमिन Dashboard या Edit पेज खोलने पर स्थिति अपने-आप दोबारा जाँची जाती है: कुंजी दर्ज करने के बाद पहले 14 दिनों तक दिन में एक बार, फिर सप्ताह में एक बार। कोई cron जॉब आवश्यक नहीं है। एक्सटेंशन हटाने पर लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हट जाती हैं।
समस्या निवारण
OpenPay चेकआउट पर दिखाई नहीं देता: जाँचें कि लाइसेंस सक्रिय है, Enable / Disable चालू है, और वर्तमान मोड में तीनों कुंजियाँ हैं: सैंडबॉक्स मोड में सैंडबॉक्स कुंजियाँ, लाइव मोड में लाइव कुंजियाँ। जाँचें कि ग्राहक Account country द्वारा स्वीकार्य मुद्रा में भुगतान कर रहा है (मेक्सिको: MXN, USD; कोलंबिया: COP, USD; पेरू: PEN, USD)। सेटिंग्स पेज हर ऐसे मामले में चेतावनी दिखाता है। यह भी जाँचें कि भुगतान पता चुने गए Geo Zone में है और ऑर्डर सेटिंग्स में दिए Total तक पहुँचता है।
भुगतान हो गया, पर ऑर्डर बिना स्थिति के रहा: ग्राहक 3D Secure पेज से वापस नहीं आया और वेबहुक काम नहीं कर रहा। जाँचें कि जिस मोड का आप उपयोग करते हैं, उसके OpenPay डैशबोर्ड में वेबहुक URL सेटिंग्स में दिखाए गए बिल्कुल वैसे ही जोड़ा गया है, और ऊपर सूचीबद्ध इवेंट्स के साथ। जाँचें कि जिस मोड में भुगतान हुआ, उसकी कुंजियाँ भरी हुई हैं: उनके बिना वेबहुक not configured का उत्तर देता है और OpenPay बाद में फिर प्रयास करता है। जब ग्राहक स्टोर में लौटता है या वही कार्ट फिर से भुगतान करने की कोशिश करता है, तब भी ऑर्डर को स्थिति मिल जाती है।
वेबहुक ignored (unknown order) का उत्तर देता है: शुल्क इस स्टोर ने नहीं बनाया, उदाहरण के लिए उसी OpenPay खाते पर किसी दूसरे स्टोर का शुल्क। कुछ नहीं बदला जाता।
वेबहुक verification failed का उत्तर देता है: शुल्क पढ़ने के लिए OpenPay API तक पहुँच नहीं हो पाई। OpenPay वेबहुक फिर से भेजता है।
वेबहुक busy का उत्तर देता है: उसी समय कार्ट को किसी दूसरे अनुरोध द्वारा अपडेट किया जा रहा था, या ऑर्डर की स्थिति सेट नहीं हो सकी। OpenPay वेबहुक फिर से भेजता है। कारण देखने के लिए Debug log चालू करें।
ब्राउज़र में वेबहुक URL invalid body दिखाता है: यह सामान्य है। यह URL केवल OpenPay की सूचनाएँ स्वीकार करता है।
ग्राहक को The secure card form could not be loaded दिखता है: OpenPay का openpay.js या antifraud लाइब्रेरी ब्राउज़र में लोड नहीं हुई, या डिवाइस सेशन ID नहीं बन सका। ग्राहक से पेज रीलोड करके फिर से कोशिश करने को कहें।
ग्राहक को The payment could not be processed right now दिखता है: OpenPay ने अनुरोध अस्वीकार किया या उत्तर नहीं दिया। कारण लॉग और ऑर्डर नोट्स में है। गलत Merchant ID या निजी कुंजी एक सामान्य कारण है। यदि OpenPay ने उत्तर नहीं दिया, तो ग्राहक के दोबारा भुगतान करने से पहले OpenPay डैशबोर्ड में शुल्क जाँचें।
ग्राहक को This test card cannot be used for real payments दिखता है: सैंडबॉक्स मोड बंद होने के दौरान सैंडबॉक्स टेस्ट कार्ड उपयोग किया गया।
ग्राहक को Billing email is required for OpenPay दिखता है: ऑर्डर में मान्य ईमेल पता नहीं है।
भुगतान के बाद ऑर्डर OpenPay Payment On Hold स्थिति में है: टैब में OpenPay notes पढ़ें (देखें ऑर्डर स्थितियाँ), फिर ऑर्डर पूरा करें या भुगतान रिफ़ंड करें।
मोड से संबंधित संदेश के साथ रिफ़ंड विफल होता है: ऑर्डर सैंडबॉक्स या लाइव मोड में भुगतान हुआ था, और उस मोड की कुंजियाँ सेट नहीं हैं। उन्हें दर्ज करें और फिर कोशिश करें।
The order is being updated right now संदेश के साथ रिफ़ंड विफल होता है: एक वेबहुक या कोई दूसरा अनुरोध उसी समय ऑर्डर को अपडेट कर रहा था। थोड़ी देर बाद फिर कोशिश करें।
अनइंस्टॉल
Extensions > Extensions पर जाएँ, प्रकार Payments चुनें और VibeFox OpenPay Gateway के बगल में Uninstall (लाल − बटन) पर क्लिक करें। इस एक्सटेंशन की लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटाई जाती हैं। OpenCart एक्सटेंशन की अपनी सेटिंग्स हमेशा हटाता है: Enable / Disable, Sort Order, Geo Zone, Total और Orders सेक्शन की ऑर्डर स्थितियाँ, जो दोबारा इंस्टॉल करने पर डिफ़ॉल्ट पर लौट आती हैं। एक्सटेंशन का OpenCart इवेंट भी हटाया जाता है (OpenCart 4 पर उसके इवेंट और उसका स्टार्टअप एक्शन भी, जो मेंटेनेंस मोड में वेबहुक और 3D Secure से वापसी को आगे जाने देता है)। यदि Delete data on uninstall चालू है, तो बाकी गेटवे सेटिंग्स (शीर्षक, विवरण, खाता देश, सैंडबॉक्स मोड, कुंजियाँ, लॉगिंग), सहेजा गया वेबहुक सत्यापन कोड और लॉग हटा दिए जाते हैं। यदि यह बंद है, तो बाद में दोबारा इंस्टॉल करने के लिए वे रखे जाते हैं। OpenPay शुल्क और रिफ़ंड रिकॉर्ड हमेशा रखे जाते हैं, ताकि पहले भुगतान किए गए ऑर्डर दोबारा इंस्टॉल करने के बाद भी रिफ़ंड किए जा सकें। मौजूदा ऑर्डर अपने भुगतान नोट्स रखते हैं।
OpenCart 4 पर, एक्सटेंशन की फ़ाइलें भी हटाने के लिए, अनइंस्टॉल के बाद Extensions > Installer पर जाएँ और इंस्टॉल किए गए एक्सटेंशन की सूची में VibeFox OpenPay Gateway के बगल में Uninstall (नारंगी − बटन) पर क्लिक करें, फिर अपलोड किया गया पैकेज हटाने के लिए Delete (लाल डस्टबिन बटन) पर।
OpenPay उसके संबंधित स्वामी का ट्रेडमार्क है। यह एक्सटेंशन OpenPay से संबद्ध नहीं है और OpenPay द्वारा अनुमोदित नहीं है।
