वापस

VibeFox Paymob for PrestaShop — सहायता

आवश्यकताएँ

PrestaShop: 8.0 से 9.x।

PHP: 8.0 या उसके बाद का संस्करण। पुराने PHP संस्करणों पर मॉड्यूल इंस्टॉल नहीं होगा।

Paymob खाता: समर्थित देशों में से किसी एक में मर्चेंट खाता: मिस्र, संयुक्त अरब अमीरात, सऊदी अरब, ओमान या पाकिस्तान। Paymob डैशबोर्ड से चार मान चाहिए: API key, ऑनलाइन भुगतान इंटीग्रेशन का integration ID, भुगतान पेज का iFrame ID और HMAC secret।

मुद्रा: कार्ट की मुद्रा आपके Paymob देश की मुद्रा होनी चाहिए: मिस्र के लिए EGP, संयुक्त अरब अमीरात के लिए AED, सऊदी अरब के लिए SAR, ओमान के लिए OMR, पाकिस्तान के लिए PKR। किसी और मुद्रा में चेकआउट पर यह भुगतान विधि छिप जाती है। बहु-मुद्रा Paymob खाते समर्थित नहीं हैं।

VibeFox लाइसेंस कुंजी: vibefox.net से खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।

इंस्टॉलेशन

1. बैक ऑफ़िस में Modules > Module Manager पर जाएँ और Upload a module पर क्लिक करें। मॉड्यूल की ZIP फ़ाइल चुनें।

2. अपलोड पूरा होने पर Configure पर क्लिक करें, या बाद में मॉड्यूल सूची में VibeFox Paymob Pay खोजकर Configure पर क्लिक करें।

3. Configure पेज के ऊपर वाले लाइसेंस ब्लॉक में License key फ़ील्ड में अपनी VibeFox लाइसेंस कुंजी दर्ज करें और Activate पर क्लिक करें (देखें लाइसेंस कुंजी)।

4. Paymob country चुनें और API key, integration ID, iFrame ID और HMAC secret दर्ज करें (देखें कॉन्फ़िगरेशन)।

5. Paymob डैशबोर्ड में अपने इंटीग्रेशन के callback URLs को उस URL पर सेट करें जो Configure पेज पर दिखता है (देखें Callbacks)।

6. Enable/Disable चालू करें और Save पर क्लिक करें। किसी Paymob टेस्ट इंटीग्रेशन के ID से टेस्ट भुगतान करें, फिर अपने लाइव इंटीग्रेशन का ID दर्ज करें।

इंस्टॉल होने पर मॉड्यूल दो ऑर्डर स्थितियाँ बनाता है: Awaiting Paymob payment और Paymob payment on hold। PrestaShop सभी मुद्राओं, देशों और ग्राहक समूहों के लिए नया भुगतान मॉड्यूल डिफ़ॉल्ट रूप से सक्षम करता है। इन्हें Payment > Preferences में सीमित किया जा सकता है। बाद में आपकी दुकान में सक्षम किया गया कोई देश भी इस मॉड्यूल के लिए वहाँ चिह्नित होना चाहिए।

कॉन्फ़िगरेशन

सभी सेटिंग्स मॉड्यूल पेज पर हैं: Modules > Module Manager > VibeFox Paymob Pay > Configure। हर सेक्शन का अपना Save बटन है, जो पूरा पेज सहेजता है। फ़ील्ड के ऊपर, जब Paymob के चार मानों में से कोई एक गायब हो (तब तक चेकआउट पर Paymob छिपा रहता है) और जब चुना गया Paymob देश दुकान की डिफ़ॉल्ट मुद्रा स्वीकार न करे, तब पेज चेतावनी देता है। Callbacks बॉक्स में Copy बटन के साथ callback URL दिखता है और चुने गए देश के Paymob डैशबोर्ड का लिंक मिलता है।

Paymob

Enable/Disable: Enable Paymob भुगतान विधि को चालू या बंद करता है। डिफ़ॉल्ट: बंद।

