2011-11-28 5 views
5

मैंने हाल ही में पर्यवेक्षकों और Magento घटनाओं का उपयोग करके Magento स्टोर के आने वाले आदेशों को प्रबंधित करने में मेरी सहायता के लिए कुछ स्वचालित स्क्रिप्ट सेट अप की हैं। मेरी समस्या प्रश्न के साथ काम कर रही है जब चयनित भुगतान प्रकार के आधार पर सिस्टम में बिल्कुल ऑर्डर दिया गया है और सहेजा गया है।मैगेंटो पेपैल मॉड्यूल इवेंट

उदाहरण के लिए: अगर कोई प्रीपेमेंट खो देता है, तो आदेश तुरंत सहेजा जाता है और ग्राहक स्वचालित रूप से सफलता पृष्ठ पर अग्रेषित हो जाता है - इसलिए अब तक कोई समस्या नहीं है।

यदि कोई ग्राहक पेपैल के माध्यम से भुगतान करता है, तो पूरी स्थिति पूरी तरह से अलग होती है। पेपैल पर रीडायरेक्ट होने के बाद, खाते में लॉग इन करना और भुगतान की पुष्टि करना, ग्राहक को Magento स्टोर पर रीडायरेक्ट नहीं किया जाता है। वह वहां लौटने के लिए एक लिंक पर क्लिक कर सकता है जो उसे सफलता पृष्ठ पर भी अग्रेषित करेगा लेकिन निश्चित रूप से सभी लोग ऐसा नहीं करेंगे और समस्या यह है कि उपयोगकर्ता द्वारा उपयोग किए जाने वाले पर्यवेक्षक ईवेंट केवल उस कोड पर लागू होने पर कोड निष्पादित करता है। (जिस घटना के साथ मैं काम कर रहा हूं वह है "checkout_Onepage_Controller_Success_Action")।

इसलिए मुझे यह जानने की ज़रूरत है कि मैगेंटो को जानकारी मिलती है कि क्या पेपैल भुगतान सफल हुआ था, रद्द कर दिया गया है या जो भी हो। मैंने कुछ पेपैल नियंत्रक फ़ाइलों को/एप/कोड/कोर/मेज/पेपैल/नियंत्रकों के तहत देखा/और एकमात्र चीज जो संभव समाधान के करीब दिखती थी वह मानक कंट्रोलर.एफ़.पी. में फ़ंक्शन सफलताएक्शन() था। हालांकि, यह फ़ंक्शन केवल तभी ट्रिगर होता है जब कोई ग्राहक Magento स्टोर पर वापस लौटता है, इसलिए यह मेरी मदद नहीं करता है।

क्या किसी को इस मुद्दे के साथ कुछ अनुभव है?

+0

क्या paymennt विधि का प्रयोग कर रहे बिल्कुल –

+0

मेरे उदाहरण Magento v1.5.1.0 के मानक पेपैल मॉड्यूल – FlyingM

+0

वस्तु से संबंधित घटनाओं के बजाय नियंत्रक घटनाओं ऑर्डर करने के लिए और किसी पाठ फ़ाइल में सभी घटनाओं बाहर लॉग इन करें बाध्य करने के लिए प्रयास करने के लिए संदर्भित करता है निर्दिष्ट जो आपकी प्रक्रिया के अंदर ट्रिगर किए जाते हैं, तो आप चुन सकते हैं कि उपयुक्त क्या है –

उत्तर

0

मुझे समस्या के आसपास काम करने का एक तरीका पता चला: जाहिर है Magento में कोई घटना नहीं है जो पेपैल पर आने वाले भुगतानों के अनुरूप है। एक संभावित समाधान एक आईपीएन यूआरएल प्रदान करना हो सकता है जो भुगतान की पुष्टि होने के तुरंत बाद एक स्क्रिप्ट को ट्रिगर करता है लेकिन मैं ग्राहक को अपने स्टोर में रीडायरेक्ट करने में कामयाब रहा, इसलिए मुझे ऐसा करने की ज़रूरत नहीं थी।

"वेबसाइट सेटिंग्स" के अंतर्गत पेपैल खाते की प्रोफ़ाइल सेटिंग्स में, "स्वचालित रीडायरेक्ट" नामक एक विकल्प होता है। यदि यह विकल्प सक्षम है और एक यूआरएल दर्ज किया गया है, तो ग्राहक स्वचालित रूप से उस यूआरएल को अग्रेषित कर दिया जाएगा। सबसे पहले मैंने सोचा कि यह मेरी मदद नहीं करेगा क्योंकि जैसा कि मैंने कहा है कि कई वेब दुकानें शामिल हैं जिनमें सभी का अपना व्यक्तिगत रिटर्न यूआरएल होगा और आप एक से अधिक निर्दिष्ट नहीं कर सकते हैं। हालांकि, यदि पेपैल से संपर्क करते समय एक रिटर्न यूआरएल पारित हो जाता है, तो यह प्रोफ़ाइल सेटिंग में निर्दिष्ट एक को ओवरराइड कर देगा और चूंकि Magento मॉड्यूल डिफ़ॉल्ट रूप से करता है, इसलिए मुझे टेक्स्टफील्ड में एक यादृच्छिक यूआरएल दर्ज करना था और विकल्प को सक्षम करना था , जब ग्राहक ऑर्डर देते हैं और पेपैल के माध्यम से भुगतान करते हैं तो ग्राहकों को मेरी दुकान पर वापस रीडायरेक्ट किया जाता है।