VibeFox Hubtel for PrestaShop — सहायता
आवश्यकताएँ
PrestaShop: 8.0 से 9.x।
PHP: cURL एक्सटेंशन के साथ 8.0 या उसके बाद का संस्करण। इनके बिना मॉड्यूल इंस्टॉल नहीं होगा।
मुद्रा: केवल घाना सेडी (GHS)। अन्य मुद्राओं के लिए चेकआउट पर भुगतान विधि छिपा दी जाती है। GHS मुद्रा के दशमलव स्थानों की संख्या 2 रखें, क्योंकि Hubtel पूरे पेसवा में शुल्क लेता है।
Hubtel खाता: API कुंजियों (API ID और API Key) और मर्चेंट खाता संख्या (POS Sales ID) के साथ एक Hubtel बिज़नेस खाता। कुंजियाँ Hubtel बिज़नेस डैशबोर्ड bo.hubtel.com पर Programmable keys के अंतर्गत मिलती हैं।
IP श्वेतसूची: Hubtel अपने Transaction Status API का उत्तर केवल श्वेतसूचीबद्ध सर्वर IP पतों से देता है। Hubtel (अपने खाता प्रबंधक या support@hubtel.com) से अपने वेब सर्वर का सार्वजनिक IP पता श्वेतसूची में जोड़ने का अनुरोध करें। तब तक भुगतान की पुष्टि नहीं हो सकती और कोई ऑर्डर नहीं बनता।
कोई टेस्ट वातावरण नहीं: Hubtel का कोई सार्वजनिक सैंडबॉक्स नहीं है। सभी भुगतान वास्तविक हैं।
Cron: पृष्ठभूमि भुगतान जाँच के लिए एक सर्वर cron जॉब की सिफ़ारिश की जाती है जो मॉड्यूल का cron URL हर 5 मिनट में कॉल करे (सेटिंग्स देखें)।
VibeFox लाइसेंस कुंजी: vibefox.net पर खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।
इंस्टॉलेशन
1. बैक ऑफिस में Modules > Module Manager पर जाएँ और Upload a module पर क्लिक करें। मॉड्यूल की ZIP फ़ाइल चुनें।
2. अपलोड पूरा होने पर Configure पर क्लिक करें, या बाद में मॉड्यूल सूची में VibeFox Hubtel Pay Gateway खोजकर Configure पर क्लिक करें।
3. Configure पेज के शीर्ष पर लाइसेंस ब्लॉक में अपनी VibeFox लाइसेंस कुंजी License key में दर्ज करें और Activate पर क्लिक करें (देखें लाइसेंस कुंजी)।
4. API ID, API Key और मर्चेंट खाता संख्या (POS Sales ID) दर्ज करें।
5. Hubtel सहायता से कहें कि Transaction Status API के लिए आपके सर्वर का IP श्वेतसूची में जोड़ें।
6. Configure पेज पर दिखाए गए cron URL को अपने सर्वर के cron में जोड़ें।
7. Enable/Disable चालू करें और Save पर क्लिक करें। कॉलबैक URL हर भुगतान के साथ Hubtel को भेजा जाता है, इसलिए Hubtel डैशबोर्ड में कुछ भी सेट करने की आवश्यकता नहीं है।
इंस्टॉल होने पर मॉड्यूल ऑर्डर स्टेटस Hubtel payment on hold बनाता है। PrestaShop सभी मुद्राओं, देशों और ग्राहक समूहों के लिए एक नया भुगतान मॉड्यूल देता है। आप इन्हें Payment > Preferences में सीमित कर सकते हैं।
कॉन्फ़िगरेशन
सभी सेटिंग्स मॉड्यूल पेज पर हैं: Modules > Module Manager > VibeFox Hubtel Pay Gateway > Configure। हर सेक्शन का अपना Save बटन है, जो पूरा पेज सेव करता है। फ़ील्ड्स के ऊपर पेज आपको चेतावनी देता है जब API ID, API Key या मर्चेंट खाता संख्या गायब हो, और जब स्टोर की डिफ़ॉल्ट मुद्रा GHS न हो। दोनों ही स्थितियों में चेकआउट पर Hubtel छिपा दिया जाता है। यह चेतावनी भी देता है जब GHS मुद्रा 2 से अधिक दशमलव स्थानों का उपयोग करती है।
Hubtel
Enable/Disable: Enable Hubtel payments भुगतान विधि को चालू या बंद करता है। डिफ़ॉल्ट: बंद।
Title: वह भुगतान विधि का नाम जो ग्राहक चेकआउट पर देखता है। यह ऑर्डर में भुगतान विधि के नाम के रूप में भी सेव होता है। डिफ़ॉल्ट: Mobile Money or card (Hubtel)। अनिवार्य: खाली शीर्षक पर त्रुटि Enter a title for the payment method. दिखती है।
Description: चेकआउट पर भुगतान विधि के नीचे दिखने वाला पाठ। डिफ़ॉल्ट: Pay with MTN MoMo, Telecel Cash, AirtelTigo Money or a Visa/Mastercard card. भुगतान पूरा करने के लिए आपको Hubtel पर भेजा जाएगा।
Hubtel API क्रेडेंशियल्स
अपने Hubtel बिज़नेस डैशबोर्ड से API ID और API Key कॉपी करें: bo.hubtel.com > Programmable keys। मर्चेंट खाता संख्या आपके Hubtel खाते का POS Sales ID है। यह सेक्शन IP श्वेतसूची की सूचना भी दोहराता है।
API ID (Client ID): आपकी Hubtel प्रोग्रामेबल कुंजियों का API ID।
API Key (Client Secret): आपकी Hubtel प्रोग्रामेबल कुंजियों का API Key। इसे गोपनीय रखें। सहेजी गई कुंजी दोबारा कभी नहीं दिखाई जाती। फ़ील्ड खाली रहता है और Saved — leave empty to keep it. दिखाता है। केवल बदलने के लिए ही नया मान दर्ज करें।
Merchant account number (POS Sales ID): भुगतान इसी Hubtel खाते में जमा होते हैं और इसी के आधार पर मिलान किए जाते हैं।
Clear saved API Key: चेकबॉक्स चुनें और सहेजी गई API Key हटाने के लिए Save पर क्लिक करें। खाली फ़ील्ड सहेजे गए मान को बनाए रखता है।
भुगतान की पुष्टि
Callback URL: कॉलबैक आपके स्टोर को बताता है कि भुगतान हो गया है। यह URL हर भुगतान के साथ Hubtel को भेजा जाता है, इसलिए Hubtel डैशबोर्ड में कुछ भी सेट करने की आवश्यकता नहीं है। फ़्रेंडली URL के साथ यह इस तरह दिखता है: https://your-shop/module/wcp_hubtel_pay/callback, संभवतः भाषा कोड के साथ। यह इंटरनेट से पहुँच योग्य होना चाहिए: कोई पासवर्ड सुरक्षा या फ़ायरवॉल नहीं जो Hubtel को रोके। कॉलबैक स्टोर के मेंटेनेंस मोड में भी काम करता है और आपके स्टोर के देश प्रतिबंध से अवरुद्ध नहीं होता।
Hubtel कॉलबैक हस्ताक्षरित नहीं होते। मॉड्यूल कॉलबैक से केवल भुगतान संदर्भ लेता है; यह संदर्भ आपके स्टोर के किसी भुगतान का होना चाहिए। स्थिति, राशि और लेन-देन ID हमेशा Hubtel Transaction Status API से आते हैं। ऑर्डर केवल तभी भुगतान किया हुआ बनता है जब यह API भुगतान और उसकी राशि की पुष्टि कर दे।
पृष्ठभूमि भुगतान जाँच (cron): गुप्त टोकन वाला cron URL। इसे अपने सर्वर के cron से हर 5 मिनट में कॉल करें, उदाहरण के लिए curl से। बिना पुष्टि वाले भुगतान तब स्वतः Hubtel के साथ फिर से जाँचे जाते हैं: ग्राहक को Hubtel पर भेजे जाने के 20 मिनट बाद, यदि भुगतान अब भी अधूरा हो तो एक घंटे बाद एक बार और, और जब Hubtel तक नहीं पहुँचा जा सका तो बढ़ते अंतराल के साथ अधिकतम 5 बार। URL को गोपनीय रखें।
उन्नत
Debug log: API कॉल और कॉलबैक को मॉड्यूल फ़ोल्डर में logs/hubtel_p_debug.log.php में लॉग करता है। यह फ़ाइल वेब से नहीं खोली जा सकती। कुंजियाँ और ग्राहक डेटा लॉग नहीं होते। त्रुटियाँ और चेतावनियाँ इस विकल्प के बंद होने पर भी हमेशा लॉग होती हैं। डिफ़ॉल्ट: बंद।
Log: लॉग का वर्तमान आकार और नवीनतम प्रविष्टियाँ दिखाता है। खाली करने के लिए Clear log पर क्लिक करें।
Delete data on uninstall: चालू होने पर मॉड्यूल की अनइंस्टॉल करने से इस मॉड्यूल की सेटिंग्स और लॉग हट जाते हैं। ऑर्डर के लिए सहेजा गया Hubtel डेटा और ऑर्डर स्टेटस Hubtel payment on hold हमेशा बना रहता है। डिफ़ॉल्ट: बंद।
चेकआउट
भुगतान चरण पर ग्राहक भुगतान विधि (डिफ़ॉल्ट रूप से Mobile Money or card (Hubtel)) चुनता है और पुष्टि करता है। मॉड्यूल कार्ट के कुल मूल्य के लिए GHS में एक Hubtel चेकआउट बनाता है और ग्राहक को Hubtel भुगतान पेज पर भेजता है। भुगतान वहाँ Cart #, कार्ट नंबर और आपके स्टोर के नाम के साथ दिखता है। Hubtel पेज पर ग्राहक MTN MoMo, Telecel Cash, AirtelTigo Money, Visa या Mastercard कार्ड अथवा GhQR से भुगतान करता है। इस समय तक कोई ऑर्डर मौजूद नहीं होता। भुगतान चरण पर हर पुष्टि अपने संदर्भ के साथ एक नया भुगतान प्रयास बनाती है, और उसी कार्ट के पुराने Hubtel पेज भी भुगतान योग्य बने रहते हैं।
भुगतान के बाद ग्राहक आपके स्टोर पर लौटता है। ऑर्डर केवल तभी भुगतान किया हुआ चिह्नित होता है जब Hubtel इसकी पुष्टि Transaction Status API के माध्यम से कर दे: कॉलबैक द्वारा, ग्राहक की वापसी पर की गई जाँच द्वारा, पृष्ठभूमि जाँच द्वारा, या ऑर्डर पेज के बटन द्वारा। एक ही समय पर आए कॉलबैक और वापसी को एक-एक करके संभाला जाता है, इसलिए ऑर्डर कभी दो बार नहीं बनता। इसके बाद ग्राहक को मानक ऑर्डर पुष्टि पेज दिखता है। यदि ऑर्डर होल्ड पर रखा गया है, तो पेज Your Hubtel payment was received and is being reviewed by the store. We will contact you if anything is needed. दिखाता है।
यदि ग्राहक के लौटने तक Hubtel ने भुगतान की पुष्टि नहीं की है, तो Payment confirmation पेज दिखता है, जिसमें We are waiting for Hubtel to confirm your payment. You will receive an e-mail as soon as it is confirmed — there is no need to pay again. संदेश और Check again तथा Back to checkout बटन होते हैं। Hubtel के भुगतान की पुष्टि करते ही ऑर्डर बन जाता है। यदि Hubtel इस भुगतान प्रयास को पहले ही विफल रिपोर्ट कर चुका है, तो ग्राहक The Hubtel payment was not completed. You can try again or choose another payment method. के साथ चेकआउट पर वापस चला जाता है। कार्ट सुरक्षित रहता है।
यदि ग्राहक Hubtel पेज पर Cancel दबाता है, तो मॉड्यूल पहले जाँचता है कि क्या भुगतान फिर भी हो गया है। यदि नहीं, तो ग्राहक The Hubtel payment was cancelled. You can try again or choose another payment method. के साथ चेकआउट पर वापस जाता है। कार्ट सुरक्षित रहता है। रद्द किए गए Hubtel पेज से बाद में किया गया भुगतान अब भी स्वीकार किया जाता है।
यदि Hubtel भुगतान शुरू नहीं कर सकता, तो ग्राहक चेकआउट पर एक छोटे संदेश के साथ रहता है, जैसे Could not connect to Hubtel. Please try again in a moment., Hubtel could not start the payment. Please try again or choose another payment method., या गलत क्रेडेंशियल्स के साथ Hubtel payments are not available at the moment. Please choose another payment method. विवरण लॉग में जाते हैं।
यह मॉड्यूल PrestaShop से रिफ़ंड, सब्सक्रिप्शन, सेव किए गए कार्ड और स्टोर के अंदर भुगतान चैनल चुनने का विकल्प प्रदान नहीं करता।
ऑर्डर
ऑर्डर स्टेटस
No order yet: ग्राहक को Hubtel पर भेजा गया और उसने भुगतान नहीं किया, या Hubtel ने अभी भुगतान की पुष्टि नहीं की है। केवल कार्ट मौजूद है।
Payment accepted: GHS में कार्ट के सटीक कुल मूल्य के लिए भुगतान की पुष्टि हो गई है। भुगतान Hubtel लेन-देन ID के साथ दर्ज होता है, और एक नोट में राशि, Hubtel लेन-देन, भुगतान विधि और संदर्भ दिखाया जाता है।
Hubtel payment on hold: Hubtel ने कार्ट के कुल मूल्य से अलग भुगतान राशि रिपोर्ट की है, या कार्ट GHS में नहीं है। ऑर्डर को भुगतान किया हुआ नहीं चिह्नित किया गया; Hubtel द्वारा वास्तव में ली गई राशि एक भुगतान के रूप में दर्ज होती है, और एक नोट अंतर समझाता है। Hubtel डैशबोर्ड में भुगतान जाँचें और ऑर्डर पूरा करें या मैन्युअल रूप से रिफ़ंड करें। यदि उसी कार्ट का कोई अन्य प्रयास बाद में सही राशि के साथ भुगतान किया जाता है, तो ऑर्डर Payment accepted में चला जाता है।
यदि पहले से भुगतान किए गए ऑर्डर का कोई अन्य प्रयास भी भुगतान किया जाता है, तो ऑर्डर नहीं बदलता। एक नोट आपसे Hubtel डैशबोर्ड में डुप्लिकेट भुगतान रिफ़ंड करने के लिए कहता है। रद्द या रिफ़ंड किए गए ऑर्डर के लिए भुगतान एक नोट जोड़ता है, और ऑर्डर कभी अपने आप फिर से नहीं खुलता। जब Hubtel किसी भुगतान को रिफ़ंड हुआ रिपोर्ट करता है, तो ऑर्डर में एक नोट जोड़ा जाता है।
Hubtel भुगतान ब्लॉक
ऑर्डर पेज पर एक Hubtel payment ब्लॉक दिखता है जिसमें ऑर्डर के कार्ट के सभी भुगतान प्रयास होते हैं: तारीख, संदर्भ, Hubtel चेकआउट, राशि, Hubtel स्थिति, लेन-देन और परिणाम। प्रयासों के नीचे ऑर्डर के Hubtel notes सबसे नए से पहले सूचीबद्ध होते हैं।
Check Hubtel payment status बटन ऑर्डर के नवीनतम प्रयासों की जाँच करता है (अधिकतम 5, सबसे नए से पहले, ऑर्डर के भुगतान हो जाने पर रुक जाता है), परिणाम लागू करता है, और हर प्रयास की स्थिति के साथ एक नोट जोड़ता है। परिणाम ब्लॉक में दिखता है। आपको ऑर्डर संपादित करने का अधिकार चाहिए; Modules पेज तक पहुँच आवश्यक नहीं है। यह बटन ऑर्डर बन जाने के बाद उपलब्ध होता है। बिना ऑर्डर वाले भुगतान किए गए कार्ट की पुष्टि कॉलबैक, ग्राहक की वापसी या cron द्वारा होती है।
रिफ़ंड
PrestaShop से रिफ़ंड समर्थित नहीं हैं। Hubtel डैशबोर्ड में भुगतान रिफ़ंड करें, फिर PrestaShop में रिफ़ंड दर्ज करें। ऑर्डर पेज के मानक PrestaShop रिफ़ंड बटन Hubtel के माध्यम से पैसा वापस नहीं भेजते।
लाइसेंस कुंजी
यह मॉड्यूल vibefox.net से प्राप्त VibeFox लाइसेंस कुंजी के साथ काम करता है। मॉड्यूल के Configure पेज के शीर्ष पर लाइसेंस ब्लॉक License — VibeFox Hubtel Pay Gateway वह पहला ब्लॉक है जो Modules > Module Manager > VibeFox Hubtel Pay Gateway > Configure पर सेटिंग्स के ऊपर होता है। कुंजी को License key में चिपकाएँ और Activate पर क्लिक करें। इसके बाद ब्लॉक में मास्क की गई कुंजी, स्थिति (जैसे लाइसेंस किस तारीख तक सक्रिय है और आपका डोमेन) और ये बटन दिखते हैं: स्थिति दोबारा जाँचने के लिए Check now, दूसरी कुंजी दर्ज करने के लिए Change key, और इस स्टोर से कुंजी हटाने के लिए Remove key। इनके नीचे Product: presta-payment-hubtel वाली पंक्ति और Manage licenses and domains in your account लिंक है, जो आपका vibefox.net खाता खोलता है। केवल मॉड्यूल के लिए Configure अनुमति वाले कर्मचारी ही कुंजी बदल सकते हैं। ब्लॉक के पाठ बैक ऑफ़िस की भाषा का पालन करते हैं (अंग्रेज़ी और रूसी शामिल हैं)।
यदि कुंजी स्वीकार नहीं होती, तो ब्लॉक कारण बताता है, जैसे Key not found, This key belongs to another product, Domain limit reached, या तारीख के साथ License expired on। स्टोर का पता बदलने के बाद, या अपने खाते में डोमेन स्लॉट खाली करने के बाद, Check now पर क्लिक करें। यदि लाइसेंस सर्वर तक पहुँच नहीं हो पाती, तो मॉड्यूल अंतिम ज्ञात स्थिति पर काम करता रहता है।
एक कुंजी एक डोमेन पर काम करती है: मुख्य स्टोर के डोमेन पर, मल्टीस्टोर सेटअप में भी। स्टोर से कुंजी हटाने पर उसका डोमेन स्लॉट खाली नहीं होता। स्लॉट अपने vibefox.net खाते में खाली करें।
सक्रिय कुंजी के बिना चेकआउट पर ग्राहकों को Hubtel नहीं दिखाया जाता। फिर भी यदि भुगतान शुरू होता है, तो ग्राहक को This payment method is not available. Please choose another one. दिखता है। PrestaShop स्टोरफ़्रंट को पता नहीं होता कि आप बैक ऑफ़िस में लॉग इन हैं, इसलिए भुगतान विधि आपके लिए भी छिप जाती है: आप कुंजी खरीदने से पहले मॉड्यूल सेट कर सकते हैं, लेकिन चेकआउट पर उसकी जाँच नहीं कर सकते। Modules > Module Manager में Alerts टैब पर एक अनुस्मारक दिखता है। मौजूदा ऑर्डर प्रभावित नहीं होते: पहले से शुरू हुए भुगतान पृष्ठभूमि भुगतान जाँच से भी पुष्ट होते रहते हैं।
जब लाइसेंस की समय सीमा समाप्त होती है, तब भी मॉड्यूल चलता रहता है, लेकिन अपडेट और सहायता के लिए नवीनीकरण चाहिए। जब आप बैक ऑफ़िस में काम करते हैं, तब स्थिति अपने-आप दोबारा जाँची जाती है: कुंजी दर्ज करने के बाद पहले 14 दिनों तक रोज़ एक बार, फिर हर हफ़्ते एक बार। लाइसेंस जाँच के लिए cron job ज़रूरी नहीं है। मॉड्यूल को अनइंस्टॉल या रीसेट करने पर लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटा दी जाती हैं।
समस्या निवारण
चेकआउट पर Hubtel दिखाई नहीं देता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, API ID, API Key और मर्चेंट खाता संख्या भरी हुई हैं, और कार्ट की मुद्रा GHS है। Payment > Preferences में जाँचें कि मॉड्यूल GHS, ग्राहक के देश और ग्राहक समूह के लिए अनुमत है। क्रेडेंशियल्स या मुद्रा गलत होने पर सेटिंग्स पेज चेतावनी दिखाता है।
भुगतान हो गया, लेकिन ऑर्डर नहीं बना: भुगतान की पुष्टि नहीं हो सकी। Debug log चालू करें और मॉड्यूल पेज पर Log फ़ील्ड देखें। स्थिति जाँच पर HTTP 401 या 403 का अर्थ है कि API कुंजियाँ गलत हैं या सर्वर IP को Hubtel ने श्वेतसूची में नहीं जोड़ा है। यह भी जाँचें कि कॉलबैक URL इंटरनेट से पहुँच योग्य है और cron URL कॉल हो रहा है। Hubtel के उत्तर देते ही अगला कॉलबैक, पृष्ठभूमि जाँच या ग्राहक की वापसी ऑर्डर बना देगी।
कॉलबैक Unknown reference का उत्तर देता है: भुगतान संदर्भ इस स्टोर के किसी भुगतान का नहीं है।
कॉलबैक Payment status unavailable का उत्तर देता है: Transaction Status API तक पहुँच नहीं हो सकी या उसने अनुरोध अस्वीकार किया, या उसी समय कार्ट की पुष्टि किसी अन्य अनुरोध द्वारा हो रही थी। भुगतान 5 मिनट बाद पृष्ठभूमि में फिर से जाँचा जाएगा।
कॉलबैक Gateway not configured का उत्तर देता है: API ID, API Key या मर्चेंट खाता संख्या गायब है। इन्हें भरें; भुगतान पृष्ठभूमि में फिर से जाँचा जाएगा।
कॉलबैक Invalid request या Invalid ClientReference का उत्तर देता है: अनुरोध में मान्य Hubtel कॉलबैक नहीं था।
ब्राउज़र में कॉलबैक URL Method not allowed दिखाता है: यह सामान्य है। यह URL केवल Hubtel के अनुरोध स्वीकार करता है।
Cron URL Forbidden का उत्तर देता है: URL में टोकन गलत है। सेटिंग्स में दिखाया गया cron URL ठीक वैसा ही कॉपी करें।
ऑर्डर Hubtel payment on hold है: Hubtel payment ब्लॉक के नोट पढ़ें (ऑर्डर स्टेटस देखें), Hubtel डैशबोर्ड में भुगतान जाँचें और ऑर्डर पूरा करें या मैन्युअल रूप से रिफ़ंड करें।
ग्राहक Hubtel चुनने पर त्रुटि देखता है: Debug log चालू करें और लॉग देखें। गलत API कुंजियाँ Hubtel payments are not available at the moment. दिखाती हैं। कनेक्शन की समस्या Could not connect to Hubtel. दिखाती है। किसी अन्य मुद्रा के कार्ट पर Hubtel accepts payments in Ghana cedis (GHS) only. Please choose another payment method. दिखता है।
डेवलपर्स के लिए: hook actionWcpHubtelPayIcon भुगतान विधि का आइकन बदलता है, और actionWcpHubtelPayPaymentDescription Hubtel पेज पर भुगतान विवरण बदलता है (अधिकतम 100 अक्षर)।
अनइंस्टॉल
Modules > Module Manager पर जाएँ, VibeFox Hubtel Pay Gateway के बगल में मेन्यू खोलें और Uninstall चुनें। इस मॉड्यूल की लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटा दी जाती हैं। यदि Delete data on uninstall चालू है, तो इस मॉड्यूल की सेटिंग्स और लॉग हट जाते हैं। यदि यह बंद है, तो बाद में फिर से इंस्टॉल करने के लिए सभी सेटिंग्स बनी रहती हैं। ऑर्डर के लिए सहेजा गया Hubtel डेटा और ऑर्डर स्टेटस Hubtel payment on hold हमेशा बने रहते हैं। मौजूदा ऑर्डर अपने भुगतान नोट्स और लेन-देन ID रखते हैं।
Hubtel, उसके संबंधित स्वामी का ट्रेडमार्क है। यह मॉड्यूल Hubtel से संबद्ध नहीं है और न ही Hubtel द्वारा समर्थित है।
