VibeFox Worldline for OpenCart — सहायता
आवश्यकताएँ
OpenCart: 3.0.x (3.0.5.0 पर परीक्षण किया गया) या 4.0.2 और उसके बाद का संस्करण (4.1.0.3 पर परीक्षण किया गया)।
PHP: 8.0 या बाद का संस्करण।
Worldline खाता: एक Worldline Direct (पहले Ingenico Direct) मर्चेंट खाता। टेस्ट और लाइव खाते अलग हैं और उनके क्रेडेंशियल्स भी अलग हैं। हर खाते के लिए आपको Merchant ID (आपका PSPID), एक API Key ID और उसकी Secret API Key, तथा एक webhook key और उसका secret चाहिए। ये सब Worldline Merchant Portal में बनाए जाते हैं (देखें कॉन्फ़िगरेशन)।
VibeFox लाइसेंस कुंजी: vibefox.net पर खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।
इंस्टॉलेशन
डाउनलोड एक zip फ़ाइल है जिसमें दोनों OpenCart संस्करणों के पैकेज हैं। इसे अपने कंप्यूटर पर अनज़िप करें। इसमें README.txt, OpenCart 3 का पैकेज wcp_worldline_gateway-oc3-(version).ocmod.zip और OpenCart 4 का पैकेज wcp_worldline_gateway.ocmod.zip है। केवल अपने OpenCart संस्करण का पैकेज इंस्टॉल करें। लाइसेंस कुंजी दोनों संस्करणों के लिए एक ही है।
OpenCart 3
1. एडमिन में Extensions > Installer पर जाएँ, Upload पर क्लिक करें और फ़ाइल wcp_worldline_gateway-oc3-(version).ocmod.zip चुनें। इस एक्सटेंशन में कोई OCMOD बदलाव नहीं है, इसलिए Extensions > Modifications को रीफ़्रेश करने की ज़रूरत नहीं है। इंस्टॉलर के बजाय आप इस पैकेज के upload फ़ोल्डर की सामग्री को अपने स्टोर के root फ़ोल्डर में भी कॉपी कर सकते हैं।
2. Extensions > Extensions पर जाएँ और प्रकार Payments चुनें। VibeFox Worldline Gateway ढूँढें और Install (हरा + बटन) पर क्लिक करें। आपके एडमिन उपयोगकर्ता के पास भुगतान एक्सटेंशन सूची बदलने का अधिकार होना चाहिए।
3. सेटिंग्स पेज खोलने के लिए Edit (पेंसिल बटन) पर क्लिक करें। पेज के ऊपर के लाइसेंस ब्लॉक में License key में अपनी VibeFox लाइसेंस कुंजी दर्ज करें और Activate पर क्लिक करें (देखें लाइसेंस कुंजी)।
4. टेस्ट क्रेडेंशियल्स दर्ज करें, Save पर क्लिक करें और फिर Test credentials पर।
5. टेस्ट खाते के Merchant Portal में webhook URL जोड़ें और webhook key तथा secret दर्ज करें (देखें कॉन्फ़िगरेशन)।
6. Enable/Disable चालू करें, सेव करें और एक टेस्ट भुगतान करें। फिर लाइव क्रेडेंशियल्स दर्ज करें, अपने लाइव खाते में webhook सेटअप दोहराएँ, Live credentials पर क्लिक करें और Test Mode बंद करें।
OpenCart 4
1. एडमिन में Extensions > Installer पर जाएँ, Upload पर क्लिक करें और फ़ाइल wcp_worldline_gateway.ocmod.zip चुनें। फ़ाइल का नाम न बदलें: OpenCart 4 एक्सटेंशन कोड फ़ाइल के नाम से लेता है, और नाम बदला हुआ पैकेज काम नहीं करता।
2. पैकेज इसी पेज पर इंस्टॉल किए गए एक्सटेंशन की सूची में दिखता है। उसके आगे Install (हरा + बटन) पर क्लिक करें।
3. Extensions > Extensions पर जाएँ और प्रकार Payments चुनें। VibeFox Worldline Gateway ढूँढें, Install (हरा + बटन) पर क्लिक करें, फिर Edit (पेंसिल बटन) पर क्लिक करें।
4. लाइसेंस कुंजी, क्रेडेंशियल्स और webhook OpenCart 3 के चरण 3 से 6 की तरह दर्ज करें। सेटिंग्स पेज और उसके फ़ील्ड दोनों संस्करणों में एक जैसे हैं। केवल webhook URL अलग है (देखें Webhooks)।
नया इंस्टॉल भुगतान विधि बंद और test mode चालू के साथ शुरू होता है।
कॉन्फ़िगरेशन
सभी सेटिंग्स एक्सटेंशन पेज पर हैं: Extensions > Extensions > Payments > VibeFox Worldline Gateway > Edit। सेक्शन बाईं ओर सूचीबद्ध हैं; सूची के नीचे का Save बटन पूरा पेज सेव करता है। सेटिंग्स के ऊपर पेज चेतावनी देता है यदि वर्तमान मोड के क्रेडेंशियल्स (Merchant ID, API Key ID, Secret API Key) अधूरे हैं, क्योंकि तब भुगतान विधि चेकआउट पर छिपी रहती है। जब test mode चालू होता है तो यह Test mode is on (pre-production environment): no real money is charged. दिखाता है। एक्सटेंशन बदलने का अधिकार न होने पर पेज सेटिंग्स दिखाता है पर उन्हें सेव नहीं कर सकता।
सेव करते समय Title खाली नहीं हो सकता (अधिकतम 128 अक्षर), Sort Order पूर्ण संख्या होनी चाहिए (ऋणात्मक संख्याएँ मान्य हैं), Total 0 या उससे अधिक की संख्या होनी चाहिए, और geo zone तथा ऑर्डर स्थितियाँ मौजूद होनी चाहिए। अन्यथा कुछ भी सेव नहीं होता और पेज उस फ़ील्ड का नाम बताता है। अधूरे क्रेडेंशियल्स सेव होने से नहीं रोकते।
Worldline (Ingenico)
Enable/Disable: Enable Worldline Gateway भुगतान विधि को चालू या बंद करता है। डिफ़ॉल्ट: बंद।
Title: वह भुगतान विधि का नाम जो ग्राहक चेकआउट पर देखते हैं। ऑर्डर में भी भुगतान विधि का यही नाम सेव होता है। डिफ़ॉल्ट: Worldline। आवश्यक, अधिकतम 128 अक्षर।
Description: वह पाठ जो ग्राहक को Confirm Order चरण में, पुष्टि बटन के ऊपर दिखता है। डिफ़ॉल्ट: Pay securely via Worldline.
Sort Order: चेकआउट पर भुगतान विधियों के बीच Worldline की स्थिति। खाली छोड़ें या पूर्ण संख्या लिखें।
Geo Zone: Worldline केवल चुने गए geo zone के भुगतान पते के लिए दिखाएँ। डिफ़ॉल्ट: All zones। Geo zones System > Localisation > Geo Zones में सेट होते हैं।
Total: चेकआउट का कुल योग, स्टोर की डिफ़ॉल्ट मुद्रा में, जिस तक पहुँचने पर ही Worldline दिखाया जाता है। किसी भी कुल योग के लिए Worldline दिखाने हेतु खाली छोड़ें।
Worldline Direct API
टेस्ट खाते और लाइव खाते, दोनों के Worldline Merchant Portal में क्रेडेंशियल्स प्राप्त करें। आपका PSPID ही Merchant ID है। Developer > Payment API API Key ID और Secret API Key बनाता है, और Developer > Webhooks webhook key और secret बनाता है। इस सेक्शन में दोनों पोर्टल और Worldline दस्तावेज़ीकरण के लिंक हैं।
Test Mode: API endpoint और क्रेडेंशियल्स दोनों को बदलता है। Test mode pre-production वातावरण और टेस्ट क्रेडेंशियल्स का उपयोग करता है, live mode production वातावरण और लाइव क्रेडेंशियल्स का। डिफ़ॉल्ट: चालू। असली भुगतान लेने के लिए इसे बंद करें। Test mode चालू होने पर ग्राहक Confirm Order चरण पर Test mode — no real money is charged. देखते हैं।
टेस्ट खाता (pre-production)
Test Merchant ID (PSPID): आपके टेस्ट खाते का PSPID।
Test API Key ID: टेस्ट खाते के Developer > Payment API में बनाया गया API Key ID।
Test Secret API Key: उस API Key ID से जुड़ी Secret API Key।
Test Webhook Key ID: वैकल्पिक। सेट होने पर केवल इसी कुंजी से भेजे गए webhook स्वीकार होते हैं।
Test Webhook Secret: टेस्ट खाते का webhook secret। हर webhook के हस्ताक्षर की जाँच इससे होती है।
लाइव खाता (production)
Live Merchant ID (PSPID): आपके लाइव खाते का PSPID।
Live API Key ID: लाइव खाते के Developer > Payment API में बनाया गया API Key ID।
Live Secret API Key: उस API Key ID से जुड़ी Secret API Key।
Live Webhook Key ID: वैकल्पिक। सेट होने पर केवल इसी कुंजी से भेजे गए webhook स्वीकार होते हैं।
Live Webhook Secret: लाइव खाते का webhook secret।
सेव की गई secret keys और webhook secrets फिर कभी नहीं दिखाई जातीं। फ़ील्ड खाली रहता है और Saved — leave empty to keep it. दिखाता है। केवल बदलने के लिए नया मान लिखें। सेव किया गया मान हटाने के लिए फ़ील्ड के नीचे Clear the saved value चिह्नित करें और Save पर क्लिक करें।
क्रेडेंशियल्स जाँचें: Test credentials और Live credentials बटन हर खाते के सेव किए गए क्रेडेंशियल्स की Worldline के साथ एक टेस्ट कॉल से जाँच करते हैं। पहले अपने बदलाव सेव करें। उत्तर बटनों के नीचे दिखता है, जैसे Test credentials: connection successful., API credentials are not configured. या Worldline की ओर से लौटी त्रुटि।
Webhooks
Webhook आपके स्टोर को भुगतानों के बारे में बताता है, भले ही ग्राहक स्टोर पर वापस न आए, जैसे ब्राउज़र बंद करने के बाद या जब भुगतान बाद में पक्का हो। Merchant Portal में टेस्ट खाते का Developer > Webhooks खोलें और इस सेक्शन में Endpoint URL के नीचे दिखाया गया URL जोड़ें। OpenCart 3 पर यह https://your-store/index.php?route=extension/payment/wcp_worldline_gateway/webhook जैसा दिखता है, OpenCart 4 पर https://your-store/index.php?route=extension/wcp_worldline_gateway/payment/wcp_worldline_gateway.webhook जैसा। यह आपकी OpenCart इंस्टॉलेशन के स्टोरफ़्रंट पते से बनता है। URL को ठीक वैसे ही कॉपी करें जैसा सेटिंग्स दिखाती हैं: यह बिना रीडायरेक्ट के जवाब देना चाहिए और इंटरनेट से पहुँच योग्य होना चाहिए। फिर webhook key ID और secret को Test Webhook Key ID और Test Webhook Secret में दर्ज करें। लाइव खाते में लाइव फ़ील्ड के साथ यही करें।
एक्सटेंशन Worldline के endpoint verification अनुरोध का स्वचालित उत्तर देता है। यह भुगतान इवेंट (भुगतान स्थिति में बदलाव) और रिफ़ंड इवेंट (रिफ़ंड स्थिति में बदलाव) संभालता है। अन्य इवेंट स्वीकार होते हैं पर अनदेखे किए जाते हैं। मान्य हस्ताक्षर के बिना webhook अस्वीकार होते हैं। किसी इवेंट पर उस खाते के secret से हस्ताक्षर होना चाहिए जिसमें भुगतान हुआ था, इसलिए टेस्ट webhook कभी लाइव भुगतान की पुष्टि नहीं करता। जो webhook उस खाते के अलावा किसी दूसरे Merchant ID से आता है जिसके secret ने उस पर हस्ताक्षर किए हैं, उसे भी अनदेखा किया जाता है। Webhook के बिना ऑर्डर तभी पक्का होता है जब ग्राहक भुगतान के बाद स्टोर पर लौटे।
भुगतान पेज और ऑर्डर
Payment page template: Merchant Portal में अपलोड किए गए hosted checkout टेम्पलेट (variant) का वैकल्पिक नाम, उदाहरण के लिए SimplifiedCustomPaymentPage। डिफ़ॉल्ट Worldline पेज के लिए खाली छोड़ें।
Order Status After Payment: capture किए गए भुगतान पर कौन-सी स्थिति सेट होगी। भुगतान हमेशा सीधी बिक्री (authorization और capture) के रूप में माँगे जाते हैं।
OpenCart Confirm Order चरण पर ऑर्डर बिना स्थिति के बनाता है (एक लापता ऑर्डर)। ऑर्डर को स्थिति तभी मिलती है जब Worldline भुगतान की पुष्टि करे। नीचे हर फ़ील्ड आपकी OpenCart ऑर्डर स्थितियों की सूची देता है।
Paid Order Status: Payment accepted (processing) के साथ capture किए गए भुगतान के बाद की स्थिति। डिफ़ॉल्ट: Processing।
Complete Order Status: Delivered (completed) के साथ capture किए गए भुगतान के बाद की स्थिति। डिफ़ॉल्ट: Complete।
Awaiting Capture Status: भुगतान अधिकृत है या capture का अनुरोध किया गया है; capture webhook ऑर्डर को भुगतान किया हुआ चिह्नित करता है। डिफ़ॉल्ट: Pending।
On Hold (Review) Status: भुगतान की गई राशि या मुद्रा ऑर्डर से मेल नहीं खाती। एक नोट कारण बताता है। डिफ़ॉल्ट: Pending, क्योंकि OpenCart में On hold स्थिति नहीं है। आप System > Localisation > Order Statuses में अपनी स्थितियाँ बना सकते हैं और यहाँ चुन सकते हैं।
Payment Error Status: capture की प्रतीक्षा कर रहे ऑर्डर का भुगतान Worldline ने अस्वीकार या रद्द किया। डिफ़ॉल्ट: Failed।
Refunded Status: ऑर्डर पेज से भुगतान का पूरा रिफ़ंड किया गया। डिफ़ॉल्ट: Refunded।
उन्नत
Logging: सभी API अनुरोध और webhook को OpenCart के logs फ़ोल्डर (storage/logs) में wlg_debug.log.php में लिखता है। यह फ़ाइल वेब से नहीं खोली जा सकती, और 5 MB पर इसे wlg_debug.old.log.php में ले जाया जाता है। त्रुटियाँ और चेतावनियाँ इस विकल्प के बंद होने पर भी हमेशा दर्ज होती हैं। कुंजियाँ, कार्ड डेटा और व्यक्तिगत डेटा मास्क किए जाते हैं। डिफ़ॉल्ट: बंद।
Log: लॉग का आकार और नवीनतम प्रविष्टियाँ दिखाता है। उसे खाली करने के लिए Clear log पर क्लिक करें।
Delete Data: चालू होने पर एक्सटेंशन हटाने से gateway की सेटिंग्स और लॉग हट जाते हैं। Worldline के लेन-देन और रिफ़ंड हमेशा रखे जाते हैं, क्योंकि मौजूदा ऑर्डर को रिफ़ंड के लिए उनकी ज़रूरत होती है। डिफ़ॉल्ट: बंद।
Import / Export
Export: Download JSON सेटिंग्स को JSON फ़ाइल में सेव करता है। Secret keys और webhook secrets एक्सपोर्ट नहीं होते।
Import: पहले एक्सपोर्ट किया गया JSON चिपकाएँ और सेटिंग्स बहाल करने के लिए Import पर क्लिक करें। सेव किए गए secrets बने रहते हैं।
चेकआउट
Payment Method चरण पर ग्राहक भुगतान विधि चुनता है (डिफ़ॉल्ट रूप से Worldline)। Confirm Order चरण पर ग्राहक आपका विवरण देखता है। OpenCart इस चरण पर ऑर्डर बनाता है, अभी भी बिना स्थिति के। जब ग्राहक Confirm Order पर क्लिक करता है, तो एक्सटेंशन ऑर्डर की मुद्रा में ऑर्डर कुल के लिए Worldline का hosted checkout बनाता है और ग्राहक को Worldline के भुगतान पेज पर भेजता है। वहाँ ग्राहक कार्ड, वॉलेट या आपके Worldline खाते में सक्षम किसी अन्य भुगतान विधि से भुगतान करता है। बिलिंग नाम, पता, ईमेल और फ़ोन Worldline को भेजे जाते हैं, और यदि Worldline समर्थन करता है तो भुगतान पेज ग्राहक की भाषा में खुलता है। हर भुगतान प्रयास को ऑर्डर नंबर और एक यादृच्छिक भाग से बना अपना संदर्भ मिलता है। OpenCart 4 पर ग्राहक भुगतान विधि भुगतान विधि के ब्लॉक के Choose बटन से चुनता है, विंडो Payment method options में, और पेज के नीचे Confirm Order पर क्लिक करता है।
भुगतान के बाद ग्राहक आपके स्टोर पर लौटता है। एक्सटेंशन सेव किए गए प्रयास से वापसी की जाँच करता है और सर्वर-साइड पर Worldline से भुगतान की स्थिति पढ़ता है। ऑर्डर को भुगतान किया हुआ तभी चिह्नित किया जाता है जब Worldline यह स्थिति जाँच या हस्ताक्षरित webhook से पुष्टि करे। इसके बाद ऑर्डर को OpenCart के सामान्य तरीके से स्थिति मिलती है, सामान्य ऑर्डर ईमेल और स्टॉक अपडेट के साथ, और ग्राहक को Your payment with Worldline has been received. के साथ OpenCart का ऑर्डर सफलता पेज दिखता है। यदि भुगतान अधिकृत है पर अभी capture नहीं हुआ, तो पेज Your payment is authorized. The order is confirmed as soon as Worldline confirms the capture. दिखाता है। ऐसे ऑर्डर का भुगतान विफल होने पर पेज Your Worldline payment was not completed. Please contact us about this order. दिखाता है।
यदि भुगतान पूरा नहीं हुआ, तो ऑर्डर को कोई स्थिति नहीं मिलती, कार्ट सुरक्षित रहता है, और ग्राहक इस संदेश के साथ चेकआउट पर लौटता है:
यदि स्थिति अभी जाँची नहीं जा सकी, तो एक Payment confirmation पेज We could not confirm your payment yet. If you completed the payment, please do not pay again — you will receive a confirmation as soon as Worldline confirms it. दिखाता है, साथ में Check again और Back to checkout बटन। Webhook आते ही ऑर्डर की स्थिति सेट कर देता है।
OpenCart 4 पर ये संदेश चेकआउट पेज के ऊपर दिखाए जाते हैं।
OpenCart 3 हर बार Confirm Order चरण दिखाए जाने पर नया ऑर्डर बनाता है। OpenCart 4 चेकआउट के लिए एक ही ऑर्डर रखता है और उसे अपडेट करता है, इसलिए रद्द या अस्वीकृत भुगतान के बाद ग्राहक एक नए Worldline भुगतान पेज पर उसी ऑर्डर का भुगतान करता है। नए भुगतान से पहले एक्सटेंशन कार्ट की जाँच करता है: यदि उसी कार्ट का कोई दूसरा ऑर्डर पहले से भुगतान किया हुआ है, या पिछला प्रयास इस बीच भुगतान हो गया है, तो ग्राहक सीधे सफलता पेज पर जाता है और दोबारा शुल्क नहीं लिया जाता। यदि उसी ऑर्डर का पिछला भुगतान पेज उसी राशि और मोड के लिए अब भी खुला है और 30 मिनट से कम पहले बनाया गया था, तो ग्राहक उसी पेज पर लौटा दिया जाता है।
OpenCart 4 पर, यदि चेकआउट के ऑर्डर का भुगतान अधिकृत होने के बाद अस्वीकृत या रद्द हुआ, तो अगला Confirm Order ग्राहक को अस्वीकृत भुगतान के संदेश के साथ सफलता पेज के बजाय चेकआउट पर वापस भेजता है। यदि स्टोर ने वह ऑर्डर बंद कर दिया है (उदाहरण के लिए उसे रद्द या रिफ़ंड किया), तो संदेश Your previous order was closed by the shop (cancelled / refunded). Please confirm the order again to pay with a new order. होता है। दोनों ही स्थितियों में अगला Confirm Order नया ऑर्डर भुगतान करता है। यदि चेकआउट का ऑर्डर पहले से भुगतान हो चुका है, पर कार्ट तब से बदल गई है, नई मात्रा सहित, तो ग्राहक चेकआउट पर वापस भेजा जाता है और नई कार्ट का भुगतान नए ऑर्डर से होता है।
यदि Worldline भुगतान शुरू नहीं कर सकता, तो ग्राहक Confirm Order चरण पर रहता है और बटन के ऊपर Payment error: Could not create checkout session. Please try again. दिखता है। कारण लॉग में लिखा जाता है। यदि वर्तमान मोड के क्रेडेंशियल्स गायब हैं, तो ग्राहक This payment method is not available at the moment. Please choose another payment method. देखता है।
स्टोर maintenance मोड में होने पर भी webhook और ग्राहक की वापसी काम करती है: OpenCart 3 भुगतान एक्सटेंशन के अनुरोधों को आगे जाने देता है, और OpenCart 4 पर एक्सटेंशन इनके लिए एक startup action जोड़ता है।
एक्सटेंशन Worldline के पेज पर एकल भुगतानों को सीधी बिक्री के रूप में स्वीकार करता है। इसमें सेव किए गए कार्ड या tokenization, सब्सक्रिप्शन, एम्बेडेड कार्ड फ़ॉर्म, OpenCart से capture या cancel वाला केवल-authorize मोड, surcharge, और स्वचालित webhook पंजीकरण नहीं है।
ऑर्डर और रिफ़ंड
ऑर्डर स्थितियाँ
कोई स्थिति नहीं (लापता ऑर्डर): ग्राहक Worldline पर भेजा गया और उसने भुगतान नहीं किया, या Worldline ने अभी भुगतान की पुष्टि नहीं की। Sales > Orders में ऐसे ऑर्डर केवल तब दिखते हैं जब Order Status फ़िल्टर Missing Orders पर सेट हो।
Paid Order Status या Complete Order Status (डिफ़ॉल्ट Processing या Complete): भुगतान capture हो गया। स्थिति Order Status After Payment का अनुसरण करती है। एक नोट राशि, Worldline payment ID और पुष्टि का तरीका (हस्ताक्षरित webhook या स्थिति जाँच) दिखाता है।
Awaiting Capture Status (डिफ़ॉल्ट Pending): Worldline भुगतान को अधिकृत या capture को अनुरोधित बताता है, पर अभी capture नहीं हुआ। capture webhook की पुष्टि होने पर ऑर्डर भुगतान की स्थिति में चला जाता है। यदि नोट कहता है कि भुगतान capture नहीं हुआ, तो उसे Worldline Merchant Portal में capture करें।
On Hold (Review) Status (डिफ़ॉल्ट Pending): भुगतान ऑर्डर से मेल नहीं खाता, उदाहरण के लिए राशि या मुद्रा अलग है, या भुगतान किसी दूसरे प्रयास का है। नोट भुगतान की गई राशि, ऑर्डर कुल और संदर्भ दिखाता है। ऑर्डर की जाँच करें और उसे पूरा करें या भुगतान रिफ़ंड करें।
Payment Error Status (डिफ़ॉल्ट Failed): capture की प्रतीक्षा कर रहे ऑर्डर का भुगतान Worldline ने अस्वीकार या रद्द किया।
Refunded Status (डिफ़ॉल्ट Refunded): भुगतान एक्सटेंशन के माध्यम से पूरी तरह रिफ़ंड किया गया।
यदि रद्द या रिफ़ंड किए गए ऑर्डर पर भुगतान आता है, तो ऑर्डर फिर से नहीं खुलता। एक नोट आपसे भुगतान को Worldline Merchant Portal में रद्द या रिफ़ंड करने, या ऑर्डर को मैन्युअली बहाल करने को कहता है। लौटे हुए ग्राहक को Your payment was received after this order had been cancelled. Please contact us — we will restore the order or refund the payment. दिखता है। यदि पहले से भुगतान किए गए ऑर्डर, या पहले से भुगतान किए गए कार्ट के किसी दूसरे ऑर्डर के लिए दूसरा भुगतान आता है, तो ऑर्डर नहीं बदलता। भुगतान किए गए ऑर्डर पर एक नोट आपसे दूसरे भुगतान को Worldline Merchant Portal में रिफ़ंड करने को कहता है।
नोट ऑर्डर के History की वे प्रविष्टियाँ हैं जो ग्राहक को नहीं दिखतीं। वे Worldline शब्द से शुरू होते हैं।
VibeFox Worldline Gateway टैब
Sales > Orders में Worldline से भुगतान किया गया ऑर्डर खोलें। ऑर्डर पेज के नीचे, History और Additional के बगल में, VibeFox Worldline Gateway टैब Worldline payment ब्लॉक दिखाता है: Payment ID, Merchant reference, Hosted checkout, प्रयास की Status, Amount charged / refunded, टेस्ट भुगतानों के लिए Test environment लेबल, रिफ़ंड फ़ॉर्म, रिफ़ंड इतिहास और ऑर्डर के Payment notes। यह टैब उन उपयोगकर्ताओं को दिखता है जिनके पास एक्सटेंशन की पहुँच है।
रिफ़ंड
VibeFox Worldline Gateway टैब में राशि दर्ज करें (जो राशि अभी रिफ़ंड नहीं हुई है वह भर दी जाती है), वैकल्पिक रूप से Reason (optional) लिखें, और Refund via Worldline पर क्लिक करें। पुष्टि प्रश्न Refund this amount through Worldline? This cannot be undone. की पुष्टि करें। पूर्ण और आंशिक रिफ़ंड समर्थित हैं। भुगतान capture हुआ होना चाहिए। एक्सटेंशन बदलने का अधिकार ज़रूरी है (यह System > Users > User Groups में सेट होता है)। रिफ़ंड उसी राशि और मुद्रा में होते हैं जो Worldline ने चार्ज की, इसलिए राशि या मुद्रा का अंतर होने पर आप ऑर्डर कुल तक नहीं, बल्कि ग्राहक ने वास्तव में जो भुगतान किया उतनी राशि तक रिफ़ंड कर सकते हैं। रिफ़ंड हमेशा मूल भुगतान के वातावरण (टेस्ट या लाइव) में उस खाते के क्रेडेंशियल्स के साथ भेजा जाता है, इसलिए वे सेट होने चाहिए। टाइमआउट के बाद दोबारा कोशिश किया गया रिफ़ंड दो बार नहीं चलता, और एक ऑर्डर पर एक समय में केवल एक रिफ़ंड चलता है। यदि Worldline रिफ़ंड अस्वीकार करता है, तो टैब त्रुटि दिखाता है और कोई रिफ़ंड दर्ज नहीं होता। स्वीकृत रिफ़ंड Worldline रिफ़ंड ID और स्थिति के साथ रिफ़ंड इतिहास और नोट्स में जुड़ता है। पूर्ण रिफ़ंड ग्राहक को सूचित किए बिना, और उत्पादों को स्टॉक में वापस किए बिना, मैन्युअल स्थिति बदलाव की तरह ऑर्डर को Refunded Status पर सेट करता है। आंशिक रिफ़ंड स्थिति नहीं बदलता।
Sales > Returns में उत्पाद वापसी Worldline के ज़रिए पैसे वापस नहीं भेजती।
Worldline से रिफ़ंड स्थिति के बदलाव webhook के ज़रिए आते हैं, रिफ़ंड इतिहास अपडेट करते हैं और नोट्स में जुड़ते हैं। Merchant Portal में किए गए रिफ़ंड ऑर्डर की स्थिति नहीं बदलते; ज़रूरत हो तो उसे मैन्युअली अपडेट करें।
लाइसेंस कुंजी
एक्सटेंशन vibefox.net की VibeFox लाइसेंस कुंजी के साथ काम करता है। License — VibeFox Worldline Gateway लाइसेंस ब्लॉक, Extensions > Extensions > Payments > VibeFox Worldline Gateway > Edit पेज पर सेटिंग्स के ऊपर पहला ब्लॉक है। कुंजी License key में दर्ज करें और Activate पर क्लिक करें। इसके बाद ब्लॉक कुंजी को मास्क करके, स्थिति (जैसे लाइसेंस किस तारीख तक सक्रिय है और आपका डोमेन) दिखाता है, तथा बटन Check now (स्थिति फिर से जाँचें), Change key (दूसरी कुंजी दर्ज करें) और Remove key (इस स्टोर से कुंजी हटाएँ) दिखाता है। इनके नीचे Product: opencart-payment-worldline की पंक्ति और 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 खाते में स्लॉट मुक्त करें।
सक्रिय कुंजी के बिना Worldline चेकआउट पर ग्राहकों को नहीं दिखाया जाता। यदि फिर भी भुगतान शुरू होता है, तो ग्राहक को This payment method is not available. Please choose another one. दिखता है। जो एडमिन उपयोगकर्ता उसी ब्राउज़र में एडमिन में लॉग इन है, उसे स्टोर में भुगतान विधि (unlicensed — visible to admins only) चिह्न के साथ अब भी दिखती है, ताकि आप कुंजी खरीदने से पहले एक्सटेंशन सेट और टेस्ट कर सकें। OpenCart 4 पर यह पूर्वावलोकन उपलब्ध नहीं है: स्टोर को एडमिन लॉगिन दिखाई नहीं देता, इसलिए सक्रिय कुंजी के बिना भुगतान विधि सभी से छिपी रहती है। एक बार Edit पेज खोलने के बाद एडमिन Dashboard पर एक अनुस्मारक दिखता है। उसे × से बंद करें, तो वह 7 दिनों के लिए छिप जाता है। मौजूदा ऑर्डर प्रभावित नहीं होते: जो भुगतान पहले से शुरू हो चुके हैं उनकी पुष्टि होती रहती है, और रिफ़ंड काम करते हैं।
लाइसेंस की अवधि समाप्त होने पर एक्सटेंशन काम करता रहता है, लेकिन अपडेट और सहायता के लिए नवीनीकरण चाहिए। जब आप एडमिन Dashboard या Edit पेज खोलते हैं, तो स्थिति अपने-आप फिर से जाँची जाती है: कुंजी दर्ज करने के बाद पहले 14 दिनों तक रोज़ एक बार, फिर हर सप्ताह एक बार। cron job की ज़रूरत नहीं है। एक्सटेंशन अनइंस्टॉल करने पर लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हट जाती हैं।
समस्या निवारण
चेकआउट पर Worldline नहीं दिखता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, और वर्तमान मोड में Merchant ID, API Key ID और Secret API Key हैं: test mode में test फ़ील्ड, live mode में live फ़ील्ड। कमी होने पर सेटिंग्स पेज चेतावनी दिखाता है। यह भी देखें कि भुगतान पता चुने गए Geo Zone में है और ऑर्डर सेट किए गए Total तक पहुँचता है।
भुगतान हो गया, पर ऑर्डर बिना स्थिति के है: webhook काम नहीं कर रहा। आप जिस खाते (टेस्ट या लाइव) का उपयोग करते हैं उसके Merchant Portal में जाँचें कि endpoint मौजूद है और उसका URL Endpoint URL में दिखाए गए URL से बिल्कुल मेल खाता है, बिना रीडायरेक्ट के। जाँचें कि उस खाते का webhook secret सही फ़ील्ड (Test Webhook Secret या Live Webhook Secret) में है और webhook key ID फ़ील्ड खाली है या कुंजी से मेल खाता है। भुगतान के बाद ग्राहक स्टोर पर लौटेगा तो ऑर्डर को भी स्थिति मिल जाएगी।
Webhook answers Webhook secret not configured: कोई भी webhook secret सेट नहीं है। सेटिंग्स में webhook secret दर्ज करें। Worldline webhook को फिर से भेजता है।
Webhook answers Invalid signature: webhook secret किसी दूसरे खाते या दूसरी कुंजी का है, या webhook key ID उस कुंजी से मेल नहीं खाता जिससे webhook भेजा गया। जाँचें कि test और live secrets आपस में बदले तो नहीं गए।
Webhook answers Missing signature, Empty body या Invalid JSON: अनुरोध Worldline से अपेक्षित रूप में नहीं आया, या किसी proxy या redirect ने उसे बदल दिया। जाँचें कि URL बिना redirect के उत्तर देता है।
Webhook answers Ignored: webhook उस मोड की सेटिंग्स में दिए गए Merchant ID से अलग Merchant ID से आया। Test Merchant ID (PSPID) या Live Merchant ID (PSPID) जाँचें।
Webhook answers Retry later: उसी समय कोई दूसरा अनुरोध ऑर्डर की पुष्टि कर रहा था, या ऑर्डर की स्थिति सेट नहीं हो सकी। Worldline webhook को फिर से भेजता है। कारण के लिए Log फ़ील्ड देखें।
Webhook URL ब्राउज़र में Method not allowed दिखाता है: यह सामान्य है। यह URL केवल Worldline के अनुरोध स्वीकार करता है।
Test credentials या Live credentials एक त्रुटि दिखाता है: पहले सेटिंग्स सेव करें, फिर जाँचें कि Merchant ID, API Key ID और Secret API Key एक ही खाते से हैं और test मान test फ़ील्ड में और live मान live फ़ील्ड में हैं।
Confirm Order के बाद ग्राहक को त्रुटि दिखती है: एक्सटेंशन पेज पर Log फ़ील्ड देखें। Logging बंद होने पर भी त्रुटियाँ दर्ज होती हैं। अनुरोधों का पूरा विवरण पाने के लिए Logging चालू करके फिर से प्रयास करें।
टेस्ट भुगतान लाइव भुगतान की पुष्टि नहीं करते: टेस्ट और लाइव अलग रखे जाते हैं। Test Mode को वांछित मोड पर सेट करें और उस खाते के क्रेडेंशियल्स और webhook का उपयोग करें।
भुगतान के बाद ऑर्डर समीक्षा या capture की प्रतीक्षा की स्थिति में है: VibeFox Worldline Gateway टैब के नोट पढ़ें (देखें ऑर्डर स्थितियाँ)। या तो Worldline ने अभी capture की पुष्टि नहीं की (webhook ऑर्डर को पूरा करेगा), या भुगतान की गई राशि या मुद्रा ऑर्डर से अलग थी।
टैब में रिफ़ंड फ़ॉर्म नहीं है: टैब कारण बताता है: कोई capture किया हुआ Worldline भुगतान नहीं है, भुगतान पूरी तरह रिफ़ंड हो चुका है, आपके user group को एक्सटेंशन बदलने का अधिकार नहीं है, या भुगतान के वातावरण के क्रेडेंशियल्स सेट नहीं हैं।
वातावरण से संबंधित संदेश के साथ रिफ़ंड विफल: भुगतान test या live वातावरण में हुआ था, और उस वातावरण के क्रेडेंशियल्स सेट नहीं हैं। उन्हें दर्ज करें और फिर से प्रयास करें।
डेवलपर्स के लिए: hosted checkout बनाने से पहले एक्सटेंशन अनुरोध डेटा और ऑर्डर के साथ OpenCart इवेंट wlg_hosted_checkout_data ट्रिगर करता है, उदाहरण के लिए दिखाई जाने वाली भुगतान विधियों को सीमित करने के लिए।
अनइंस्टॉल
Extensions > Extensions पर जाएँ, प्रकार Payments चुनें और VibeFox Worldline Gateway के बगल में Uninstall (लाल − बटन) पर क्लिक करें। इस एक्सटेंशन की लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटाई जाती हैं। OpenCart एक्सटेंशन की अपनी सेटिंग्स हमेशा हटाता है: Enable/Disable, Sort Order, Geo Zone, Total और Payment page and orders सेक्शन की ऑर्डर स्थितियाँ, जो दोबारा इंस्टॉल करने पर डिफ़ॉल्ट पर लौट आती हैं। एक्सटेंशन का OpenCart इवेंट भी हटा दिया जाता है (OpenCart 4 पर उसके इवेंट्स और उसकी startup action भी, जो maintenance mode में webhook और ग्राहक की वापसी को आगे जाने देती है)। यदि Delete Data चालू है, तो बाकी gateway सेटिंग्स (शीर्षक, विवरण, test mode, क्रेडेंशियल्स, webhook secrets, पेज टेम्पलेट, लॉगिंग) और लॉग हटा दिए जाते हैं। यदि बंद है, तो वे बाद में दोबारा इंस्टॉल करने के लिए रखे जाते हैं। Worldline के लेन-देन और रिफ़ंड हमेशा रखे जाते हैं, इसलिए पहले भुगतान किए गए ऑर्डर दोबारा इंस्टॉल करने के बाद भी रिफ़ंड किए जा सकते हैं। मौजूदा ऑर्डर अपने भुगतान नोट रखते हैं।
OpenCart 4 पर फ़ाइलें भी हटाने के लिए, अनइंस्टॉल के बाद Extensions > Installer पर जाएँ और इंस्टॉल किए गए एक्सटेंशन की सूची में VibeFox Worldline Gateway के आगे Uninstall (नारंगी − बटन) पर क्लिक करें, फिर अपलोड किए गए पैकेज को हटाने के लिए Delete (लाल डस्टबिन बटन) पर क्लिक करें।
Worldline उसके संबंधित स्वामी का ट्रेडमार्क है। यह एक्सटेंशन Worldline से संबद्ध नहीं है और उसके द्वारा समर्थित नहीं है।