Title: वह भुगतान विधि का नाम जो ग्राहक चेकआउट पर देखता है। यही नाम ऑर्डर में भी सहेजा जाता है। डिफ़ॉल्ट: Paymob।

Description: चेकआउट पर भुगतान विधि के नीचे दिखने वाला पाठ। डिफ़ॉल्ट: Pay securely by card or mobile wallet on the Paymob payment page. कोई पाठ न दिखाने के लिए इसे खाली छोड़ें।

Paymob खाता

सभी मान आपके Paymob मर्चेंट डैशबोर्ड में हैं। अलग टेस्ट मोड नहीं है: टेस्ट भुगतान के लिए टेस्ट मोड वाले इंटीग्रेशन का integration ID दर्ज करें। कोई और सेटिंग नहीं बदलती।

Paymob country: आपके Paymob खाते का देश। यह API और भुगतान पेज सर्वर चुनता है, और कार्ट की मुद्रा इसी देश की होनी चाहिए। डिफ़ॉल्ट: Egypt।

Egypt — accept.paymob.com (EGP)
United Arab Emirates — uae.paymob.com (AED)
Saudi Arabia — ksa.paymob.com (SAR)
Oman — oman.paymob.com (OMR)
Pakistan — pakistan.paymob.com (PKR)

API key: Paymob डैशबोर्ड में Settings > Account info > API Key के अंतर्गत।

Integration ID: Paymob डैशबोर्ड में Developers > Payment Integrations के अंतर्गत: कार्ड या वॉलेट के ऑनलाइन इंटीग्रेशन का संख्यात्मक ID। Paymob पेज पर दी जाने वाली भुगतान विधियाँ इसी इंटीग्रेशन की होती हैं।

iFrame ID: Paymob डैशबोर्ड में Developers > iframes के अंतर्गत: भुगतान iFrame का संख्यात्मक ID।

HMAC secret: Paymob डैशबोर्ड में Settings > Account info > HMAC के अंतर्गत। अनिवार्य: ऑर्डर केवल इसी secret से हस्ताक्षरित कॉलबैक से भुगतान किए गए के रूप में बनते हैं।

Integration ID और iFrame ID में केवल अंक हो सकते हैं। खाली स्थान हटा दिए जाते हैं। कोई और मान सहेजते समय अस्वीकार होता है और यह संदेश दिखता है कि फ़ील्ड must contain digits only — the previous value was kept। बाकी फ़ील्ड सहेजे जाते हैं।

सहेजी गई API key और HMAC secret फिर कभी नहीं दिखाई जाती। फ़ील्ड खाली रहता है और Saved — leave empty to keep it. दिखाता है। बदलने के लिए ही नया मान दर्ज करें।

Clear saved secrets: API key या HMAC secret पर टिक करें और हटाने के लिए Save पर क्लिक करें। खाली फ़ील्ड सहेजे हुए मान को बनाए रखता है।

Callbacks

Paymob हर लेनदेन आपकी दुकान को बताता है। Paymob डैशबोर्ड में Developers > Payment Integrations खोलें, अपना इंटीग्रेशन चुनें, Edit पर क्लिक करें, और Transaction processed callback तथा Transaction response callback दोनों को Callbacks बॉक्स में दिखाए गए URL पर सेट करें। फ़्रेंडली URL के साथ यह ऐसा दिखता है: https://your-shop/module/wcp_paymob_pay/callback, शायद /en/ जैसे भाषा कोड के साथ। URL दुकान की डिफ़ॉल्ट भाषा में बनता है। इसे Copy बटन से कॉपी करें। जो भी इंटीग्रेशन आप उपयोग करते हैं, उन सब में URL सेट करें, टेस्ट इंटीग्रेशन सहित।

