উত্তর:
সম্পাদনা: মনে রাখবেন ম্যাজেন্টো 18 ই জুন, 2015-এ তাদের সুপার-6237 প্যাচ দিয়ে এই সমস্যাটি সমাধান করেছে the সমস্যাটি সমাধান করার জন্য প্যাচটি ইনস্টল করা সম্ভবত এটি সহজ।
আমার একটি সমস্যা ছিল যেখানে পদ্ধতির নাম ছাড়াই হারটি $ 0.00 হিসাবে প্রদর্শিত হচ্ছে। সমস্যাটি 31 শে মে, ২০১৫ সালের হিসাবে ইউএসপিএসের হারের পরিবর্তনের সাথে মিলে যাচ্ছে:
মে 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 লাইনে sertedোকালাম:
if($r->getDestCountryId()=='CA'){
$package->addChild('OriginZip', $r->getOrigPostal());
}
এটি আমার জন্য সমস্যাটি স্থির করেছে।
সম্পাদনা: শিপিংয়ের উত্সে আপনার 5-সংখ্যার জিপ কোডটি প্রবেশ করা থাকলে এটি কেবলমাত্র কাজ করবে।
আমার জন্য প্যাচ 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;
আশা করি এই কাউকে সাহায্য করবে
যদিও মূল পোস্টটি ম্যাজেন্টো v1.9 সম্পর্কিত ছিল, আমি অন্যদের জন্য যারা এটি একই সমস্যাটি ম্যাগেন্টো ভি 2 এর সাথে অভিজ্ঞতা করছে তাদের জন্য পোস্ট করতে চেয়েছিলাম, কারণ এটি এখনও বিদ্যমান রয়েছে।
ফিক্স অধিকার লাইন সামনে নিম্নলিখিত পংক্তিগুলি যোগ করা আবশ্যক $api = 'IntlRateV2';
ফাইলে vendor/magento/module-usps/Model/Carrier.php
।
$package->addChild('OriginZip', $r->getOrigPostal());
$package->addChild('AcceptanceDateTime', date('c'));
$package->addChild('DestinationPostalCode', $r->getDestPostal());
আপনি এই ম্যাজেন্টো 2 ইস্যু সম্পর্কে পুলটি অনুরোধটি এখানে দেখতে পাবেন: https://github.com/magento/magento2/pull/8041