如何在prestashop中按国家/地区名称获取国家ISO代码

I'm creating my own module in prestashop 1.7 which is for payment gateway and works when checkout button is created and my payment gateway is selected.

In that plugins I needed some fields to use for some purpose for that I need user name, phone, email and country iso code.

I'm getting user name, phone and email in those variables :

$customerDetails = $this->context->customer;

$address = new Address($this->context->cart->id_address_delivery);

I'm also getting country name & country id as well but what I need is country ISO code. I saw prestashop have table for it in their database and they have ISO codes as well but I can't find any method or recommended way to get country ISO code by country name or country id.

You can use the Country Class method public static function getIsoById($idCountry).

So you could do something like:

$country_iso = Country::getIsoById([THE_ID]);

This one should work perfectly, just add it to your Country Class or any other place at your code !

/**
* Get a country iso with its Name
*
* @param string $country_name Country Name
* @return string Country iso
*/
static public function getIsoByName($country_name)
{
    $sql='
    SELECT `id_country`
    FROM `'._DB_PREFIX_.'country_lang`
    WHERE `name` = "'.$country_name.'"';
    $result = Db::getInstance()->getRow($sql);
    $iso=Country::getIsoById($result['id_country']);
    return $iso;
}