Transaction processed callback Paymob के सर्वर से भेजा जाता है। Transaction response callback ग्राहक को आपकी दुकान पर वापस लाता है। दोनों आपके HMAC secret से हस्ताक्षरित होते हैं और मॉड्यूल द्वारा जाँचे जाते हैं। वैध हस्ताक्षर के बिना कॉलबैक अस्वीकार होते हैं और कुछ नहीं बदलते। अगर सर्वर कॉलबैक देर से आए या खो जाए, तो हस्ताक्षरित ग्राहक-वापसी भी भुगतान की पुष्टि करती है। दुकान मेंटेनेंस मोड में हो तब भी सर्वर कॉलबैक काम करता है, और आपकी दुकान के देश-प्रतिबंध से अवरुद्ध नहीं होता।

उन्नत

Debug log: भुगतान चरण और कॉलबैक मॉड्यूल फ़ोल्डर में logs/paymob_p_debug.log.php में लिखता है। यह फ़ाइल वेब से नहीं खोली जा सकती। त्रुटियाँ और अस्वीकृत कॉलबैक बंद होने पर भी हमेशा दर्ज होते हैं। कुंजियाँ, टोकन और ग्राहक का डेटा कभी नहीं लिखे जाते। डिफ़ॉल्ट: बंद।

Log: लॉग का आकार और नवीनतम प्रविष्टियाँ दिखाता है। खाली करने के लिए Clear log पर क्लिक करें।

Clean uninstall: चालू होने पर मॉड्यूल हटाने से मॉड्यूल सेटिंग्स और लॉग मिट जाते हैं। ऑर्डर के लिए सहेजे गए Paymob ID (भुगतान प्रयास) और ऑर्डर स्थितियाँ हमेशा बनी रहती हैं। डिफ़ॉल्ट: बंद।

चेकआउट

भुगतान चरण पर ग्राहक भुगतान विधि (डिफ़ॉल्ट रूप से Paymob) चुनता है और पुष्टि करता है। मॉड्यूल कार्ट की मुद्रा में कार्ट कुल के लिए एक नया Paymob ऑर्डर दर्ज करता है, ग्राहक का नाम, ईमेल, फ़ोन और बिलिंग पता Paymob को देता है, और ग्राहक को आपके देश के Paymob भुगतान पेज पर भेजता है। वहाँ ग्राहक आपके इंटीग्रेशन की किसी विधि से भुगतान करता है, जैसे कार्ड या मोबाइल वॉलेट। इस बिंदु पर अभी कोई ऑर्डर नहीं होता।

भुगतान के बाद ग्राहक आपकी दुकान पर लौटता है। ऑर्डर तभी भुगतान किया हुआ चिह्नित होता है जब Paymob उसकी हस्ताक्षरित लेनदेन से पुष्टि करे। फिर ऑर्डर बनता है और ग्राहक को मानक ऑर्डर पुष्टि पेज दिखता है। लंबित भुगतान (जैसे नकद या कियोस्क) या अधिकृत भुगतान भी प्रतीक्षा वाली स्थिति में ऑर्डर बनाता है और पुष्टि पेज पर ले जाता है।

अगर उसी समय Paymob कॉलबैक से ऑर्डर की पुष्टि हो रही हो, तो ग्राहक को यह संदेश वाला पेज दिखता है: Paymob accepted your payment and we are confirming it. You will receive an e-mail as soon as your order is confirmed — there is no need to pay again. लंबित भुगतान के लिए पाठ यह है: Your Paymob payment is pending (for example a cash or kiosk payment). Complete it as Paymob instructed you: your order is confirmed as soon as Paymob reports the payment. पेज पर Check again और Back to checkout बटन होते हैं।

अगर भुगतान अस्वीकार हो जाए, तो ग्राहक उसी कार्ट के साथ चेकआउट पर लौटता है और Your Paymob payment was not completed. Please try again or choose another payment method. संदेश देखता है। हर नया प्रयास अपना Paymob ऑर्डर दर्ज करता है, इसलिए ग्राहक कार्ट का भुगतान फिर से कर सकता है। अगर Paymob की प्रतिक्रिया सत्यापित न हो सके, तो ग्राहक को We could not verify the response from Paymob. If you were charged, your order will be updated as soon as Paymob confirms the payment. दिखता है।

