How to get Value from Store Configuration by Scope in Magento 2?

To Fetch the System Store Configuration Values by Scope level, Store or Website, You need to use ScopeConfigInterface with getValue() method.

We can get the Core config data table value programmatically using the given way,

public function __construct(
    \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
    \Magento\Store\Model\StoreManagerInterface $storeManager
) {
    $this->scopeConfig = $scopeConfig;
    $this->storeManager = $storeManager;
}

Now call in a function,

public function getConfigValue() {
    return $this->scopeConfig->getValue("sectionId/groupId/fieldId",
                \Magento\Store\Model\ScopeInterface::SCOPE_STORE,$this->storeManager->getStore()->getStoreId();
}

First Argument sectionId/groupId/fieldId is from your etc/adminhtml/system.xml file.

The second Argument will be the Scope Value.

Third Argument will be scopeCode. It may be int, string or null value.

Demo system.xml to illustrate the example,

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
    <system>
        <section id="test" translate="label" type="text" sortOrder="310" showInDefault="1" showInWebsite="1" showInStore="1">
            <label>Test Settings</label>
            <group id="origin" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="0">
                <label>Main label</label>
                <field id="postcode" translate="label" type="text" sortOrder="30" showInDefault="1" showInWebsite="1" showInStore="0" canRestore="1">
                    <label>Postal Code</label>
                </field>
            </group>
        </section>
    </system>
</config>

In our case test/origin/postcode is the key value for sectionId/groupId/fieldId.

How to create creditmemo for order item programmatically in magento 2?

We can create credit memo for the specific item based on below way in Magento 2. We need to pass some basic data to generate credit memo in Magento 2. Continue reading “How to create creditmemo for order item programmatically in magento 2?”

How to use php curl as best practice in magento 2?

In Magento 2, We can get details about curl from Curl.php file at location Magento\Framework\HTTP\Adapter\Curl.

Magento gives native functionality for CURL instead of using default php curl_init().
We can send a request to third party services using curl by below way,
Continue reading “How to use php curl as best practice in magento 2?”