8

Ref url - Shipping address custom attribute value not getting in RateRequest object in Carrier Model in magento2.x

enter image description here Above link in working perfect in magento2.2.x but not in magento2.3.1. I checked magento2.3.1 in they have changed something with custom_attribute code.

the issue is reproduce Step below 1. Add to cart product after going checkout Mobile Type select - Local Estimation shipping rate is - 5 USD and address array passed like

estimate-shipping-methods - 
 address:{
 city: "GA"
 country_id: "US"
 custom_attributes: [0: {attribute_code: "mob_type", value: "Local"}]
 firstname: "Test"
 lastname: "Dev"
 postcode: "30049"
.....
  1. Once back to checkout cart page change postcode I am getting an error -

Error occurred during "custom_attributes" processing. A custom attribute is specified with a missing attribute code. Verify the code and try again.

I checked post address in estimate-shipping-methods api and found data like

estimate-shipping-methods - 
 address:{
 city: "GA"
 country_id: "US"
 custom_attributes: [0: {attribute_code: "0", value: {attribute_code: "mob_type", value: "Local"}}]
 firstname: "Test"
 lastname: "Dev"
 postcode: "30049"
 .....

both custom_attributes arrays is different - so i checked core code and found custom_attributes: [0: {attribute_code: "0", value: {attribute_code: "mob_type", value: "Local"}}] is worng. attribute_code: "0" is extra adding so How can i fix this issue anyone have idea?

asked Jun 27, 2019 at 7:10
8
  • Could you find a solution? Commented Nov 21, 2019 at 9:25
  • Yes you can check my profile in answer section. Commented Nov 22, 2019 at 10:28
  • I couldn't find it. Can you just give me the link? Commented Nov 22, 2019 at 22:29
  • magento.stackexchange.com/questions/216191/… Commented Nov 24, 2019 at 7:44
  • I guess this is not related my friend. Commented Nov 24, 2019 at 22:24

1 Answer 1

3

This appears to be a core bug to which I've opened an issue on github https://github.com/magento/magento2/issues/27505.

Currently I am using the following hotfix to allow checkout.

Index: vendor/magento/module-checkout/view/frontend/web/js/model/address-converter.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- vendor/magento/module-checkout/view/frontend/web/js/model/address-converter.js (revision 176ba2b75e443afb7f752ee28e7b751afec84bd3)
+++ vendor/magento/module-checkout/view/frontend/web/js/model/address-converter.js (date 1585595509144)
@@ -64,6 +64,15 @@
 addressData['custom_attributes'] = _.map(
 addressData['custom_attributes'],
 function (value, key) {
+
+ var alreadyBeenMapped = value instanceof Object
+ && value.hasOwnProperty('attribute_code')
+ && value.hasOwnProperty('value');
+
+ if (alreadyBeenMapped) {
+ return value;
+ }
+
 return {
 'attribute_code': key,
 'value': value
answered Mar 30, 2020 at 19:19
1
  • Magento will never accept own mistakes. Commented May 18, 2020 at 4:54

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.