अगर Paymob भुगतान शुरू न कर सके, तो ग्राहक चेकआउट पर रहता है और एक छोटा संदेश देखता है, जैसे Paymob could not start the payment. Please check your billing details and try again, or choose another payment method. या Could not connect to Paymob. Please try again in a moment. तकनीकी कारण लॉग में लिखा जाता है।

यह मॉड्यूल Paymob पेज पर एक-बारी भुगतान संभालता है। इसमें सेव किए गए कार्ड, सदस्यताएँ, आपकी साइट पर एम्बेडेड कार्ड फ़ॉर्म या बैक ऑफ़िस से रिफ़ंड नहीं हैं।

ऑर्डर

ऑर्डर स्थितियाँ

No order yet: ग्राहक को Paymob पर भेजा गया और उसने भुगतान नहीं किया, भुगतान अस्वीकार हुआ, या Paymob ने अभी भुगतान की पुष्टि नहीं की। केवल कार्ट मौजूद है।

Payment accepted: Paymob ने भुगतान की पुष्टि की। भुगतान Paymob लेनदेन ID को लेनदेन ID के रूप में दर्ज होता है, और नोट में लेनदेन, राशि तथा कार्ड का प्रकार और अंतिम चार अंक दिखते हैं।

Awaiting Paymob payment: भुगतान Paymob पर लंबित है, जैसे नकद या कियोस्क भुगतान। Paymob भुगतान की पुष्टि करने पर ऑर्डर Payment accepted में चला जाता है।

Paymob payment on hold: Paymob ने राशि केवल अधिकृत की है और कैप्चर नहीं की (इसे Paymob डैशबोर्ड में कैप्चर करें; कैप्चर कॉलबैक आने पर ऑर्डर Payment accepted में चला जाता है); या भुगतान की गई राशि या मुद्रा कार्ट से अलग है (जैसे भुगतान शुरू होने के बाद कार्ट बदला गया); या रद्द किए गए ऑर्डर के लिए भुगतान आया। नोट कारण बताता है। ऑर्डर देखें और उसे पूरा करें, या Paymob डैशबोर्ड में भुगतान रिफ़ंड करें।

अगर पहले से भुगतान किए गए ऑर्डर के लिए दूसरा सफल भुगतान आए, तो ऑर्डर नहीं बदलता। एक नोट आपसे डुप्लिकेट को Paymob डैशबोर्ड में रिफ़ंड करने को कहता है। पहले भुगतान किए गए रद्द ऑर्डर या रिफ़ंड किए गए ऑर्डर के लिए भुगतान केवल एक नोट जोड़ता है: ऑर्डर फिर से नहीं खुलता। जो ऑर्डर अभी भुगतान किया हुआ नहीं है, उसके लिए अस्वीकृत भुगतान केवल एक नोट जोड़ता है।

Paymob भुगतान ब्लॉक

ऑर्डर पेज पर एक Paymob payment ब्लॉक दिखता है, जिसमें ऑर्डर के हर Paymob प्रयास की जानकारी होती है: Paymob ऑर्डर, मर्चेंट ऑर्डर ID और देश, Paymob लेनदेन ID, स्थिति, माँगी गई राशि, कार्ड के लिए Paymob द्वारा बताई गई राशि और Paymob संदेश। इनके नीचे इस ऑर्डर के लिए मॉड्यूल के Notes हैं।

रिफ़ंड

बैक ऑफ़िस से रिफ़ंड समर्थित नहीं हैं। भुगतान को Paymob डैशबोर्ड में रिफ़ंड या वॉइड करें। जब Paymob रिफ़ंड या वॉइड की सूचना देता है, तो ऑर्डर में नोट जुड़ता है और ऑर्डर की स्थिति नहीं बदलती। ऑर्डर को मैन्युअली अपडेट करें, जैसे उसकी स्थिति या क्रेडिट स्लिप।

लाइसेंस कुंजी

