{"id":40322,"date":"2016-01-29T11:26:59","date_gmt":"2016-01-29T11:26:59","guid":{"rendered":"http:\/\/webkul.com\/blog\/?p=40322"},"modified":"2026-02-13T12:28:27","modified_gmt":"2026-02-13T12:28:27","slug":"create-custom-shipping-method-in-magento2","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/","title":{"rendered":"Create Custom Shipping Method in Magento 2"},"content":{"rendered":"\n<p>We will explore Create Custom Shipping Method in Magento 2 and understand the complete process of <a href=\"https:\/\/webkul.com\/adobe-commerce-shipping-method-development\/\">Magento 2 shipping method development<\/a> step-by-step.<\/p>\n\n\n\n<p>So to create a custom shipping method in Magento 2, you first need to define it in your config.xml file, which is located at:<\/p>\n\n\n\n<p>app\/code\/Webkul\/Customshipping\/etc\/config.xml<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&lt;?xml version=&quot;1.0&quot;?&gt;\n&lt;config xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot; xsi:noNamespaceSchemaLocation=&quot;urn:magento:module:Magento_Store:etc\/config.xsd&quot;&gt;\n    &lt;default&gt;\n        &lt;carriers&gt;\n            &lt;wkcustomshipping&gt;\n                &lt;active&gt;1&lt;\/active&gt;\n                &lt;allowed_methods&gt;delivery&lt;\/allowed_methods&gt;\n                &lt;methods&gt;delivery&lt;\/methods&gt;\n                &lt;sallowspecific&gt;0&lt;\/sallowspecific&gt;\n                &lt;model&gt;Webkul\\Customshipping\\Model\\Carrier&lt;\/model&gt;\n                &lt;name&gt;Webkul custom Shipping&lt;\/name&gt;\n                &lt;title&gt;Webkul custom Shipping&lt;\/title&gt;\n                &lt;handling_type&gt;F&lt;\/handling_type&gt;\n            &lt;\/wkcustomshipping&gt;\n        &lt;\/carriers&gt;\n    &lt;\/default&gt;\n&lt;\/config&gt;<\/pre>\n\n\n\n<p>In this file, we define the shipping method code, which should be unique for each method.<\/p>\n\n\n\n<p>Now, we need to define our model, which is already defined in config.xml under the &lt;model&gt; tag.<\/p>\n\n\n\n<p>In the model, we calculate our shipping cost.<\/p>\n\n\n\n<p>app\/code\/Webkul\/Customshipping\/Model\/Carrier.php<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&lt;?php\n\/**\n * Webkul Software.\n *\n * @category  Webkul\n * @package   Webkul_Customshipping\n * @author    Webkul Software Private Limited\n * @copyright Webkul Software Private Limited (https:\/\/webkul.com)\n * @license   https:\/\/store.webkul.com\/license.html\n *\/\n\nnamespace Webkul\\Customshipping\\Model;\n\nuse Magento\\Quote\\Model\\Quote\\Address\\RateResult\\Error;\nuse Magento\\Quote\\Model\\Quote\\Address\\RateRequest;\nuse Magento\\Shipping\\Model\\Carrier\\AbstractCarrier;\nuse Magento\\Shipping\\Model\\Carrier\\CarrierInterface;\nuse Magento\\Shipping\\Model\\Simplexml\\Element;\n\nclass Carrier extends AbstractCarrier implements CarrierInterface\n{\n    const CODE = &#039;wkcustomshipping&#039;;\n    protected $_code = self::CODE;\n    \n    public function __construct(\n        protected \\Magento\\Framework\\App\\Config\\ScopeConfigInterface $scopeConfig,\n        protected \\Magento\\Quote\\Model\\Quote\\Address\\RateResult\\ErrorFactory $rateErrorFactory,\n        protected \\Psr\\Log\\LoggerInterface $logger,\n        protected \\Magento\\Shipping\\Model\\Rate\\ResultFactory $rateFactory,\n        protected \\Magento\\Quote\\Model\\Quote\\Address\\RateResult\\MethodFactory $rateMethodFactory,\n        protected \\Magento\\Shipping\\Model\\Tracking\\ResultFactory $trackFactory,\n        protected \\Magento\\Shipping\\Model\\Tracking\\Result\\ErrorFactory $trackErrorFactory,\n        protected \\Magento\\Shipping\\Model\\Tracking\\Result\\StatusFactory $trackStatusFactory,\n        protected \\Magento\\Directory\\Model\\RegionFactory $regionFactory,\n        protected \\Magento\\Directory\\Model\\CountryFactory $countryFactory,\n        protected \\Magento\\Directory\\Model\\CurrencyFactory $currencyFactory,\n        protected \\Magento\\Directory\\Helper\\Data $directoryData,\n        protected \\Magento\\CatalogInventory\\Api\\StockRegistryInterface $stockRegistry,\n        protected \\Magento\\Framework\\Locale\\FormatInterface $localeFormat,\n        array $data = &#091;]\n    ) {\n        parent::__construct($scopeConfig, $rateErrorFactory, $logger, $data);\n    }\n\n    public function getAllowedMethods()\n    {\n    }\n    \n    \/**\n     * Collect and get rates\n     *\n     * @param RateRequest $request\n     * @return Result|bool|null\n     *\/\n    public function collectRates(RateRequest $request)\n    {   \n        $result = $this-&gt;rateFactory-&gt;create();\n        $method = $this-&gt;rateMethodFactory-&gt;create();\n        $method-&gt;setCarrier($this-&gt;_code);\n        $method-&gt;setCarrierTitle(&#039;Webkul custom Shipping&#039;);\n        \/* Set method name *\/\n        $method-&gt;setMethod($this-&gt;_code);\n        $method-&gt;setMethodTitle(&#039;Webkul Custom Shipping&#039;);\n        $method-&gt;setCost(10);\n        \/* Set shipping charge *\/\n        $method-&gt;setPrice(10);\n        $result-&gt;append($method);\n        return $result; \n    }\n    \n    \/**\n     * Processing additional validation to check is carrier applicable.\n     *\n     * @param \\Magento\\Framework\\DataObject $request\n     * @return $this|bool|\\Magento\\Framework\\DataObject\n     *\/\n    public function proccessAdditionalValidation(\\Magento\\Framework\\DataObject $request) {\n        return true;\n    }\n}<\/pre>\n\n\n\n<p>After that, your shipping method will get displayed on front end.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"641\" height=\"654\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png\" alt=\"custom shipping method magento 2\" class=\"wp-image-40326\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png 641w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3-244x249.png 244w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3-294x300.png 294w\" sizes=\"(max-width: 641px) 100vw, 641px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>To define custom setting of shipping method, you need to create system.xml , which is at location:<\/p>\n\n\n\n<p>app\/code\/Webkul\/Customshipping\/etc\/adminhtml\/system.xml<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&lt;?xml version=&quot;1.0&quot;?&gt;\n&lt;!--\n\/**\n * Webkul Software.\n *\n * @category  Webkul\n * @package   Webkul_Customshipping\n * @author    Webkul Software Private Limited\n * @copyright Webkul Software Private Limited (https:\/\/webkul.com)\n * @license   https:\/\/store.webkul.com\/license.html\n *\/\n--&gt;\n&lt;config xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot; xsi:noNamespaceSchemaLocation=&quot;urn:magento:module:Magento_Config:etc\/system_file.xsd&quot;&gt;\n    &lt;system&gt;\n        &lt;section id=&quot;carriers&quot; translate=&quot;label&quot; type=&quot;text&quot; sortOrder=&quot;320&quot; showInDefault=&quot;1&quot; showInWebsite=&quot;1&quot; showInStore=&quot;1&quot;&gt;\n            &lt;group id=&quot;wkcustomshipping&quot; translate=&quot;label&quot; type=&quot;text&quot; sortOrder=&quot;2&quot; showInDefault=&quot;1&quot; showInWebsite=&quot;1&quot; showInStore=&quot;1&quot;&gt;\n                &lt;label&gt;Webkul Custom Shipping Method&lt;\/label&gt;               \n                &lt;field id=&quot;active&quot; translate=&quot;label&quot; type=&quot;select&quot; sortOrder=&quot;1&quot; showInDefault=&quot;1&quot; showInWebsite=&quot;1&quot; showInStore=&quot;0&quot;&gt;\n                    &lt;label&gt;Enabled&lt;\/label&gt;\n                    &lt;source_model&gt;Magento\\Config\\Model\\Config\\Source\\Yesno&lt;\/source_model&gt;\n                &lt;\/field&gt;\n                &lt;field id=&quot;title&quot; translate=&quot;label&quot; type=&quot;text&quot; sortOrder=&quot;2&quot; showInDefault=&quot;1&quot; showInWebsite=&quot;1&quot; showInStore=&quot;1&quot;&gt;\n                    &lt;label&gt;Title&lt;\/label&gt;\n                &lt;\/field&gt;\n                &lt;field id=&quot;name&quot; translate=&quot;label&quot; type=&quot;text&quot; sortOrder=&quot;3&quot; showInDefault=&quot;1&quot; showInWebsite=&quot;1&quot; showInStore=&quot;1&quot;&gt;\n                    &lt;label&gt;Name&lt;\/label&gt;\n                &lt;\/field&gt;\n                &lt;field id=&quot;sallowspecific&quot; translate=&quot;label&quot; type=&quot;select&quot; sortOrder=&quot;7&quot; showInDefault=&quot;1&quot; showInWebsite=&quot;1&quot; showInStore=&quot;0&quot;&gt;\n                    &lt;label&gt;Ship to Applicable Countries&lt;\/label&gt;\n                    &lt;frontend_class&gt;shipping-applicable-country&lt;\/frontend_class&gt;\n                    &lt;source_model&gt;Magento\\Shipping\\Model\\Config\\Source\\Allspecificcountries&lt;\/source_model&gt;\n                &lt;\/field&gt;\n                &lt;field id=&quot;specificcountry&quot; translate=&quot;label&quot; type=&quot;multiselect&quot; sortOrder=&quot;7&quot; showInDefault=&quot;1&quot; showInWebsite=&quot;1&quot; showInStore=&quot;0&quot;&gt;\n                    &lt;label&gt;Ship to Specific Countries&lt;\/label&gt;\n                    &lt;source_model&gt;Magento\\Directory\\Model\\Config\\Source\\Country&lt;\/source_model&gt;\n                    &lt;can_be_empty&gt;1&lt;\/can_be_empty&gt;\n                &lt;\/field&gt;\n            &lt;\/group&gt;\n        &lt;\/section&gt;\n    &lt;\/system&gt;\n&lt;\/config&gt;<\/pre>\n\n\n\n<p>Thank you for reading this article on How to Create a Custom Shipping Method in <a href=\"https:\/\/webkul.com\/magento-development\/\">Magento 2 Services<\/a>, we hope you liked it.<\/p>\n\n\n\n<p>You can also view our wide range of ready-to-use <a href=\"https:\/\/store.webkul.com\/Magento-2.html\" target=\"_blank\" rel=\"noopener\">Magento 2 extensions<\/a>. Such as custom delivery methods, third-party carriers <a href=\"https:\/\/store.webkul.com\/Magento-2\/Shipping.html\" target=\"_blank\" rel=\"noopener\">Magento 2 shipping integrations<\/a>, and more. Further for any more queries, please reach out to our team via <a href=\"https:\/\/webkul.uvdesk.com\/en\/customer\/create-ticket\/\" target=\"_blank\" rel=\"noopener\">support ticket<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We will explore Create Custom Shipping Method in Magento 2 and understand the complete process of Magento 2 shipping method development step-by-step. So to create a custom shipping method in Magento 2, you first need to define it in your config.xml file, which is located at: app\/code\/Webkul\/Customshipping\/etc\/config.xml In this file, we define the shipping method <a href=\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":68,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[302],"tags":[2070],"class_list":["post-40322","post","type-post","status-publish","format-standard","hentry","category-magento2","tag-magento2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Create Custom Shipping Method in Magento 2<\/title>\n<meta name=\"description\" content=\"We will explore Create Custom Shipping Method in Magento 2 and walk you step-by-step through building your own shipping method in Magento 2\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create Custom Shipping Method in Magento 2\" \/>\n<meta property=\"og:description\" content=\"We will explore Create Custom Shipping Method in Magento 2 and walk you step-by-step through building your own shipping method in Magento 2\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-29T11:26:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-13T12:28:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png\" \/>\n<meta name=\"author\" content=\"Bulbul\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bulbul\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/\"},\"author\":{\"name\":\"Bulbul\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/c9c6288b3950490ffdb37cb2a526996e\"},\"headline\":\"Create Custom Shipping Method in Magento 2\",\"datePublished\":\"2016-01-29T11:26:59+00:00\",\"dateModified\":\"2026-02-13T12:28:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/\"},\"wordCount\":203,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png\",\"keywords\":[\"Magento2\"],\"articleSection\":[\"Magento2\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/\",\"url\":\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/\",\"name\":\"How to Create Custom Shipping Method in Magento 2\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png\",\"datePublished\":\"2016-01-29T11:26:59+00:00\",\"dateModified\":\"2026-02-13T12:28:27+00:00\",\"description\":\"We will explore Create Custom Shipping Method in Magento 2 and walk you step-by-step through building your own shipping method in Magento 2\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png\",\"width\":641,\"height\":654},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Custom Shipping Method in Magento 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/c9c6288b3950490ffdb37cb2a526996e\",\"name\":\"Bulbul\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/37ea7175f5ae6557d01bb38e147f6a02a540714ecdb71770d8ec554d4d34c23f?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/37ea7175f5ae6557d01bb38e147f6a02a540714ecdb71770d8ec554d4d34c23f?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g\",\"caption\":\"Bulbul\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/bulbul896\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Create Custom Shipping Method in Magento 2","description":"We will explore Create Custom Shipping Method in Magento 2 and walk you step-by-step through building your own shipping method in Magento 2","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/","og_locale":"en_US","og_type":"article","og_title":"How to Create Custom Shipping Method in Magento 2","og_description":"We will explore Create Custom Shipping Method in Magento 2 and walk you step-by-step through building your own shipping method in Magento 2","og_url":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2016-01-29T11:26:59+00:00","article_modified_time":"2026-02-13T12:28:27+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png","type":"","width":"","height":""}],"author":"Bulbul","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Bulbul","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/"},"author":{"name":"Bulbul","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/c9c6288b3950490ffdb37cb2a526996e"},"headline":"Create Custom Shipping Method in Magento 2","datePublished":"2016-01-29T11:26:59+00:00","dateModified":"2026-02-13T12:28:27+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/"},"wordCount":203,"commentCount":6,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png","keywords":["Magento2"],"articleSection":["Magento2"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/","url":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/","name":"How to Create Custom Shipping Method in Magento 2","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png","datePublished":"2016-01-29T11:26:59+00:00","dateModified":"2026-02-13T12:28:27+00:00","description":"We will explore Create Custom Shipping Method in Magento 2 and walk you step-by-step through building your own shipping method in Magento 2","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/01\/Screenshot_3.png","width":641,"height":654},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/create-custom-shipping-method-in-magento2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Create Custom Shipping Method in Magento 2"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/c9c6288b3950490ffdb37cb2a526996e","name":"Bulbul","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/37ea7175f5ae6557d01bb38e147f6a02a540714ecdb71770d8ec554d4d34c23f?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/37ea7175f5ae6557d01bb38e147f6a02a540714ecdb71770d8ec554d4d34c23f?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g","caption":"Bulbul"},"url":"https:\/\/webkul.com\/blog\/author\/bulbul896\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/40322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/68"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=40322"}],"version-history":[{"count":23,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/40322\/revisions"}],"predecessor-version":[{"id":526481,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/40322\/revisions\/526481"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=40322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=40322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=40322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}