में विफल रहता है Magento API V1.0 के माध्यम से नया ऑर्डर बनाने का प्रयास करते समय मुझे एक अजीब त्रुटि मिल रही है। यहां मेरे कोड का मूल वर्कफ़्लो है:एपीआई के माध्यम से ऑर्डर सृजन Magento
cart.create
विधि का उपयोग करके शॉपिंग कार्ट बनाएं।cart_customer.set
विधि का उपयोग कर ग्राहक को 'अतिथि' के रूप में सेट करें।cart_product.add
विधि का उपयोग कर कार्ट में उत्पादों को जोड़ें।cart.order
विधि का उपयोग कर ऑर्डर बनाएं।
इस बिंदु पर, cart.order विधि संदेश के साथ एक SoapFault अपवाद फेंकता है "एक सदस्य समारोह setFinalPrice() एक गैर वस्तु पर करने के लिए कॉल करें"। विधि को cart.info
या cart_product.list
जैसी अन्य विधियों के साथ प्रतिस्थापित करने के लिए एक ही अपवाद फेंक दिया गया है।
चूंकि अपवाद का संदेश बहुत वर्णनात्मक प्रतीत नहीं होता है, इसलिए मैं सोच रहा था कि किसी और ने कभी इसमें इस पर टक्कर लगी है।
धन्यवाद।
अद्यतन: समस्या इस तथ्य के कारण है कि मैं cart_product.add
विधि को कॉल करते समय अपने एसकेयू का उपयोग कर कार्ट में उत्पादों को जोड़ रहा हूं। एसकेयू के बजाय उत्पाद आईडी का उपयोग करते समय अपवाद अब नहीं फेंक दिया गया है (मुझे संदेह है कि यह एक बग हो सकता है)। हालांकि, इस बिंदु पर cart.order
विधि झूठी लौटाती है, इसलिए आदेश अभी भी नहीं बनाया गया है।
आपके पास कौन से Magento संस्करण हैं? एपीआई में आईडी/स्कू (जब स्कू संख्यात्मक है, अगर मुझे गलत नहीं है) के साथ एक त्रुटि हुई थी। इसे सीई 1.6/ईई 1.11 में तय किया जाना चाहिए था। 'Cart.order' को कॉल करने से पहले आपको ग्राहक पते जोड़ना होगा, भुगतान और शिपिंग विधियां सेट करनी होंगी। आधिकारिक देखें [उदाहरण] (http://www.magentocommerce.com/wiki/doc/webservices-api/api/cart#example)। – Zyava
@ ज़्यावा: मैं पुष्टि कर सकता हूं कि त्रुटि अभी भी Magento CE 1.6.0.0 में मौजूद है। जब मैं एसकेयू के बजाय आईडी का उपयोग करता हूं तो सब कुछ ठीक काम करता है। – Epicurus
रुको, चलिए समस्या को स्पष्ट करते हैं। जब आप संख्यात्मक स्कू के साथ कार्ट में जोड़ते हैं: '$ प्रॉक्सी-> कॉल ($ sessionId," cart_product.add ", सरणी ($ shoppingCartId, सरणी (" sku "=>" 111 ")); 'उत्पाद नहीं है कार्ट में जोड़ा गया? – Zyava