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