यह मॉड्यूल vibefox.net से मिली VibeFox लाइसेंस कुंजी के साथ काम करता है। मॉड्यूल के Configure पेज के ऊपर, सेटिंग्स से ऊपर, लाइसेंस ब्लॉक License — VibeFox Paymob Pay Modules > Module Manager > VibeFox Paymob Pay > Configure में पहला ब्लॉक है। कुंजी को License key में दर्ज करें और Activate पर क्लिक करें। इसके बाद ब्लॉक कुंजी को मास्क करके दिखाता है, साथ में स्थिति (जैसे वह तारीख जब तक लाइसेंस सक्रिय है और आपका डोमेन), और ये बटन: स्थिति दोबारा जाँचने के लिए Check now, कोई अन्य कुंजी दर्ज करने के लिए Change key, और इस स्टोर से कुंजी हटाने के लिए Remove key। इनके नीचे Product: presta-payment-paymob वाली पंक्ति और आपके vibefox.net खाते को खोलने वाला लिंक Manage licenses and domains in your account है। कुंजी केवल वे कर्मचारी बदल सकते हैं जिनके पास इस मॉड्यूल के लिए Configure अनुमति है। ब्लॉक के पाठ बैक ऑफ़िस की भाषा का पालन करते हैं (अंग्रेज़ी और रूसी शामिल हैं)।

यदि कुंजी स्वीकार नहीं होती, तो ब्लॉक कारण बताता है, जैसे Key not found, This key belongs to another product, Domain limit reached, या तारीख के साथ License expired on। स्टोर का पता बदलने के बाद, या अपने खाते में डोमेन स्लॉट खाली करने के बाद, Check now पर क्लिक करें। यदि लाइसेंस सर्वर तक नहीं पहुँचा जा सकता, तो मॉड्यूल अंतिम ज्ञात स्थिति पर काम करता रहता है।

एक कुंजी एक डोमेन पर काम करती है: मुख्य स्टोर के डोमेन पर, मल्टीस्टोर सेटअप में भी। स्टोर से कुंजी हटाने से उसका डोमेन स्लॉट खाली नहीं होता। अपने vibefox.net खाते में स्लॉट खाली करें।

सक्रिय कुंजी के बिना, चेकआउट पर ग्राहकों को Paymob नहीं दिखता। फिर भी यदि भुगतान शुरू किया जाए, तो ग्राहक को This payment method is not available. Please choose another one. दिखता है। PrestaShop स्टोरफ़्रंट नहीं जानता कि आप बैक ऑफ़िस में लॉग इन हैं, इसलिए भुगतान विधि आपके लिए भी छिपी रहती है: आप कुंजी खरीदने से पहले मॉड्यूल सेट कर सकते हैं, लेकिन चेकआउट पर उसका परीक्षण नहीं कर सकते। Modules > Module Manager में Alerts टैब पर एक अनुस्मारक दिखता है। मौजूदा ऑर्डर प्रभावित नहीं होते: जो भुगतान पहले से शुरू हो चुके हैं, उनकी पुष्टि होती रहती है।

लाइसेंस समाप्त होने पर मॉड्यूल काम करता रहता है, लेकिन अपडेट और सपोर्ट के लिए नवीनीकरण चाहिए। बैक ऑफ़िस में काम करते समय स्थिति अपने आप दोबारा जाँची जाती है: कुंजी दर्ज करने के बाद पहले 14 दिनों तक दिन में एक बार, फिर सप्ताह में एक बार। cron जॉब की आवश्यकता नहीं है। मॉड्यूल को अनइंस्टॉल या रीसेट करने पर लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटा दी जाती है।

समस्या निवारण

चेकआउट पर Paymob नहीं दिखता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, चारों मान (API key, integration ID, iFrame ID, HMAC secret) भरे हैं और कार्ट की मुद्रा चुने गए Paymob country की मुद्रा है। कुछ गायब होने पर सेटिंग्स पेज चेतावनी दिखाता है। Payment > Preferences में जाँचें कि मॉड्यूल कार्ट की मुद्रा, ग्राहक के देश और ग्राहक के समूह के लिए अनुमत है।

