2

While doing checkout I am seeing this issue?

I dint added any plugin for shipping. In log i am getting issue like StorePickupId does not have accessory method getStorePickupId in class Magento Checkout.

Please let me know the exact issue.

4 Answers 4

0

This error happening because in the estimate-shipping-methods request exists field store_pickup_id inside the address, and corresponding interface Magento\Quote\Api\Data\AddressInterface has no accessory method for it. As a checkout works through Magento API all values which you pass must have getter and setter methods in the interface.

Here is example of that request with body:

https://1001101010.com/default/rest/default/V1/guest-carts/MA6cowPQxDBpfRSSJmQrca36ytXV5g1L/estimate-shipping-methods

{
    "address": {
        "street": ["Mendeleeva str.", "30 112"],
        "city": "Minsk",
        "region_id": "517",
        "region": "Гродзенская вобласць",
        "country_id": "BY",
        "postcode": "123456",
        "firstname": "Siarhey",
        "lastname": "Uchukhlebau",
        "company": "",
        "telephone": "12345678"
    }
}

as you can see there no field store_pickup_id, but if you add it somehow, you get error in result (example from postman where is additional field store_pickup_id added manually in request body):

enter image description here

I'll recommend you to check:

  1. request body
  2. shipping address form
  3. any third-party components and mixins
5
  • no any third party extension.I have checked in request body but nothing.Just I am getting this is in exception load.And I am not able to place order Feb 18, 2020 at 11:48
  • @Maruti_magento2 just remove the StorePickupId poperty from request. Feb 18, 2020 at 11:52
  • how is this possible..this is code generated..I am not passing anything.. now i solved this point with $this->doValidate($address, $cart->getCustomer()->getId() ? $cart->getCustomer()->getId() : null); Now I able to redirect payment getway.. Feb 18, 2020 at 11:55
  • I wrote this in vendor/magento/module-quote/Model/QuoteAddressValidator.php..But now I am getting No such entity with customerId = vendor/magento/framework/Exception/NoSuchEntityException.php:50 Feb 18, 2020 at 11:56
  • My site is taking too much time to redirect, I have used Ced commerce module.what will be the issue.I did lot more from doc. I am new to magento. Almost 45 sec take to load Feb 18, 2020 at 12:02
0

This is a magento issue that's still not solved yet. You can visit the following github issue (23980): https://github.com/magento/magento2/issues/23908

0

solved it by setting the currency rate !! i dont know what is the relation between both of them but it worked fine Stores -> Currency -> Currency Rates.

0

For me it was a customisation I introduced. However, wasn't clear what was wrong. I just saw the error 'The shipping information was unable to be saved: verify the input data and try again'

In debug.log

[2022-07-05 10:32:47] main.CRITICAL: Notice: Array to string conversion in /vendor/magento/framework/DB/Adapter/Pdo/Mysql.php on line 3170 {"exception":"[object] (Exception(code: 0): Notice: Array to string conversion in /vendor/magento/framework/DB/Adapter/Pdo/Mysql.php on line 3170 at /vendor/magento/framework/App/ErrorHandler.php:61)"} []

In this file vendor/magento/framework/DB/Adapter/Pdo/Mysql.php I dropped some primitive logging

                [...]
                case 'longtext':
                error_log(__METHOD__ . "\n", 3, "/var/log/mysql.log");
                if (is_array($value)) {
                    error_log(print_r($value, true). "\n", 3, "/var/log/mysql.log");
                }
                $value  = (string)$value;
                [...]

That helped me catch object trying to be saved as string.

I used Magento \Magento\Framework\Serialize\SerializerInterface to serialize the object into string that I was using elsewhere.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.