फिक्सिंग पेपैल समस्याएं
यह पृष्ठ अंग्रेजी में लिखा था, कृपया सही कोड में परिवर्तन के लिए अंग्रेजी संस्करण देख .
निम्नलिखित युक्तियों Prestashop 1.2 और 1.3 के लिए लिखे गए थे, यदि आप 1.4 Prestashop के किसी भी संस्करण का उपयोग कर रहे हैं, यकीन है कि बनाने के लिए पेपैल मॉड्यूल के नवीनतम संस्करण (मुफ्त उपलब्ध http://addons.prestashop.com/en/payments- gateways/1748-paypal.html)
1) पेपैल आदेश दिखा नहीं के साथ सबसे आम समस्या होता है जब पेपैल अपने सर्वर का उपयोग नहीं कर सकते हैं, अपनी फ़ाइल / फ़ोल्डर अनुमतियाँ गलत हैं, या अगर अपने Paypal खाते को सत्यापित नहीं किया गया है.
जाँच करें कि निम्न स्थितियाँ सही हैं:
· आपकी दुकान रखरखाव मोड (यदि कोई अपनी साइट का उपयोग कर सकते हैं, या तो पेपैल साइट में सक्षम नहीं होगा) में नहीं है.
· अपनी साइट पर कोई पासवर्ड सुरक्षा (ऊपर के रूप में एक ही कारण) है .
· ब्राउज़र से इस पृष्ठ को खोलने की कोशिश करो - http://www.yoursite.com/modules/paypal/validation.php ,अगर आप एक त्रुटि मिल (500 त्रुटि पृष्ठ प्रदर्शित नहीं कर सकते हैं), की तुलना में इस का मतलब है कि तुम एक फ़ाइल की अनुमति समस्या है. सबसे अधिक संभावना है, पेपैल निर्देशिका या पूरे मॉड्यूल निर्देशिका 777 के लिए सेट कर दिया जाता है और अपने मेजबान की अनुमति नहीं है कि (यह सुरक्षित नहीं है), यह 755 के लिए बदलने की कोशिश. तुम भी अपने सर्वर त्रुटि लॉग की जाँच कर सकते हैं (अपने cPanel से) सटीक त्रुटि मिल.
· सुनिश्चित करें कि अपने Paypal खाते सत्यापित है, अन्यथा लेनदेन स्वतः अनुमोदित नहीं करते हैं और prestashop भुगतान त्रुटि दिखाएगा.
2) पेपैल मॉड्यूल के साथ सबसे आम Sandbox मोड समस्या यह है कि आदेश की दुकान पर नहीं दिखा रहे हैं.
कारण के लिए है कि पेपैल मॉड्यूल है वर्तमान प्रतिक्रिया सिर्फ अगर यह पेपैल साइट से हो जाता है "पूर्ण" करने के आदेश बनाने के लिए सेट कर दिया जाता है, तथापि, जब Sandbox मोड में चल रहा है, पेपैल "लंबित" की एक प्रतिक्रिया भेजता है.
हम सैंडबॉक्स के लिए एक "पूर्ण" प्रतिक्रिया भेजने खाते बदलने के बारे में कुछ प्रलेखन पढ़ा है, लेकिन के बाद भी कोशिश कर रहा है कि, भुगतान अभी भी लंबित के रूप में दिखाई.
आदेश में है कि ठीक करने के लिए, / मॉड्यूल / / पेपैल validation.php लाइन # 80 में निम्न परिवर्तन कर.
यह एक आदेश के लिए एक "लंबित" स्थिति के माध्यम से जाने के साथ अनुमति है, लेकिन वे सिर्फ सैंडबॉक्स मोड में होगा.
elseif ($ _POST ['payment_status'] = 'पूर्ण'!)
करने के लिए बदल होना चाहिए
elseif ($ _POST ['payment_status'] = 'पूर्ण' और (विन्यास:!! PAYPAL_SANDBOX ('') | | $ _POST ['payment_status'] = 'लंबित'))
3) एक अन्य आम समस्या यह है कि जी मोड में रखा जाता है आदेश है कि backoffice में नहीं दिखा है, लेकिन ग्राहक अभी भी चार्ज हो जाता है.
यह अक्सर मामला है क्योंकि पेपैल से प्रतिक्रिया नहीं "पूर्ण है. "
वहाँ उस के लिए कई कारणों से हो सकता है, मुख्य हैं कि हमने पाया है :
a) Prestashop में आपका डिफ़ॉल्ट मुद्रा अपने पेपैल मुद्रा से मेल नहीं खाता है.
ख) भुगतान Echeck या अन्य तरीकों कि एक लंबा समय के लिए स्पष्ट की आवश्यकता का उपयोग किया जाता है.
ग) पेपैल का फैसला किया है कि वे लेन - देन की जांच की जरूरत है.
करना है कि, / पेपैल / validation.php में कोड (# 80 लाइन) से बदल
elseif ($ _POST ['payment_status'] = 'पूर्ण' और (विन्यास:!! PAYPAL_SANDBOX ('') | | $ _POST ['payment_status'] = 'लंबित'))
$ त्रुटियों .= $ पेपैल> getL ('भुगतान पोस्ट').$_ [' payment_statuएस'].'';
से
elseif ($ _POST ['payment_status'] = 'पूर्ण' और (विन्यास:!! PAYPAL_SANDBOX ('') | | $ _POST ['payment_status'] = 'लंबित'))
{
$ त्रुटियों .= $ पेपैल> getL ('भुगतान').$_ पोस्ट [' payment_status'].'';
मेल ("your@address.com", "ईमेल भुगतान त्रुटि", "वहाँ भुगतान के साथ एक समस्या थी, नीचे पेपैल से वापसी है" print_r ($ _POST, सच).);
}