भुगतान हो गया, पर ऑर्डर नहीं बना: कॉलबैक आपकी दुकान तक नहीं पहुँच रहे। जाँचें कि उपयोग किए जा रहे इंटीग्रेशन के Transaction processed callback और Transaction response callback ठीक वही URL हैं जो Callbacks बॉक्स में दिखता है, और HMAC secret उसी Paymob खाते का है। अस्वीकृत कॉलबैक चेतावनी के रूप में लॉग में लिखे जाते हैं, भले ही Debug log बंद हो। मॉड्यूल पेज पर Log फ़ील्ड देखें।

कॉलबैक का उत्तर Invalid signature है: सेटिंग्स में HMAC secret Paymob खाते से मेल नहीं खाता, या किसी और देश का खाता चुना गया है। HMAC secret फिर से कॉपी करें।

कॉलबैक का उत्तर Not configured है: HMAC secret खाली है। secret दर्ज करें; Paymob कॉलबैक फिर से भेजेगा।

कॉलबैक का उत्तर locked या retry है: ऑर्डर उसी समय किसी और अनुरोध, जैसे ग्राहक की वापसी, से अपडेट हो रहा था, या ऑर्डर नहीं बन सका (उदाहरण के लिए मॉड्यूल बंद है)। Paymob कॉलबैक फिर से भेजेगा। कारण लॉग में लिखा जाता है।

ब्राउज़र में कॉलबैक URL खोलने पर could not verify संदेश के साथ चेकआउट दिखता है: यह सामान्य है। यह URL केवल Paymob के हस्ताक्षरित अनुरोध स्वीकार करता है।

Paymob चुनते समय ग्राहक को त्रुटि दिखती है: Debug log चालू करें और लॉग देखें। Paymob payments are temporarily unavailable का अर्थ है गलत API key या कोई मान गायब है। Paymob could not start the payment का अर्थ है कि Paymob ने अनुरोध अस्वीकार किया, जैसे गलत integration ID या अधूरे बिलिंग विवरण के कारण। This order cannot be paid with Paymob का अर्थ है कि ऑर्डर का कुल शून्य है। Paymob does not accept payments in के बाद कोई मुद्रा हो, तो इसका अर्थ है कि कार्ट की मुद्रा चुने गए Paymob देश की मुद्रा नहीं है।

भुगतान के बाद ऑर्डर Paymob payment on hold या Awaiting Paymob payment में है: Paymob payment ब्लॉक के नोट पढ़ें। भुगतान लंबित है (नकद या कियोस्क), लेनदेन केवल अधिकृत हुआ है (इसे Paymob डैशबोर्ड में कैप्चर करें), राशि या मुद्रा मेल नहीं खाई, या ऑर्डर रद्द होने के बाद भुगतान आया।

टेस्ट भुगतान: Integration ID में किसी Paymob टेस्ट इंटीग्रेशन का ID दर्ज करें और उस इंटीग्रेशन में callback URL सेट करें। असली भुगतान के लिए अपने लाइव इंटीग्रेशन का ID फिर से दर्ज करें।

अनइंस्टॉल

Modules > Module Manager पर जाएँ, VibeFox Paymob Pay के बगल का मेनू खोलें और Uninstall चुनें। इस मॉड्यूल की लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटा दी जाती है। अगर Clean uninstall चालू है, तो मॉड्यूल सेटिंग्स और लॉग हटा दिए जाते हैं। अगर बंद है, तो बाद में फिर से इंस्टॉल करने के लिए सारी सेटिंग्स रखी जाती हैं। ऑर्डरों के Paymob भुगतान प्रयास और Awaiting Paymob payment तथा Paymob payment on hold ऑर्डर स्थितियाँ हमेशा रखी जाती हैं। मौजूदा ऑर्डर अपने भुगतान नोट, लेनदेन ID और Paymob ID बनाए रखते हैं।

Paymob उसके संबंधित स्वामी का ट्रेडमार्क है। यह मॉड्यूल Paymob से संबद्ध नहीं है और Paymob द्वारा समर्थित नहीं है।