Magento 2 plugin not getting called on checkout for shipping

I am trying to preselect the shipping country based on the user’s country code.

I have the code already needed to get the country code which is in my model.

I have tried using the code in accepted answer to this question. It uses an after plugin but I can’t get it to work. It still defaults to United States even though I ‘m telling it to use use GB.

I have tried logging out in the plugin but get nothing in the logs so I don’t think the plugin is getting called.

Here is the code:


<?xml version="1.0"?>
<config xmlns:xsi="" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="MagentoCheckoutBlockCartLayoutProcessor">
        <plugin name="asg_country_list"
                type="AsgGeoIpPluginCheckoutBlockCartLayoutProcessor" sortOrder="1"/>



namespace AsgGeoIpPluginCheckoutBlockCart;

class LayoutProcessor
    public function beforeProcess(
        MagentoCheckoutBlockCartLayoutProcessor $subject,
    ) {
        $path = '/var/www/magento.local/var/log/test.log';

        file_put_contents($path, 'this is a test');

    public function afterProcess(
        MagentoCheckoutBlockCartLayoutProcessor $subject,
    ) {
        $selectedCountry = 'GB';


        if (isset($jsLayout['components']['checkoutProvider']['dictionaries'])) {

            foreach ($jsLayout['components']['checkoutProvider']['dictionaries']['country_id'] as &$country) {
                if ($country['value'] == $selectedCountry) {
                    $country['is_default'] = 1;
                } else {
                    if (isset($country['is_default'])) {
        if (isset($jsLayout['components']['block-summary']['children']['block-shipping']['children']['address-fieldsets'])) {
            $jsLayout['components']['block-summary']['children']['block-shipping']['children']['address-fieldsets']['children']['country_id']['value'] = $selectedCountry;

        return $jsLayout;

I’m using Magento 2.3.4. Could the plugin be calling the wrong module since the original question was Magento 2.2?

Go to Source of this post
Author Of this post: AdRock
Title Of post: Magento 2 plugin not getting called on checkout for shipping
Author Link: {authorlink}