VibeFox PayPal for PrestaShop — सहायता
आवश्यकताएँ
PrestaShop: 8.0 से 9.x।
PHP: 8.0 या बाद का संस्करण। मॉड्यूल पुराने PHP संस्करणों पर इंस्टॉल नहीं होता।
PayPal खाता: PayPal Developer Dashboard में REST API ऐप वाला एक PayPal Business खाता। आपको ऐप का Client ID और Secret चाहिए। सैंडबॉक्स और लाइव ऐप के क्रेडेंशियल अलग-अलग होते हैं। वेबहुक की आवश्यकता नहीं है: मॉड्यूल हर भुगतान की पुष्टि आपके सर्वर पर करता है, जब ग्राहक चेकआउट पर होता है।
मुद्रा: PayPal द्वारा समर्थित मुद्राओं में से एक: AUD, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, ILS, JPY, MXN, MYR, NOK, NZD, PHP, PLN, SEK, SGD, THB, TWD या USD।
VibeFox लाइसेंस कुंजी: vibefox.net से खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।
इंस्टॉलेशन
1. बैक ऑफ़िस में Modules > Module Manager पर जाएँ और Upload a module पर क्लिक करें। मॉड्यूल की ZIP फ़ाइल चुनें।
2. अपलोड पूरा होने पर Configure पर क्लिक करें, या बाद में मॉड्यूल सूची में VibeFox PayPal Gateway खोजकर Configure पर क्लिक करें।
3. Configure पेज के ऊपर वाले लाइसेंस ब्लॉक में License key फ़ील्ड में अपनी VibeFox लाइसेंस कुंजी दर्ज करें और Activate पर क्लिक करें (लाइसेंस कुंजी देखें)।
4. PayPal Developer Dashboard में एक REST API ऐप (सैंडबॉक्स और/या लाइव) बनाएँ और उसका Client ID और Secret कॉपी करें।
5. जिस मोड का उपयोग करते हैं, उसके क्रेडेंशियल दर्ज करें, Capture या Authorize चुनें, Enable/Disable चालू करें और Save पर क्लिक करें।
6. PayPal सैंडबॉक्स खरीदार खाते से परीक्षण करें, फिर Sandbox mode बंद करें और लाइव क्रेडेंशियल दर्ज करें।
इंस्टॉल होने पर मॉड्यूल तीन ऑर्डर स्थितियाँ बनाता है: PayPal payment authorized, Awaiting PayPal payment और PayPal payment on hold। PrestaShop सभी मुद्राओं, देशों और ग्राहक समूहों के लिए नया भुगतान मॉड्यूल उपलब्ध कराता है। आप इन्हें Payment > Preferences में सीमित कर सकते हैं।
कॉन्फ़िगरेशन
सारी सेटिंग्स मॉड्यूल पेज पर हैं: Modules > Module Manager > VibeFox PayPal Gateway > Configure। हर सेक्शन का अपना Save बटन है, जो पूरा पेज सहेजता है। फ़ील्ड के ऊपर पेज चेतावनी देता है जब भुगतान विधि चालू हो पर चुने गए मोड का Client ID या Secret खाली हो, और जब PayPal स्टोर की डिफ़ॉल्ट मुद्रा का समर्थन न करता हो। दोनों ही स्थितियों में चेकआउट पर भुगतान विधि छिप जाती है। सैंडबॉक्स मोड चालू होने पर पेज Sandbox mode is on: payments go to the PayPal sandbox, no real money is moved. दिखाता है। सेटिंग्स सहेजने पर कैश किए गए PayPal एक्सेस टोकन हट जाते हैं, इसलिए नए क्रेडेंशियल तुरंत उपयोग होते हैं।
General
Enable/Disable: Enable PayPal Gateway भुगतान विधि को चालू या बंद करता है। डिफ़ॉल्ट: बंद।
Title: वह भुगतान विधि का नाम जो ग्राहक चेकआउट पर देखते हैं। ऑर्डर में भी यही भुगतान विधि नाम सहेजा जाता है। डिफ़ॉल्ट: PayPal। आवश्यक।
Description: चेकआउट पर भुगतान विधि के नीचे दिखाया जाने वाला पाठ। डिफ़ॉल्ट: Pay with your PayPal account or a card via PayPal.
API क्रेडेंशियल
PayPal Developer Dashboard में एक REST API ऐप बनाएँ और उसका Client ID और Secret कॉपी करें। इस सेक्शन में सैंडबॉक्स ऐप और लाइव ऐप के लिंक हैं। केवल चुने गए मोड के फ़ील्ड दिखते हैं; दोनों मोड के क्रेडेंशियल सहेजे रहते हैं।
Sandbox mode: भुगतान सैंडबॉक्स क्रेडेंशियल के साथ PayPal सैंडबॉक्स में जाते हैं; कोई वास्तविक धन नहीं चलता। डिफ़ॉल्ट: चालू। लाइव भुगतान स्वीकार करने के लिए इसे बंद करें। कैप्चर, void और रिफ़ंड हमेशा उसी वातावरण का उपयोग करते हैं जिसमें ऑर्डर का भुगतान हुआ था। चालू रहने पर ग्राहकों को भुगतान विधि के नीचे Sandbox mode: pay with a PayPal sandbox buyer account — no real money is charged. दिखता है।
Sandbox Client ID: आपके सैंडबॉक्स REST API ऐप का Client ID।
Sandbox Secret: आपके सैंडबॉक्स REST API ऐप का Secret।
Live Client ID: आपके लाइव REST API ऐप का Client ID।
Live Secret: आपके लाइव REST API ऐप का Secret।
सहेजे गए Secret फिर कभी नहीं दिखाए जाते। फ़ील्ड खाली रहता है और Saved — leave empty to keep it. दिखाता है। केवल तभी नया मान दर्ज करें जब उसे बदलना हो।
Clear saved secrets: किसी Secret पर टिक लगाकर उसे हटाने के लिए Save पर क्लिक करें। खाली फ़ील्ड सहेजा हुआ मान बनाए रखता है।
भुगतान
Payment action: जब ग्राहक भुगतान स्वीकृत करता है तो क्या होता है। डिफ़ॉल्ट: Capture।
उन्नत
Debug log: API अनुरोध मॉड्यूल फ़ोल्डर में logs/wc_plg_debug.log.php में लॉग करता है। यह फ़ाइल वेब से नहीं खोली जा सकती। यह स्विच बंद होने पर भी त्रुटियाँ और चेतावनियाँ हमेशा लॉग होती हैं। क्रेडेंशियल, टोकन और खरीदार का डेटा कभी लॉग नहीं होता। डिफ़ॉल्ट: बंद।
Log: लॉग का आकार और नवीनतम प्रविष्टियाँ दिखाता है। लॉग खाली करने के लिए Clear log पर क्लिक करें।
Delete data on uninstall: चालू होने पर मॉड्यूल अनइंस्टॉल करने से गेटवे सेटिंग्स, कैश किए गए टोकन और लॉग हट जाते हैं। ऑर्डर का भुगतान डेटा (ऑर्डर के PayPal ID, रिफ़ंड) और ऑर्डर स्थितियाँ हमेशा रखी जाती हैं। डिफ़ॉल्ट: बंद।
चेकआउट
भुगतान चरण में ग्राहक भुगतान विधि चुनता है (डिफ़ॉल्ट रूप से PayPal) और भुगतान फ़ॉर्म की जगह PayPal बटन दिखता है। बटन पर क्लिक करने पर आपका सर्वर कार्ट की मुद्रा में कार्ट के कुल के बराबर PayPal ऑर्डर बनाता है। राशि हमेशा सर्वर पर गणना की जाती है, ब्राउज़र में नहीं। इस बिंदु पर अभी कोई ऑर्डर मौजूद नहीं होता।
ग्राहक PayPal विंडो में PayPal खाते या PayPal द्वारा दिए गए किसी अन्य फ़ंडिंग स्रोत से भुगतान स्वीकृत करता है। इसके बाद चेकआउट पर PayPal payment approved. Completing your order… दिखता है और ऑर्डर बनता है। यदि सेवा की शर्तें अभी स्वीकार नहीं की गई हैं, तो चेकआउट पर PayPal payment approved. Click "Place order" to complete it. दिखता है। यदि ग्राहक बिना भुगतान स्वीकृत किए Place order पर क्लिक करता है, तो संदेश Please click the PayPal button and approve the payment first. होता है।
इसके बाद आपका सर्वर PayPal ऑर्डर पढ़ता है और जाँचता है कि वह स्वीकृत है, इसी कार्ट के लिए बनाया गया है, किसी अन्य कार्ट द्वारा उपयोग नहीं हो रहा है, और उसकी राशि व मुद्रा कार्ट से मेल खाती है। केवल तभी भुगतान कैप्चर (या ऑथराइज़) होता है, ऑर्डर बनता है, और ग्राहक को मानक ऑर्डर पुष्टि पेज दिखता है।
स्वीकृति के बाद यदि कार्ट का कुल बदल जाता है, तो कुछ भी कैप्चर नहीं होता। ग्राहक को The order total changed after you approved the payment in PayPal. Please click the PayPal button again to approve the new total. दिखता है। यदि PayPal भुगतान अस्वीकार करता है, तो ग्राहक भुगतान चरण पर लौट आता है और उससे PayPal बटन पर क्लिक करके कोई अन्य भुगतान तरीका चुनने को कहा जाता है। कोई ऑर्डर नहीं बनता। यदि ग्राहक PayPal विंडो बंद कर देता है, तो चेकआउट पर You cancelled the PayPal payment. दिखता है।
कैप्चर के दौरान यदि PayPal उत्तर नहीं देता, तो ग्राहक को We could not confirm your PayPal payment yet. Please try again in a moment — you will not be charged twice. दिखता है। स्वीकृति पेज रीलोड होने के बाद भी सुरक्षित रहती है, और Place order उसे फिर से उपयोग करता है। यदि PayPal ने पिछला प्रयास पूरा कर लिया था, तो वही भुगतान उपयोग होता है और नई स्वीकृति कैप्चर नहीं होती। यदि भुगतान हो गया हो पर ऑर्डर नहीं बन सका, तो ग्राहक को Your payment was received, but the order could not be completed automatically. Please contact us — do not pay again. दिखता है। अगला प्रयास सहेजे गए भुगतान से ऑर्डर बनाता है, बिना दोबारा शुल्क लिए।
PayPal स्क्रिप्ट केवल चेकआउट पेज पर और अपने नेमस्पेस में लोड होती है, इसलिए पेज पर किसी अन्य PayPal मॉड्यूल से टकराती नहीं है। यह मॉड्यूल Classic और Hummingbird थीम के साथ काम करता है।
इस मॉड्यूल में PayPal वेबहुक, Pay Later संदेश, कार्ड फ़ील्ड, Venmo, Apple Pay, Google Pay या Fastlane, सहेजे गए भुगतान तरीके या सब्सक्रिप्शन, और उत्पाद या कार्ट पेज पर बटन नहीं हैं। PayPal से आया पता नहीं, बल्कि PrestaShop चेकआउट में दर्ज किए गए पते उपयोग होते हैं।
ऑर्डर और रिफ़ंड
ऑर्डर स्थितियाँ
No order yet: ग्राहक ने भुगतान स्वीकृत नहीं किया, या PayPal ने उसे अस्वीकार कर दिया। केवल कार्ट मौजूद है।
Payment accepted: कैप्चर पूरा हो गया है। PayPal की पुष्टि के बाद ही ऑर्डर भुगतान किया हुआ चिह्नित होता है। भुगतान PayPal कैप्चर ID को ट्रांज़ैक्शन ID के रूप में दर्ज होता है, और एक नोट में राशि, PayPal ऑर्डर और कैप्चर दिखते हैं।
PayPal payment authorized: भुगतान ऑथराइज़ हो गया है और कैप्चर की प्रतीक्षा में है (भुगतान क्रिया Authorize)।
Awaiting PayPal payment: कैप्चर PayPal पर PENDING है, उदाहरण के लिए भुगतान समीक्षा में।
PayPal payment on hold: भुगतान की गई राशि या मुद्रा ऑर्डर से मेल नहीं खाती, या PayPal के उत्तर से भुगतान पढ़ा नहीं जा सका। नोट कारण समझाता है। जब PayPal ने ऑर्डर की मुद्रा में शुल्क लिया हो, तो वास्तव में चुकाई गई राशि भुगतान के रूप में दर्ज होती है। ऑर्डर जाँचें और उसे पूरा करें, या भुगतान रिफ़ंड करें।
Canceled: Void PayPal authorization से ऑथराइज़ेशन रद्द किया गया।
Payment error: लंबित कैप्चर अस्वीकार हुआ या विफल हुआ।
Refunded: मॉड्यूल के माध्यम से भुगतान पूरी तरह रिफ़ंड किया गया।
यदि ऐसे कार्ट के लिए दूसरा भुगतान आता है जिसका पहले से ऑर्डर है, तो ऑर्डर नहीं बदलता। एक नोट आपसे अपने PayPal खाते में जाँचने और रिफ़ंड करने को कहता है।
PayPal भुगतान ब्लॉक
ऑर्डर पेज पर PayPal payment ब्लॉक दिखता है, जिसमें PayPal ऑर्डर ID और intent, कैप्चर ID (आपके PayPal खाते में भुगतान से लिंक, सैंडबॉक्स या लाइव), ऑथराइज़ेशन ID, भुगतान की स्थिति, राशि, चुकाई गई और रिफ़ंड की गई राशियाँ, सैंडबॉक्स भुगतानों के लिए Sandbox बैज, रिफ़ंड इतिहास और ऑर्डर के PayPal notes शामिल हैं। ब्लॉक के बटनों के लिए ऑर्डर संपादित करने का अधिकार चाहिए, मॉड्यूल पेज की पहुँच नहीं। हर क्रिया का परिणाम ब्लॉक में दिखता है।
रिफ़ंड
PayPal payment ब्लॉक में राशि दर्ज करें (जो राशि अभी रिफ़ंड नहीं हुई है वह पहले से भर जाती है), वैकल्पिक रूप से कारण लिखें, और Refund via PayPal पर क्लिक करें। प्रश्न Refund this amount through PayPal? This cannot be undone. की पुष्टि करें। पूर्ण और आंशिक दोनों रिफ़ंड समर्थित हैं। कारण खरीदार के लिए नोट के रूप में PayPal को भेजा जाता है। रिफ़ंड उसी राशि और मुद्रा में होते हैं जो PayPal ने काटी है, इसलिए राशि या मुद्रा में असंगति के बाद आप ऑर्डर कुल के बजाय वास्तव में चुकाई गई राशि तक ही रिफ़ंड कर सकते हैं। रिफ़ंड उस PayPal वातावरण में भेजा जाता है जिसमें भुगतान हुआ था (सैंडबॉक्स या लाइव), इसलिए उस वातावरण के क्रेडेंशियल सेट होने चाहिए। यदि PayPal रिफ़ंड स्वीकार नहीं करता, तो ब्लॉक त्रुटि दिखाता है और कोई रिफ़ंड दर्ज नहीं होता। सफल रिफ़ंड PayPal रिफ़ंड ID और स्थिति के साथ रिफ़ंड इतिहास और नोट्स में जुड़ता है; PENDING रिफ़ंड को PayPal बाद में पूरा करता है। पूर्ण रिफ़ंड ऑर्डर को Refunded पर सेट करता है। आंशिक रिफ़ंड स्थिति नहीं बदलता।
केवल ऑथराइज़ किया गया भुगतान रिफ़ंड नहीं हो सकता: उसके बजाय Void PayPal authorization उपयोग करें। मॉड्यूल क्रेडिट स्लिप नहीं बनाता। ऑर्डर पेज के मानक PrestaShop रिफ़ंड बटन PayPal के माध्यम से पैसा वापस नहीं भेजते। आपके PayPal खाते में किए गए रिफ़ंड, विवाद और रिवर्सल PrestaShop के साथ सिंक नहीं होते।
लाइसेंस कुंजी
मॉड्यूल vibefox.net से प्राप्त VibeFox लाइसेंस कुंजी के साथ काम करता है। लाइसेंस ब्लॉक License — VibeFox PayPal Gateway, Modules > Module Manager > VibeFox PayPal Gateway > Configure पेज पर सबसे पहला ब्लॉक है, सेटिंग्स के ऊपर। License key में कुंजी दर्ज करें और Activate पर क्लिक करें। इसके बाद ब्लॉक में मास्क की गई कुंजी, स्थिति (जैसे लाइसेंस किस तारीख तक सक्रिय है और आपका डोमेन) और ये बटन दिखते हैं: Check now (स्थिति दोबारा जाँचने के लिए), Change key (दूसरी कुंजी दर्ज करने के लिए) और Remove key (इस स्टोर से कुंजी हटाने के लिए)। इनके नीचे Product: presta-payment-paypal वाली लाइन और 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 खाते में मुक्त करें।
सक्रिय कुंजी के बिना चेकआउट पर ग्राहकों को PayPal नहीं दिखाया जाता। अगर फिर भी भुगतान शुरू होता है, तो स्टोर PayPal ऑर्डर बनाने से इनकार करता है, और ग्राहक को An error occurred during PayPal checkout. Please try again. दिखता है। PrestaShop स्टोरफ़्रंट को नहीं पता कि आप बैक ऑफ़िस में लॉग इन हैं, इसलिए भुगतान तरीका आपसे भी छिपा रहता है: आप कुंजी खरीदने से पहले मॉड्यूल सेट कर सकते हैं, लेकिन चेकआउट पर उसे टेस्ट नहीं कर सकते। Modules > Module Manager में Alerts टैब पर एक रिमाइंडर दिखता है। मौजूदा ऑर्डर प्रभावित नहीं होते: रिफ़ंड और PayPal ब्लॉक की क्रियाएँ काम करती रहती हैं।
लाइसेंस की अवधि खत्म होने पर मॉड्यूल काम करता रहता है, लेकिन अपडेट और सपोर्ट के लिए नवीनीकरण चाहिए। बैक ऑफ़िस में काम करते समय स्थिति अपने-आप दोबारा जाँची जाती है: कुंजी दर्ज करने के बाद पहले 14 दिनों तक रोज़, फिर हर हफ़्ते एक बार। इसके लिए cron जॉब की ज़रूरत नहीं है। मॉड्यूल अनइंस्टॉल या रीसेट करने पर लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हट जाती है।
समस्या निवारण
PayPal does not appear at checkout: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, चुने गए मोड का Client ID और Secret भरा है, कार्ट की मुद्रा PayPal द्वारा समर्थित है, और कार्ट का कुल शून्य से अधिक है। जब क्रेडेंशियल या मुद्रा समस्या हो, तो सेटिंग्स पेज चेतावनी दिखाता है। Payment > Preferences में जाँचें कि मॉड्यूल कार्ट की मुद्रा, ग्राहक के देश और ग्राहक समूह के लिए अनुमत है। www.paypal.com को ब्लॉक करने वाला ब्राउज़र एक्सटेंशन भी बटन छिपा देता है।
The payment went through, but no order was created: मॉड्यूल में वेबहुक नहीं है, इसलिए भुगतान केवल चेकआउट के दौरान पुष्ट होता है। यह तब होता है जब कैप्चर के दौरान PayPal ने उत्तर नहीं दिया या ऑर्डर नहीं बन सका। Debug log चालू करें और Log फ़ील्ड देखें, अपने PayPal खाते में भुगतान जाँचें, या ग्राहक को फिर से प्रयास करने दें: दोबारा प्रयास कभी दो बार शुल्क नहीं लेता और सहेजे गए भुगतान से ऑर्डर बनाता है।
PayPal could not be loaded: ब्राउज़र में PayPal स्क्रिप्ट लोड नहीं हुई, उदाहरण के लिए किसी ब्लॉकर या नेटवर्क समस्या के कारण।
PayPal is not available right now: क्रेडेंशियल गलत हैं या दूसरे मोड के हैं। सही ऐप का Client ID और Secret फिर से कॉपी करें।
Your PayPal approval could not be matched to this checkout: इस कार्ट के लिए PayPal ऑर्डर नहीं बना था, उदाहरण के लिए सेशन समाप्त होने के बाद। ग्राहक PayPal बटन फिर से क्लिक करता है।
This payment is already being processed: वही कार्ट एक ही समय में दो बार सबमिट हुआ। ग्राहक थोड़ी देर प्रतीक्षा करे और दोबारा प्रयास से पहले ईमेल जाँचे।
The order is on hold after payment: PayPal payment ब्लॉक के नोट पढ़ें। भुगतान ऑथराइज़ हुआ था (उसे Capture PayPal payment से कैप्चर करें), कैप्चर PayPal पर PENDING है (बाद में Check PayPal payment status उपयोग करें), या चुकाई गई राशि या मुद्रा ऑर्डर से मेल नहीं खाती थी (ऑर्डर पूरा करें या चुकाई गई राशि रिफ़ंड करें)।
Capture of an authorization fails: ऑथराइज़ेशन 29 दिन से पुराना हो सकता है या पहले ही void हो चुका हो। ब्लॉक और नोट्स PayPal की त्रुटि दिखाते हैं।
Refund fails: ऑर्डर पर PayPal कैप्चर नहीं है (केवल ऑथराइज़ेशन है), राशि बची हुई रिफ़ंड योग्य राशि से अधिक है, या जिस वातावरण में भुगतान हुआ था उसके क्रेडेंशियल गायब हैं। ब्लॉक बताता है कि कौन-सा मामला है।
अनइंस्टॉल
Modules > Module Manager पर जाएँ, VibeFox PayPal Gateway के बगल का मेनू खोलें और Uninstall चुनें। इस मॉड्यूल की लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटा दी जाती हैं। यदि Delete data on uninstall चालू है, तो गेटवे सेटिंग्स, कैश किए गए PayPal एक्सेस टोकन और लॉग हटा दिए जाते हैं। यदि बंद है, तो बाद में फिर से इंस्टॉल करने के लिए सारी सेटिंग्स रखी जाती हैं। PayPal ट्रांज़ैक्शन और रिफ़ंड, तथा ऑर्डर स्थितियाँ PayPal payment authorized, Awaiting PayPal payment और PayPal payment on hold हमेशा रखी जाती हैं, इसलिए पहले चुकाए गए ऑर्डर फिर से इंस्टॉल करने के बाद भी रिफ़ंड हो सकते हैं। मौजूदा ऑर्डर अपने भुगतान नोट्स और ट्रांज़ैक्शन ID रखते हैं।
PayPal उसके संबंधित स्वामी का ट्रेडमार्क है। यह मॉड्यूल PayPal से संबद्ध नहीं है और PayPal द्वारा अनुमोदित नहीं है।
