VibeFox Paymob for WooCommerce — सहायता
आवश्यकताएँ
WordPress: 6.2 या उसके बाद का संस्करण।
WooCommerce: 8.0 या उसके बाद का संस्करण, इंस्टॉल और सक्रिय। इसके बिना प्लगइन सक्रिय नहीं होता।
PHP: 8.0 या उसके बाद का संस्करण।
Paymob खाता: समर्थित देशों में से किसी एक में मर्चेंट खाता: मिस्र, संयुक्त अरब अमीरात, सऊदी अरब, ओमान या पाकिस्तान। Paymob डैशबोर्ड से चार मान चाहिए: API key, ऑनलाइन भुगतान इंटीग्रेशन का इंटीग्रेशन ID, भुगतान पेज का iFrame ID और HMAC सीक्रेट।
मुद्रा: स्टोर की मुद्रा आपके Paymob देश की मुद्रा होनी चाहिए: मिस्र के लिए EGP, संयुक्त अरब अमीरात के लिए AED, सऊदी अरब के लिए SAR, ओमान के लिए OMR, पाकिस्तान के लिए PKR। किसी अन्य मुद्रा में चेकआउट पर यह भुगतान विधि छिपी रहती है।
VibeFox लाइसेंस कुंजी: vibefox.net से खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।
इंस्टॉलेशन
1. WordPress में Plugins > Add New > Upload Plugin पर जाएँ, प्लगइन की ZIP फ़ाइल चुनें और Install Now पर क्लिक करें। आप FTP से wcp_paymob_pay फ़ोल्डर को /wp-content/plugins/ में भी अपलोड कर सकते हैं।
2. Activate पर क्लिक करें।
3. सेटिंग्स खोलें: WooCommerce > Settings > Payments > Paymob > Manage, या Plugins पेज पर प्लगइन के नाम के नीचे Settings पर क्लिक करें।
4. पेज के ऊपर वाले लाइसेंस ब्लॉक में अपनी VibeFox लाइसेंस कुंजी डालें और Activate पर क्लिक करें।
5. Paymob country चुनें और API key, इंटीग्रेशन ID, iFrame ID और HMAC सीक्रेट डालें (देखें कॉन्फ़िगरेशन)।
6. Paymob डैशबोर्ड में अपने इंटीग्रेशन के कॉलबैक URL को सेटिंग्स पेज पर दिखाए गए URL पर सेट करें (देखें Callbacks)।
7. Enable/Disable चालू करें। किसी Paymob टेस्ट इंटीग्रेशन के ID से भुगतान का परीक्षण करें, फिर अपने लाइव इंटीग्रेशन का ID डालें।
कॉन्फ़िगरेशन
सभी सेटिंग्स एक ही पेज पर हैं: WooCommerce > Settings > Payments > Paymob। फ़ील्ड्स के ऊपर यह पेज चेतावनी देता है जब चार Paymob मानों में से कोई एक नहीं भरा गया हो (तब तक चेकआउट पर Paymob नहीं दिखता), और जब स्टोर की मुद्रा चुने गए Paymob देश द्वारा स्वीकार्य न हो। एक बॉक्स में Copy बटन के साथ कॉलबैक URL और चुने गए देश के Paymob डैशबोर्ड का लिंक दिखता है।
सामान्य
Enable/Disable: Enable Paymob भुगतान विधि को चालू या बंद करता है। डिफ़ॉल्ट: बंद।
Title: वह नाम जो ग्राहक चेकआउट पर भुगतान विधि के रूप में देखते हैं। डिफ़ॉल्ट: Paymob।
Description: चेकआउट पर भुगतान विधि के नीचे दिखने वाला टेक्स्ट। डिफ़ॉल्ट: Pay securely by card or mobile wallet on the Paymob payment page.
Paymob खाता
सभी मान आपके Paymob मर्चेंट डैशबोर्ड में हैं। कोई अलग टेस्ट मोड नहीं है: टेस्ट भुगतान के लिए टेस्ट मोड वाले इंटीग्रेशन का इंटीग्रेशन ID डालें। कोई अन्य सेटिंग नहीं बदलती।
Paymob country: आपके Paymob खाते का देश। यह API और भुगतान पेज सर्वर चुनता है, और स्टोर की मुद्रा इसी देश की मुद्रा होनी चाहिए। डिफ़ॉल्ट: Egypt।
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 के अंतर्गत। आवश्यक: ऑर्डर केवल इसी सीक्रेट से साइन किए गए कॉलबैक द्वारा भुगतान किए हुए माने जाते हैं।
Integration ID और iFrame ID में केवल अंक हो सकते हैं। खाली स्थान हटा दिए जाते हैं। कोई भी अन्य मान सेव करते समय अस्वीकार होता है, और संदेश दिखता है कि फ़ील्ड must contain digits only — the previous value was kept।
Callbacks
Paymob हर लेन-देन की जानकारी आपके स्टोर को देता है। Paymob डैशबोर्ड में Developers > Payment Integrations खोलें, अपना इंटीग्रेशन चुनें, Edit पर क्लिक करें और Transaction processed callback तथा Transaction response callback दोनों को सेटिंग्स पेज पर दिखाए गए URL पर सेट करें। यह कुछ इस तरह दिखता है: https://your-site/wc-api/paymob_pay/। Copy बटन से इसे कॉपी करें। जो भी इंटीग्रेशन आप इस्तेमाल करते हैं, टेस्ट इंटीग्रेशन सहित, उन सभी में URL सेट करें।
लेन-देन प्रोसेस होने का कॉलबैक Paymob सर्वर भेजता है। लेन-देन की प्रतिक्रिया वाला कॉलबैक ग्राहक को आपके स्टोर पर वापस लाता है। दोनों आपकी HMAC सीक्रेट से साइन होते हैं और प्लगइन उनकी जाँच करता है। मान्य हस्ताक्षर के बिना आए कॉलबैक अस्वीकार होते हैं और कुछ नहीं बदलते। अगर सर्वर कॉलबैक देर से आए या खो जाए, तो साइन किया हुआ ग्राहक का वापस आना भी भुगतान की पुष्टि करता है।
उन्नत
Debug log: Log payment steps and callbacks भुगतान के चरण और कॉलबैक को WooCommerce > Status > Logs में, स्रोत wcp_paymob_pay के साथ लिखता है। त्रुटियाँ और अस्वीकृत कॉलबैक हमेशा दर्ज होते हैं। कुंजियाँ, टोकन और ग्राहक का डेटा कभी नहीं लिखे जाते। डिफ़ॉल्ट: बंद।
Clean uninstall: Delete the plugin settings and logs when the plugin is deleted. प्लगइन को निष्क्रिय करने से कुछ भी नहीं हटता। ऑर्डरों पर सेव किए गए Paymob ID बने रहते हैं। डिफ़ॉल्ट: बंद।
चेकआउट
ग्राहक भुगतान विधि चुनता है (डिफ़ॉल्ट रूप से Paymob) और ऑर्डर देता है। प्लगइन ऑर्डर की मुद्रा में ऑर्डर की कुल राशि के लिए एक नया Paymob ऑर्डर बनाता है, ग्राहक का नाम, ईमेल, फ़ोन और बिलिंग पता Paymob को भेजता है, और ग्राहक को आपके देश के Paymob भुगतान पेज पर ले जाता है। वहाँ ग्राहक आपके इंटीग्रेशन की किसी एक विधि से भुगतान करता है, जैसे कार्ड या मोबाइल वॉलेट।
भुगतान के बाद ग्राहक आपके स्टोर पर लौटता है। ऑर्डर तभी भुगतान किया हुआ चिह्नित होता है जब Paymob उसकी साइन किए हुए लेन-देन से पुष्टि करे। भुगतान पूरा, लंबित या अधिकृत होने पर ग्राहक ऑर्डर प्राप्ति पेज पर पहुँचता है।
अगर भुगतान अस्वीकृत हुआ, तो ग्राहक Your Paymob payment was not completed. Please try again or choose another payment method. संदेश के साथ चेकआउट पर लौटता है (या, अगर भुगतान Pay for order पेज पर शुरू हुआ था, तो उसी पेज पर)। हर नए प्रयास को अपना 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. तकनीकी कारण लॉग में लिखा जाता है।
यह भुगतान विधि क्लासिक चेकआउट, Checkout ब्लॉक और Pay for order पेज पर काम करती है। Pay for order पेज पर स्टोर की मुद्रा के बजाय ऑर्डर की मुद्रा जाँची जाती है। यह WooCommerce High-Performance Order Storage (HPOS) के साथ संगत है।
प्लगइन Paymob पेज पर केवल एक बार होने वाले भुगतान स्वीकार करता है। इसमें सेव्ड कार्ड, सब्सक्रिप्शन, आपकी साइट पर एम्बेडेड कार्ड फ़ॉर्म या WooCommerce से रिफ़ंड नहीं हैं।
ऑर्डर
ऑर्डर स्टेटस
Pending payment: ग्राहक को Paymob पर भेजा गया है और उसने अभी भुगतान नहीं किया है, या Paymob ने अभी भुगतान की पुष्टि नहीं की है।
Processing: Paymob ने भुगतान की पुष्टि कर दी है। केवल डाउनलोड होने वाले वर्चुअल उत्पादों वाले ऑर्डर WooCommerce के डिफ़ॉल्ट, यानी पूर्ण (Completed), में बदल जाते हैं। ऑर्डर नोट में Paymob लेन-देन, राशि और कार्ड का प्रकार व अंतिम चार अंक दिखते हैं। लेन-देन ID वही Paymob लेन-देन ID है।
On hold: भुगतान Paymob पर लंबित है, जैसे नकद या कियोस्क भुगतान; या Paymob ने राशि केवल अधिकृत की है और कैप्चर नहीं की (इसे Paymob डैशबोर्ड में कैप्चर करें; कैप्चर कॉलबैक आने पर ऑर्डर पूरा होता है); या भुगतान की गई राशि या मुद्रा ऑर्डर से मेल नहीं खाती; या किसी रद्द किए गए ऑर्डर के लिए भुगतान आया है। कारण ऑर्डर नोट में समझाया गया है।
Failed: Paymob ने लंबित ऑर्डर का भुगतान अस्वीकार कर दिया। ग्राहक दोबारा भुगतान कर सकता है।
अगर पहले से भुगतान किए गए ऑर्डर के लिए दूसरा सफल भुगतान आता है, तो ऑर्डर नहीं बदलता। एक नोट आपसे Paymob डैशबोर्ड में डुप्लिकेट भुगतान का रिफ़ंड करने को कहता है। पहले भुगतान किए गए और बाद में रद्द किए गए ऑर्डर, या रिफ़ंड किए गए ऑर्डर के लिए आया भुगतान केवल एक नोट जोड़ता है: ऑर्डर फिर से नहीं खुलता।
रिफ़ंड
WooCommerce से रिफ़ंड समर्थित नहीं हैं। भुगतान का रिफ़ंड या void Paymob डैशबोर्ड में करें। जब Paymob रिफ़ंड या void की सूचना देता है, तो ऑर्डर में एक नोट जुड़ जाता है और ऑर्डर का स्टेटस नहीं बदलता। ऑर्डर को मैन्युअल रूप से अपडेट करें, जैसे WooCommerce में मैन्युअल रिफ़ंड के ज़रिए।
लाइसेंस कुंजी
प्लगइन vibefox.net से मिली VibeFox लाइसेंस कुंजी के साथ काम करता है। लाइसेंस ब्लॉक WooCommerce > Settings > Payments > Paymob के ऊपर होता है। कुंजी को License key में चिपकाएँ और Activate पर क्लिक करें। ब्लॉक में स्टेटस दिखता है, जैसे लाइसेंस किस तारीख तक सक्रिय है, और आपका डोमेन। स्टेटस दोबारा जाँचने के लिए Check now इस्तेमाल करें, कोई दूसरी कुंजी डालने के लिए Change key, और इस साइट से कुंजी हटाने के लिए Remove key। Manage licenses and domains in your account लिंक आपका vibefox.net खाता खोलता है।
एक कुंजी एक डोमेन पर काम करती है। किसी साइट से कुंजी हटाने से उसका डोमेन स्लॉट खाली नहीं होता। अपने vibefox.net खाते में स्लॉट खाली करें।
सक्रिय कुंजी के बिना चेकआउट पर ग्राहकों को Paymob नहीं दिखता। फिर भी अगर भुगतान शुरू होता है, तो ग्राहक को This payment method is not available. Please choose another one. दिखता है। लॉगिन किए हुए स्टोर मैनेजर अब भी भुगतान विधि देखते हैं, जिस पर (unlicensed — visible to admins only) लिखा होता है, ताकि आप कुंजी खरीदने से पहले प्लगइन सेट अप और टेस्ट कर सकें। प्लगइन पेज और WooCommerce पेजों पर एक याद दिलाने वाला संदेश दिखता है। मौजूदा ऑर्डर प्रभावित नहीं होते: जो भुगतान पहले से शुरू हो चुके हैं, उनकी पुष्टि होती रहती है।
लाइसेंस की अवधि समाप्त होने पर प्लगइन काम करता रहता है, लेकिन अपडेट और सपोर्ट के लिए नवीनीकरण ज़रूरी है। स्टेटस पृष्ठभूमि में अपने-आप फिर से जाँचा जाता है।
समस्या निवारण
चेकआउट पर Paymob दिखाई नहीं देता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, चारों मान (API key, Integration ID, iFrame ID, HMAC secret) भरे हुए हैं, और स्टोर की मुद्रा चुने गए Paymob country की मुद्रा है। कुछ छूटने पर सेटिंग्स पेज चेतावनी दिखाता है। कई-मुद्रा वाले Paymob खाते के डेवलपर paymob_p_supported_currencies फ़िल्टर से स्वीकार्य मुद्राएँ बढ़ा सकते हैं।
भुगतान हो गया, लेकिन ऑर्डर Pending payment पर रहता है: कॉलबैक आपके स्टोर तक नहीं पहुँच रहे हैं। जाँचें कि इस्तेमाल किए गए इंटीग्रेशन के Transaction processed callback और Transaction response callback सेटिंग्स पेज के URL से बिल्कुल मेल खाते हैं, और HMAC secret उसी Paymob खाते का है। अस्वीकृत कॉलबैक WooCommerce > Status > Logs में, स्रोत wcp_paymob_pay के साथ चेतावनी के रूप में दर्ज होते हैं, भले ही डीबग लॉग बंद हो।
कॉलबैक Invalid signature का जवाब देता है: सेटिंग्स में HMAC सीक्रेट Paymob खाते से मेल नहीं खाता, या किसी दूसरे देश का खाता चुना गया है। HMAC सीक्रेट दोबारा कॉपी करें।
कॉलबैक Not configured का जवाब देता है: HMAC सीक्रेट खाली है। सीक्रेट डालें; Paymob कॉलबैक दोबारा भेजेगा।
कॉलबैक locked का जवाब देता है: उसी समय कोई दूसरा अनुरोध, जैसे ग्राहक की वापसी, ऑर्डर अपडेट कर रहा था। Paymob कॉलबैक दोबारा भेजेगा।
ग्राहक को ऑर्डर देते समय त्रुटि दिखती है: Debug log चालू करें और लॉग देखें। Paymob payments are temporarily unavailable का मतलब है गलत API key या कोई मान गायब है। Paymob could not start the payment का मतलब है कि Paymob ने अनुरोध अस्वीकार किया, जैसे गलत इंटीग्रेशन ID या अधूरे बिलिंग विवरण के कारण। This order cannot be paid with Paymob का मतलब है कि ऑर्डर की कुल राशि शून्य है।
भुगतान के बाद ऑर्डर On hold है: ऑर्डर नोट पढ़ें। भुगतान लंबित है (नकद या कियोस्क), लेन-देन केवल अधिकृत हुआ है (इसे Paymob डैशबोर्ड में कैप्चर करें), राशि या मुद्रा मेल नहीं खाई, या ऑर्डर रद्द होने के बाद भुगतान आया। कारण ऑर्डर नोट में समझाया गया है।
टेस्ट भुगतान: Paymob टेस्ट इंटीग्रेशन का ID Integration ID में डालें और उस इंटीग्रेशन में कॉलबैक URL सेट करें। असली भुगतान के लिए अपने लाइव इंटीग्रेशन का ID फिर से डालें।
लाइसेंस ब्लॉक में त्रुटि दिखती है: ब्लॉक के संदेश का पालन करें। उदाहरण के लिए, अगर कुंजी किसी दूसरे डोमेन पर पहले से इस्तेमाल हो रही है, तो अपने vibefox.net खाते में स्लॉट खाली करें और Check now पर क्लिक करें। अगर साइट का पता बदल गया है, तो नए डोमेन के लिए कुंजी सक्रिय करने हेतु Check now पर क्लिक करें। अगर लाइसेंस सर्वर तक नहीं पहुँच पाता, तो प्लगइन अंतिम ज्ञात स्टेटस के साथ काम करता रहता है।
अनइंस्टॉल
प्लगइन को निष्क्रिय करने पर सारा डेटा सुरक्षित रहता है। इसे हटाने के लिए Plugins पेज पर इसे निष्क्रिय करके डिलीट करें। इस प्लगइन की लाइसेंस कुंजी और लाइसेंस स्टेटस हमेशा हटा दिए जाते हैं। गेटवे सेटिंग्स और लॉग तभी हटते हैं जब Clean uninstall चालू था। अन्यथा वे बाद में दोबारा इंस्टॉल करने के लिए बने रहते हैं। मौजूदा ऑर्डर अपने भुगतान नोट, लेन-देन ID और Paymob ID रखते हैं।
Paymob उसके संबंधित स्वामी का ट्रेडमार्क है। यह प्लगइन Paymob से संबद्ध नहीं है और इसे Paymob का समर्थन प्राप्त नहीं है।
