USPS 1.9.1.1 प्राथमिकता मेल इंटरनेशनल टूटी हुई


15

यदि आप प्राथमिकता मेल इंटरनेशनल का चयन करते हैं और कनाडा के लिए एक अनुमान लगाते हैं, तो शिपिंग के लिए चयन करने के लिए हैंडलिंग शुल्क एक विकल्प के रूप में आता है।

आसपास काम "प्राथमिकता मेल इंटरनेशनल" को रद्द करना है

जवाबों:


13

संपादित करें: ध्यान रखें कि Magento ने इस मुद्दे को 18 जून 2015 को अपने SUPEE-6237 पैच के साथ हल किया। समस्या को हल करने के लिए इस बिंदु पर पैच को स्थापित करना शायद आसान है।

मुझे एक समस्या थी जहां विधि नाम के बिना दर $ 0.00 के रूप में दिखाई दे रही थी। यह समस्या 31 मई, 2015 तक यूएसपीएस दर में बदलाव के साथ मेल खाती है:

31 मई, 2015 यूएसपीएस वेब टूल्स यूएस पोस्टल सर्विस एपीआई में संशोधनों और अतिरिक्त सुविधाओं को लागू करेंगे। निम्नलिखित परिवर्तन शिपिंग सिस्टम को विशेष रूप से प्रभावित कर सकते हैं:

  • कनाडा के लिए प्राथमिकता मेल इंटरनेशनल के लिए मूल ज़िप कोड आवश्यक है
  • संशोधित विशेष सेवाएं
  • संशोधित सेवा आई.डी.
  • व्यापारिक माल वापसी सेवाओं के लिए संशोधित उपलब्ध मेल क्लासेस

पहला कारण प्राथमिकता मेल अंतर्राष्ट्रीय निम्न त्रुटि देता है:

<ServiceErrors>
    <ServiceError>
        <Id>50050</Id>
        <Description>The Origin ZIP Code and the Destination Postal Code is required for Priority Mail International when mailing to Canada.</Description>
    </ServiceError>
</ServiceErrors>

समाधान फ़ाइल की प्रतिलिपि बनाना था: app/code/core/Mage/Usa/Model/Shipping/Carrier/Usps.php सेapp/code/local/Mage/Usa/Model/Shipping/Carrier/Usps.php

मैंने फिर निम्न कोड 394 लाइन में डाला:

if($r->getDestCountryId()=='CA'){
    $package->addChild('OriginZip', $r->getOrigPostal());
}

इसने मेरे लिए मुद्दा तय कर दिया।

संपादित करें: यह केवल तभी काम करेगा जब आपके पास अपना 5-अंकीय ज़िप कोड शिपिंग मूल में दर्ज हो।


मुझे यह महसूस नहीं हुआ कि यह एक प्रतिनिधि आवश्यकता थी, लेकिन ओपी के पास एक सवाल है, जिसमें उन्होंने कहा कि वह आपके जवाब में कोई टिप्पणी नहीं कर सकते: magento.stackexchange.com/questions/69946/-
माइक

1
FYI करें, जब फाइल Usps.php का संपादन करती है, तो मैंने "$ पैकेज-> addChild ('गिर्थ', $ girth) के बाद कोड रखा;" और बंद करने से पहले घुंघराले ब्रैकेट। यह "और" के अंतर्राष्ट्रीय खंड में है।
Rob Mangiafico

+ इसने मेरे लिए मैजेंटो 1.9.1 का मुद्दा हल कर दिया
जेसन मैक्कार्नी ने

क्या मुझे USPS मीडिया मेल के बारे में मदद मिल सकती है -> magento.stackexchange.com/q/227667/57334
zus

2

पैच SUPEE-6237 मेरे लिए निश्चित मुद्दा है। SUPEE-6237 में परिवर्तन हैं:

app/code/core/Mage/Usa/Model/Shipping/Carrier/Abstract.php
@@ -442,6 +442,17 @@ abstract class Mage_Usa_Model_Shipping_Carrier_Abstract extends Mage_Shipping_Mo
     }

     /**
+     * Check is Canada
+     *
+     * @param string $countryId
+     * @return boolean
+     */
+    protected function _isCanada($countryId)
+    {
+        return $countryId == 'CA';
+    }
+
+    /**
      * Check whether girth is allowed for the carrier
      *
      * @param null|string $countyDest

तथा

app/code/core/Mage/Usa/Model/Shipping/Carrier/Usps.php
@@ -392,7 +392,10 @@ class Mage_Usa_Model_Shipping_Carrier_Usps
             $package->addChild('Height', $height);
             $package->addChild('Girth', $girth);

-
+            if ($this->_isCanada($r->getDestCountryId())) {
+                //only 5 chars available
+                $package->addChild('OriginZip', substr($r->getOrigPostal(), 0, 5));
+            }
             $api = 'IntlRateV2';
         }
         $request = $xml->asXML();
@@ -477,6 +480,9 @@ class Mage_Usa_Model_Shipping_Carrier_Usps
                      else {
                         if (is_object($xml->Package) && is_object($xml->Package->Service)) {
                             foreach ($xml->Package->Service as $service) {
+                                if ($service->ServiceErrors->count()) {
+                                    continue;
+                                }
                                 $serviceName = $this->_filterServiceName((string)$service->SvcDescription);
                                 $serviceCode = 'INT_' . (string)$service->attributes()->ID;
                                 $serviceCodeToActualNameMap[$serviceCode] = $serviceName;

आशा है कि यह किसी की मदद करेगा।


0

हालांकि मूल पोस्ट Magento v1.9 के बारे में थी, मैं इसे दूसरों के लिए पोस्ट करना चाहता था जो Magento v2 के साथ एक ही समस्या का सामना कर रहे हैं, क्योंकि यह अभी भी मौजूद है।

$api = 'IntlRateV2';फ़ाइल में लाइन से ठीक पहले निम्नलिखित पंक्तियों को जोड़ने की आवश्यकता होती है vendor/magento/module-usps/Model/Carrier.php

$package->addChild('OriginZip', $r->getOrigPostal());
$package->addChild('AcceptanceDateTime', date('c'));
$package->addChild('DestinationPostalCode', $r->getDestPostal());

आप इस Magento2 मुद्दे के बारे में पुल अनुरोध यहाँ देख सकते हैं: https://github.com/magento/magento2/pag/241

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.