VibeFox PostNL for WooCommerce — सहायता
आवश्यकताएँ
WordPress: 5.8 या उसके बाद का संस्करण।
WooCommerce: 7.0 या उसके बाद का संस्करण, इंस्टॉल और सक्रिय। WooCommerce के बिना प्लगइन सक्रिय नहीं होता।
PHP: 8.0 या उसके बाद का संस्करण।
PostNL API कुंजी (केवल पिकअप पॉइंट के लिए): पिकअप पॉइंट PostNL Checkout API से लोड होते हैं। PostNL के बिज़नेस ग्राहक अपनी API कुंजी Mijn PostNL में My account > API beheren के अंतर्गत पा सकते हैं। PostNL सैंडबॉक्स के लिए अलग सैंडबॉक्स कुंजी चाहिए। घर तक डिलीवरी विधियों को कुंजी की ज़रूरत नहीं है।
VibeFox लाइसेंस कुंजी: vibefox.net से खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।
इंस्टॉलेशन
1. WordPress में Plugins > Add New > Upload Plugin पर जाएँ, प्लगइन की ZIP फ़ाइल चुनें और Install Now पर क्लिक करें। आप vfd_postnl फ़ोल्डर को FTP से /wp-content/plugins/ में भी अपलोड कर सकते हैं।
2. Activate पर क्लिक करें।
3. सेटिंग्स खोलें: WooCommerce > Settings > Shipping > VibeFox PostNL, या Plugins पेज पर प्लगइन के नाम के नीचे Settings पर क्लिक करें।
4. पेज के ऊपर लाइसेंस ब्लॉक में अपनी VibeFox लाइसेंस कुंजी डालें और Activate पर क्लिक करें।
5. कीमतें भरें। पिकअप पॉइंट के लिए PostNL की API key और Ship from (postcode) भी भरें (देखें कॉन्फ़िगरेशन)।
6. WooCommerce > Settings > Shipping > Shipping zones में किसी शिपिंग ज़ोन में VibeFox PostNL जोड़ें, उदाहरण के लिए नीदरलैंड और बेल्जियम। ज़ोन में Title और Delivery to सेट करें। दूसरे डिलीवरी प्रकार के लिए विधि को दूसरी बार जोड़ें।
कॉन्फ़िगरेशन
शीर्षक और डिलीवरी प्रकार को छोड़कर सभी सेटिंग्स एक ही पेज पर हैं: WooCommerce > Settings > Shipping > VibeFox PostNL। ये सभी शिपिंग ज़ोन पर लागू होती हैं। जब आप विधि को किसी ज़ोन में जोड़ते हैं, तो ज़ोन विंडो में दो फ़ील्ड होते हैं:
Title (zone): इस ज़ोन विधि के लिए ग्राहक को दिखने वाला नाम। ग्लोबल Name इस्तेमाल करने के लिए खाली छोड़ें।
Delivery to (zone): As in the global settings (डिफ़ॉल्ट), PostNL pickup point (customer chooses a point), या Home address। दोनों विकल्प देने के लिए विधि को एक ज़ोन में दो बार जोड़ें।
सेटिंग्स के ऊपर पेज चेतावनियाँ दिखाता है: पिकअप पॉइंट के लिए API कुंजी या शिप-फ़्रॉम पिनकोड का न होना, सैंडबॉक्स चालू होना, कोई कीमत सेट न होना, और PostNL के अंतिम विफल अनुरोध की तारीख व त्रुटि।
सामान्य
Enable/Disable: सभी ज़ोन में PostNL डिलीवरी को एक साथ चालू या बंद करता है।
Name: चेकआउट पर दिखने वाला शिपिंग विधि का नाम। ज़ोन में सेट Title इसे बदल देता है। डिफ़ॉल्ट: PostNL।
Delivery to: As in the global settings का उपयोग करने वाली ज़ोन विधियों के लिए और Ignore zones मोड के लिए डिफ़ॉल्ट डिलीवरी प्रकार।
Tax status: Taxable शिपिंग लागत पर WooCommerce टैक्स जोड़ता है, None नहीं जोड़ता।
PostNL API (पिकअप पॉइंट) (घर तक डिलीवरी के लिए ज़रूरी नहीं)
API key: Mijn PostNL (My account > API beheren) से आपकी PostNL API कुंजी। यह "apikey" हेडर में PostNL को भेजी जाती है, WordPress डेटाबेस में सहेजी जाती है, और कभी ग्राहकों को नहीं दिखाई जाती या लॉग में नहीं लिखी जाती।
Sandbox: PostNL सैंडबॉक्स (api-sandbox.postnl.nl) और सैंडबॉक्स API कुंजी का उपयोग करता है। तब ग्राहकों को टेस्ट पिकअप पॉइंट दिखते हैं। लाइव स्टोर पर इसे बंद रखें।
Ship from (country): वह देश जहाँ से आप अपने पार्सल PostNL को सौंपते हैं: नीदरलैंड या बेल्जियम। डिफ़ॉल्ट रूप से यह आपके स्टोर का देश है। PostNL पिकअप की तारीख के लिए प्रेषक का पता इस्तेमाल करता है।
Ship from (postcode): प्रेषक का पिनकोड, उदाहरण के लिए नीदरलैंड में 1234AB या बेल्जियम में 1000। यदि स्टोर उसी देश में है तो खाली छोड़ें, ताकि WooCommerce > Settings > General का स्टोर पिनकोड इस्तेमाल हो। अमान्य पिनकोड एक संदेश के साथ अस्वीकार होता है। API कुंजी, सैंडबॉक्स सेटिंग या शिप-फ़्रॉम पता बदलने पर कैश की गई पिकअप पॉइंट सूचियाँ साफ़ हो जाती हैं।
कीमतें (स्टोर की मुद्रा में)
PostNL के पास कोई सार्वजनिक रेट API नहीं है, इसलिए प्लगइन लाइव रेट नहीं मंगाता और कीमतें कभी परिवर्तित नहीं करता।
Price per country: हर गंतव्य देश के लिए एक पंक्ति। पंक्ति जोड़ने के लिए + Add country पर क्लिक करें, और हटाने के लिए क्रॉस पर। जिस देश की अपनी पंक्ति न हो, उन सभी देशों के लिए * All other countries चुनें। हर पंक्ति में एक Price होता है और कार्ट के वज़न के अनुसार वैकल्पिक वज़न वर्ग होते हैं: XS 1 kg तक, S 2 kg तक, M 3 kg तक, L 5 kg तक, और XL 5 kg से अधिक। वज़न वर्ग की कीमत Price को ओवरराइड करती है; Price इस्तेमाल करने के लिए खाली छोड़ें। Price 0 का मतलब मुफ़्त शिपिंग है। "6.95" और "6,95" दोनों स्वीकार होते हैं। सेव करते समय खाली पंक्तियाँ और अमान्य देश कोड हटा दिए जाते हैं। यदि कोई देश दो बार आए, तो पहली पंक्ति रखी जाती है। अमान्य कीमतें एक संदेश के साथ अनदेखी की जाती हैं।
Calculation: Per order कीमत एक बार लेता है। Per item (price x quantity) उसे कार्ट में शिप होने योग्य आइटमों की संख्या से गुणा करता है।
Price for other countries: तब उपयोग होता है जब तालिका में न देश हो और न * पंक्ति। वहाँ विधि छिपाने के लिए खाली छोड़ें।
शर्तें
Free shipping from: वह कार्ट सबटोटल जिससे डिलीवरी मुफ़्त होगी। यह केवल वहीं लागू होता है जहाँ कीमत मिलती है। कभी मुफ़्त शिपिंग न देने के लिए खाली छोड़ें।
Minimum subtotal: विधि तभी दिखाएँ जब कार्ट सबटोटल कम से कम इतना हो। हमेशा दिखाने के लिए खाली छोड़ें।
Minimum weight (kg): कार्ट का वज़न इससे कम हो तो विधि छिपाएँ। उत्पादों का वज़न आपके स्टोर की इकाई से बदला जाता है। कोई सीमा न होने के लिए खाली छोड़ें।
Maximum weight (kg): भारी कार्ट के लिए विधि छिपाएँ। डिफ़ॉल्ट: 30 (PostNL पार्सल Benelux में 30 kg तक जाते हैं)। कोई सीमा न होने के लिए खाली छोड़ें।
Hide for shipping classes: यदि कार्ट में इन WooCommerce शिपिंग क्लासों में से किसी का उत्पाद हो, तो विधि छिपाएँ।
सभी राशियाँ और वज़न दशमलव अल्पविराम स्वीकार करते हैं, हज़ार विभाजक के साथ भी (1.234,50 या 1,234.50)। अमान्य संख्या एक संदेश के साथ अनदेखी होती है।
शिपिंग ज़ोन के बिना उपलब्धता
Ignore zones: जब कोई ज़ोन PostNL नहीं जोड़ता, तब नीचे दिए देशों में भी PostNL देता है। जिन ज़ोन में विधि है, वे सामान्य रूप से चलते रहते हैं। यह मोड ग्लोबल Name और Delivery to का उपयोग करता है।
Countries: इस मोड के गंतव्य देश। स्टोर जिन सभी देशों में शिप करता है, उनके लिए खाली छोड़ें। यह फ़ील्ड केवल तब उपयोग होता है जब Ignore zones चालू हो।
उन्नत
Debug log: डिबग संदेश WooCommerce > Status > Logs में लिखता है (स्रोत "vfd-postnl")। API त्रुटियाँ हमेशा लॉग होती हैं। कोई API कुंजी या ग्राहक डेटा नहीं लिखा जाता। काम पूरा होने पर लॉग बंद करें।
Remove data on uninstall: चालू होने पर प्लगइन हटाने से PostNL सेटिंग्स और ज़ोन विधियाँ हट जाती हैं। प्लगइन को निष्क्रिय करने से सेटिंग्स कभी नहीं हटतीं। ऑर्डरों में सहेजे गए पिकअप पॉइंट हमेशा रहते हैं।
चेकआउट पर यह कैसे काम करता है
जब ग्राहक डिलीवरी पता डालता है, तो WooCommerce प्लगइन से रेट माँगता है। प्लगइन शर्तें जाँचता है: कार्ट का वज़न, न्यूनतम सबटोटल और शिपिंग क्लास। फिर वह देश और वज़न वर्ग के लिए तालिका से कीमत लेता है, या अन्य देशों की कीमत। कीमत न हो तो विधि छिप जाती है। यदि कार्ट सबटोटल Free shipping from तक पहुँचता है, तो कीमत 0 होती है।
पिकअप पॉइंट विधि केवल नीदरलैंड और बेल्जियम के पतों के लिए और केवल API कुंजी होने पर दी जाती है। ग्राहक द्वारा वैध पिनकोड डालते ही प्लगइन PostNL Checkout API से निकटतम पिकअप पॉइंट माँगता है। वह ग्राहक का पिनकोड, सड़क, मकान नंबर, शहर और देश, तथा आपका शिप-फ़्रॉम पता भेजता है। घर तक डिलीवरी विधियों के लिए कुछ नहीं भेजा जाता। यदि PostNL तक पहुँच न हो या पते के लिए कोई पॉइंट न हो, तो पिकअप पॉइंट विधि छिप जाती है और आपकी अन्य विधियाँ उपलब्ध रहती हैं। API टाइमआउट 12 सेकंड है।
पॉइंट सूचियाँ हर पिनकोड के लिए 6 घंटे तक कैश होती हैं, और "कोई पॉइंट नहीं" उत्तर 1 घंटे तक। विफल अनुरोध 10 मिनट तक कैश होते हैं, ताकि किसी आउटेज से हर चेकआउट रिफ़्रेश धीमा न हो। अंतिम त्रुटि सेटिंग्स स्क्रीन पर दिखती है।
यह विधि क्लासिक चेकआउट और Cart व Checkout ब्लॉक पर काम करती है। यह WooCommerce के High-Performance Order Storage (HPOS) के साथ संगत है।
यह प्लगइन PostNL से लाइव रेट नहीं मंगाता और शिपिंग लेबल, बारकोड, track and trace, रिटर्न या प्री-अलर्ट नहीं बनाता। इसमें डिलीवरी-दिन, शाम या सुबह की डिलीवरी के विकल्प नहीं हैं। सहेजे गए पिकअप पॉइंट का उपयोग करके Mijn PostNL या किसी अन्य PostNL टूल में शिपमेंट बनाएँ।
पिकअप पॉइंट
जब ग्राहक पिकअप पॉइंट विधि चुनता है, तो उसके नीचे PostNL pickup point सूची दिखती है, जिसमें तीन निकटतम पॉइंट होते हैं: कंपनी का नाम, पता और दूरी। पिनकोड डालने से पहले ग्राहक को यह संदेश दिखता है: "PostNL पिकअप पॉइंट देखने के लिए अपना पिनकोड डालें (उदाहरण के लिए 1234 AB)।" (बेल्जियम के लिए 4 अंक)। चेकआउट रिफ़्रेश होने पर चुनाव याद रहता है।
पॉइंट अनिवार्य है। उसके बिना चेकआउट "कृपया एक PostNL पिकअप पॉइंट चुनें।" संदेश के साथ रुक जाता है। सर्वर पॉइंट की जाँच डिलीवरी पते के लिए PostNL की सूची से करता है। यदि वह सूची में नहीं है, तो चेकआउट "चुना गया PostNL पिकअप पॉइंट इस पते के लिए उपलब्ध नहीं है। कृपया इसे फिर से चुनें।" संदेश के साथ रुक जाता है। ऑर्डर के साथ सहेजे गए नाम और पते PostNL से आते हैं, ब्राउज़र से नहीं।
एडमिन ऑर्डर स्क्रीन: डिलीवरी पते के नीचे नाम, पते और Location code के साथ PostNL pickup point।
धन्यवाद पेज और मेरा खाता ऑर्डर व्यू: नाम और पते के साथ PostNL pickup point।
ऑर्डर ईमेल: HTML और सादे टेक्स्ट ईमेल में पॉइंट का नाम और पता।
डेटाबेस में पॉइंट ऑर्डर मेटा में सहेजा जाता है: _vfd_ptnl_servicepoint_id (PostNL लोकेशन कोड), _vfd_ptnl_servicepoint_name (नाम और पता), और _vfd_ptnl_servicepoint (पार्टनर ID, कंपनी, सड़क, मकान नंबर, पिनकोड, शहर, देश)।
लाइसेंस कुंजी
यह प्लगइन vibefox.net से मिली VibeFox लाइसेंस कुंजी के साथ काम करता है। लाइसेंस ब्लॉक WooCommerce > Settings > Shipping > VibeFox PostNL के सबसे ऊपर है। कुंजी License key में चिपकाएँ और Activate पर क्लिक करें। ब्लॉक स्थिति दिखाता है, जैसे लाइसेंस किस तारीख तक सक्रिय है, और आपका डोमेन। स्थिति दोबारा जाँचने के लिए Check now, दूसरी कुंजी डालने के लिए Change key, और इस साइट से कुंजी हटाने के लिए Remove key का उपयोग करें। Manage licenses and domains in your account लिंक आपका vibefox.net खाता खोलता है।
एक कुंजी एक डोमेन पर काम करती है। किसी साइट से कुंजी हटाने से उस डोमेन का स्लॉट खाली नहीं होता। अपने vibefox.net खाते में स्लॉट खाली करें।
सक्रिय कुंजी के बिना चेकआउट पर PostNL ग्राहकों को नहीं दिखता। लॉग-इन किए स्टोर मैनेजर इसे अब भी (unlicensed — visible to admins only) चिह्न के साथ देखते हैं, ताकि आप कुंजी खरीदने से पहले प्लगइन सेट अप और टेस्ट कर सकें। प्लगइन पेज और WooCommerce पेजों पर एक रिमाइंडर दिखता है। मौजूदा ऑर्डर प्रभावित नहीं होते।
लाइसेंस समाप्त होने पर भी प्लगइन काम करता रहता है, लेकिन अपडेट और सहायता के लिए नवीनीकरण चाहिए। स्थिति पृष्ठभूमि में अपने-आप फिर से जाँची जाती है।
समस्या निवारण
चेकआउट पर PostNL नहीं दिखता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, और विधि ग्राहक के देश के ज़ोन में जुड़ी है (या Ignore zones चालू है और देश की अनुमति है)। देश के लिए कीमत, वज़न सीमाएँ, Minimum subtotal और Hide for shipping classes भी जाँचें।
पिकअप पॉइंट विधि नहीं दिखती: यह केवल नीदरलैंड और बेल्जियम के पतों के लिए, केवल API कुंजी, शिप-फ़्रॉम पिनकोड और कीमत होने पर, और केवल तब दिखती है जब PostNL ग्राहक के पिनकोड के लिए पॉइंट लौटाए। सेटिंग्स स्क्रीन के ऊपर की चेतावनियाँ और WooCommerce > Status > Logs (स्रोत "vfd-postnl") देखें। त्रुटियाँ हमेशा लॉग होती हैं; विवरण के लिए Debug log चालू करें।
"PostNL पिकअप पॉइंट अभी लोड नहीं हो सकते": PostNL तक पहुँच नहीं हो सकी, उसने API कुंजी अस्वीकार की, या शिप-फ़्रॉम पिनकोड गायब है। सेटिंग्स स्क्रीन पर अंतिम त्रुटि दिखती है। सैंडबॉक्स कुंजी केवल Sandbox चालू होने पर, और लाइव कुंजी केवल उसके बंद होने पर काम करती है।
ग्राहकों को टेस्ट पिकअप पॉइंट दिखते हैं: Sandbox बंद करें।
डेवलपर फ़िल्टर: vfd_ptnl_number_of_locations (डिफ़ॉल्ट 3), vfd_ptnl_checkout_request (रिक्वेस्ट बॉडी) और vfd_ptnl_api_url।
लाइसेंस ब्लॉक में त्रुटि दिखती है: ब्लॉक के संदेश का पालन करें। उदाहरण के लिए, यदि कुंजी किसी और डोमेन पर पहले से उपयोग में है, तो अपने vibefox.net खाते में स्लॉट खाली करें और Check now पर क्लिक करें। यदि साइट का पता बदल गया है, तो नए डोमेन के लिए कुंजी सक्रिय करने हेतु Check now पर क्लिक करें। यदि लाइसेंस सर्वर तक पहुँच नहीं हो सकती, तो प्लगइन अंतिम ज्ञात स्थिति के साथ काम करता रहता है।
अनइंस्टॉल
प्लगइन को निष्क्रिय करने पर सभी सेटिंग्स रहती हैं और केवल कैश की गई पिकअप पॉइंट सूचियाँ साफ़ होती हैं। हटाने के लिए, Plugins पेज पर उसे निष्क्रिय करके डिलीट करें। इस प्लगइन की लाइसेंस कुंजी और लाइसेंस स्थिति, कैश की गई पिकअप पॉइंट सूचियों और अंतिम API त्रुटि के साथ, हमेशा हटा दी जाती हैं। सेटिंग्स और ज़ोन विधियाँ तभी हटती हैं जब Remove data on uninstall चालू था। अन्यथा वे बाद में दोबारा इंस्टॉल करने के लिए रहती हैं। मौजूदा ऑर्डर अपनी शिपिंग लाइनें और सहेजा गया पिकअप पॉइंट रखते हैं।
PostNL उसके संबंधित स्वामी का ट्रेडमार्क है। यह प्लगइन PostNL से संबद्ध नहीं है और PostNL द्वारा समर्थित नहीं है।
