diff --git a/.idea/laravel-woocommerce.iml b/.idea/laravel-woocommerce.iml
new file mode 100644
index 0000000..5b9a05d
--- /dev/null
+++ b/.idea/laravel-woocommerce.iml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="WEB_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="Codexshaper\WooCommerce\" />
+      <sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..d85c6fc
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/laravel-woocommerce.iml" filepath="$PROJECT_DIR$/.idea/laravel-woocommerce.iml" />
+    </modules>
+  </component>
+</project>
diff --git a/.idea/php.xml b/.idea/php.xml
new file mode 100644
index 0000000..5333dec
--- /dev/null
+++ b/.idea/php.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="MessDetectorOptionsConfiguration">
+    <option name="transferred" value="true" />
+  </component>
+  <component name="PHPCSFixerOptionsConfiguration">
+    <option name="transferred" value="true" />
+  </component>
+  <component name="PHPCodeSnifferOptionsConfiguration">
+    <option name="highlightLevel" value="WARNING" />
+    <option name="transferred" value="true" />
+  </component>
+  <component name="PhpProjectSharedConfiguration" php_language_level="7.0">
+    <option name="suggestChangeDefaultLanguageLevel" value="false" />
+  </component>
+  <component name="PhpStanOptionsConfiguration">
+    <option name="transferred" value="true" />
+  </component>
+  <component name="PsalmOptionsConfiguration">
+    <option name="transferred" value="true" />
+  </component>
+</project>
diff --git a/.idea/phpunit.xml b/.idea/phpunit.xml
new file mode 100644
index 0000000..776785b
--- /dev/null
+++ b/.idea/phpunit.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="PHPUnit">
+    <option name="directories">
+      <list>
+        <option value="$PROJECT_DIR$/tests" />
+      </list>
+    </option>
+  </component>
+</project>
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..dcb6b8c
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..8f576d6
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="AutoImportSettings">
+    <option name="autoReloadType" value="SELECTIVE" />
+  </component>
+  <component name="ChangeListManager">
+    <list default="true" id="c176b047-5c3f-4c3f-8840-04942aea7225" name="Changes" comment="">
+      <change afterPath="$PROJECT_DIR$/.idea/laravel-woocommerce.iml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/php.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/phpunit.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/WooCommerceApi.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/WooCommerceApi.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/config/multisite.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/config/multisite.php" afterDir="false" />
+    </list>
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="ComposerSettings" notifyAboutMissingVendor="false" synchronizationState="SYNCHRONIZE">
+    <pharConfigPath>$PROJECT_DIR$/composer.json</pharConfigPath>
+    <execution />
+  </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+  </component>
+  <component name="MarkdownSettingsMigration">
+    <option name="stateVersion" value="1" />
+  </component>
+  <component name="PhpWorkspaceProjectConfiguration" interpreter_name="C:\wamp64\bin\php\php7.4.33\php.exe" />
+  <component name="ProjectColorInfo"><![CDATA[{
+  "associatedIndex": 0
+}]]></component>
+  <component name="ProjectId" id="2aLzDoJuoKAKxaE9f5GOAK5VpLR" />
+  <component name="ProjectViewState">
+    <option name="hideEmptyMiddlePackages" value="true" />
+    <option name="showLibraryContents" value="true" />
+  </component>
+  <component name="PropertiesComponent"><![CDATA[{
+  "keyToString": {
+    "RunOnceActivity.OpenProjectViewOnStart": "true",
+    "RunOnceActivity.ShowReadmeOnStart": "true",
+    "git-widget-placeholder": "master",
+    "node.js.detected.package.eslint": "true",
+    "node.js.detected.package.tslint": "true",
+    "node.js.selected.package.eslint": "(autodetect)",
+    "node.js.selected.package.tslint": "(autodetect)",
+    "nodejs_package_manager_path": "npm",
+    "vue.rearranger.settings.migration": "true"
+  }
+}]]></component>
+  <component name="SharedIndexes">
+    <attachedChunks>
+      <set>
+        <option value="bundled-php-predefined-ba97393d7c68-74080bdb84d3-com.jetbrains.php.sharedIndexes-PS-233.11799.232" />
+      </set>
+    </attachedChunks>
+  </component>
+  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="c176b047-5c3f-4c3f-8840-04942aea7225" name="Changes" comment="" />
+      <created>1704112530708</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1704112530708</updated>
+      <workItem from="1704112533137" duration="1414000" />
+    </task>
+    <servers />
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="3" />
+  </component>
+  <component name="Vcs.Log.Tabs.Properties">
+    <option name="TAB_STATES">
+      <map>
+        <entry key="MAIN">
+          <value>
+            <State />
+          </value>
+        </entry>
+      </map>
+    </option>
+  </component>
+</project>
diff --git a/src/Models/Attribute.php b/src/Models/Attribute.php
index 807328e..ee0cea0 100644
--- a/src/Models/Attribute.php
+++ b/src/Models/Attribute.php
@@ -21,7 +21,7 @@ class Attribute extends BaseModel
      */
     protected function getTerms($attribute_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->all($options);
     }
@@ -37,7 +37,7 @@ protected function getTerms($attribute_id, $options = [])
      */
     protected function getTerm($attribute_id, $term_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->find($term_id, $options);
     }
@@ -52,7 +52,7 @@ protected function getTerm($attribute_id, $term_id, $options = [])
      */
     protected function addTerm($attribute_id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->create($data);
     }
@@ -68,7 +68,7 @@ protected function addTerm($attribute_id, $data)
      */
     protected function updateTerm($attribute_id, $term_id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->update($term_id, $data);
     }
@@ -84,7 +84,7 @@ protected function updateTerm($attribute_id, $term_id, $data)
      */
     protected function deleteTerm($attribute_id, $term_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->delete($term_id, $options);
     }
@@ -99,7 +99,7 @@ protected function deleteTerm($attribute_id, $term_id, $options = [])
      */
     protected function batchTerm($attribute_id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->batch($data);
     }
diff --git a/src/Models/Customer.php b/src/Models/Customer.php
index ea5be61..2b323cb 100644
--- a/src/Models/Customer.php
+++ b/src/Models/Customer.php
@@ -20,7 +20,7 @@ class Customer extends BaseModel
      */
     protected function downloads($id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("customers/{$id}/downloads")
             ->all($options);
     }
diff --git a/src/Models/Note.php b/src/Models/Note.php
index cccb4b7..7220690 100644
--- a/src/Models/Note.php
+++ b/src/Models/Note.php
@@ -21,7 +21,7 @@ class Note extends BaseModel
      */
     protected function all($order_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/notes")
             ->all($options);
     }
@@ -37,7 +37,7 @@ protected function all($order_id, $options = [])
      */
     protected function find($order_id, $note_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/notes")
             ->find($note_id, $options);
     }
@@ -52,7 +52,7 @@ protected function find($order_id, $note_id, $options = [])
      */
     protected function create($order_id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/notes")
             ->create($data);
     }
@@ -68,7 +68,7 @@ protected function create($order_id, $data)
      */
     protected function delete($order_id, $note_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/notes")
             ->delete($note_id, $options);
     }
@@ -90,7 +90,7 @@ protected function paginate(
         $current_page = 1,
         $options = []
     ) {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/notes")
             ->paginate($per_page, $current_page, $options);
     }
@@ -104,7 +104,7 @@ protected function paginate(
      */
     protected function count($order_id)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/notes")
             ->count();
     }
@@ -118,7 +118,7 @@ protected function count($order_id)
      */
     public function save($order_id)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/notes")
             ->save();
     }
diff --git a/src/Models/Order.php b/src/Models/Order.php
index e2b109e..ca4896d 100644
--- a/src/Models/Order.php
+++ b/src/Models/Order.php
@@ -21,7 +21,7 @@ class Order extends BaseModel
      */
     protected function notes($order_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/notes")
             ->all($options);
     }
@@ -37,7 +37,7 @@ protected function notes($order_id, $options = [])
      */
     protected function note($order_id, $note_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/notes")
             ->find($note_id, $options);
     }
@@ -52,7 +52,7 @@ protected function note($order_id, $note_id, $options = [])
      */
     protected function createNote($order_id, $data = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/notes")
             ->create($data);
     }
@@ -68,7 +68,7 @@ protected function createNote($order_id, $data = [])
      */
     protected function deleteNote($order_id, $note_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/notes")
             ->delete($note_id, $options);
     }
@@ -83,7 +83,7 @@ protected function deleteNote($order_id, $note_id, $options = [])
      */
     protected function refunds($order_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/refunds")
             ->all($options);
     }
@@ -99,7 +99,7 @@ protected function refunds($order_id, $options = [])
      */
     protected function refund($order_id, $refund_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/refunds")
             ->find($refund_id, $options);
     }
@@ -114,7 +114,7 @@ protected function refund($order_id, $refund_id, $options = [])
      */
     protected function createRefund($order_id, $data = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/refunds")
             ->create($data);
     }
@@ -130,7 +130,7 @@ protected function createRefund($order_id, $data = [])
      */
     protected function deleteRefund($order_id, $refund_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/refunds")
             ->delete($refund_id, $options);
     }
diff --git a/src/Models/Refund.php b/src/Models/Refund.php
index c6a89c4..f558102 100644
--- a/src/Models/Refund.php
+++ b/src/Models/Refund.php
@@ -21,7 +21,7 @@ class Refund extends BaseModel
      */
     protected function all($order_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/refunds")
             ->all($options);
     }
@@ -37,7 +37,7 @@ protected function all($order_id, $options = [])
      */
     protected function find($order_id, $refund_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/refunds")
             ->find($refund_id, $options);
     }
@@ -52,7 +52,7 @@ protected function find($order_id, $refund_id, $options = [])
      */
     protected function create($order_id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/refunds")
             ->create($data);
     }
@@ -68,7 +68,7 @@ protected function create($order_id, $data)
      */
     protected function delete($order_id, $refund_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/refunds")
             ->delete($refund_id, $options);
     }
@@ -89,7 +89,7 @@ protected function paginate(
         $current_page = 1,
         $options = []
     ) {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/refunds")
             ->paginate($per_page, $current_page, $options);
     }
@@ -103,7 +103,7 @@ protected function paginate(
      */
     protected function count($order_id)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/refunds")
             ->count();
     }
@@ -117,7 +117,7 @@ protected function count($order_id)
      */
     public function save($order_id)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("orders/{$order_id}/refunds")
             ->save();
     }
diff --git a/src/Models/Report.php b/src/Models/Report.php
index 943bcb5..c0af879 100644
--- a/src/Models/Report.php
+++ b/src/Models/Report.php
@@ -20,7 +20,7 @@ class Report extends BaseModel
      */
     protected function sales($options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('reports/sales')
             ->all($options);
     }
@@ -34,7 +34,7 @@ protected function sales($options = [])
      */
     protected function topSellers($options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('reports/top_sellers')
             ->all($options);
     }
@@ -48,7 +48,7 @@ protected function topSellers($options = [])
      */
     protected function coupons($options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('reports/coupons/totals')
             ->all($options);
     }
@@ -62,7 +62,7 @@ protected function coupons($options = [])
      */
     protected function customers($options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('reports/customers/totals')
             ->all($options);
     }
@@ -76,7 +76,7 @@ protected function customers($options = [])
      */
     protected function orders($options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('reports/orders/totals')
             ->all($options);
     }
@@ -90,7 +90,7 @@ protected function orders($options = [])
      */
     protected function products($options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('reports/products/totals')
             ->all($options);
     }
@@ -104,7 +104,7 @@ protected function products($options = [])
      */
     protected function reviews($options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('reports/reviews/totals')
             ->all($options);
     }
diff --git a/src/Models/Setting.php b/src/Models/Setting.php
index 7dab28e..b59c5a2 100644
--- a/src/Models/Setting.php
+++ b/src/Models/Setting.php
@@ -22,7 +22,7 @@ class Setting extends BaseModel
      */
     protected function option($group_id, $id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("settings/{$group_id}")
             ->find($id, $options);
     }
@@ -37,7 +37,7 @@ protected function option($group_id, $id, $options = [])
      */
     protected function options($id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('settings')
             ->find($id, $options);
     }
@@ -53,7 +53,7 @@ protected function options($id, $options = [])
      */
     protected function update($group_id, $id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("settings/{$group_id}")
             ->update($id, $data);
     }
@@ -67,7 +67,7 @@ protected function update($group_id, $id, $data)
      */
     protected function batch($id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("settings/{$id}")
             ->batch($data);
     }
diff --git a/src/Models/ShippingZone.php b/src/Models/ShippingZone.php
index be6ae97..0c64b39 100644
--- a/src/Models/ShippingZone.php
+++ b/src/Models/ShippingZone.php
@@ -22,7 +22,7 @@ class ShippingZone extends BaseModel
      */
     protected function getLocations($id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("shipping/zones/{$id}/locations")
             ->all($options);
     }
@@ -50,7 +50,7 @@ protected function updateLocations($id, $data = [])
      */
     protected function addShippingZoneMethod($id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("shipping/zones/{$id}/methods")
             ->create($data);
     }
@@ -66,7 +66,7 @@ protected function addShippingZoneMethod($id, $data)
      */
     protected function getShippingZoneMethod($zone_id, $id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("shipping/zones/{$zone_id}/methods")
             ->find($id, $options);
     }
@@ -81,7 +81,7 @@ protected function getShippingZoneMethod($zone_id, $id, $options = [])
      */
     protected function getShippingZoneMethods($id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("shipping/zones/{$id}/methods")
             ->all($options);
     }
@@ -97,7 +97,7 @@ protected function getShippingZoneMethods($id, $options = [])
      */
     protected function updateShippingZoneMethod($zone_id, $id, $data = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("shipping/zones/{$zone_id}/methods")
             ->update($id, $data);
     }
@@ -113,7 +113,7 @@ protected function updateShippingZoneMethod($zone_id, $id, $data = [])
      */
     protected function deleteShippingZoneMethod($zone_id, $id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("shipping/zones/{$zone_id}/methods")
             ->delete($id, $options);
     }
diff --git a/src/Models/Subscription.php b/src/Models/Subscription.php
index 4912f92..1d13b10 100644
--- a/src/Models/Subscription.php
+++ b/src/Models/Subscription.php
@@ -21,7 +21,7 @@ class Subscription extends BaseModel
      */
     protected function notes($subscription_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("subscriptions/{$subscription_id}/notes")
             ->all($options);
     }
@@ -37,7 +37,7 @@ protected function notes($subscription_id, $options = [])
      */
     protected function note($subscription_id, $note_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("subscriptions/{$subscription_id}/notes")
             ->find($note_id, $options);
     }
@@ -52,7 +52,7 @@ protected function note($subscription_id, $note_id, $options = [])
      */
     protected function createNote($subscription_id, $data = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("subscriptions/{$subscription_id}/notes")
             ->create($data);
     }
@@ -68,7 +68,7 @@ protected function createNote($subscription_id, $data = [])
      */
     protected function deleteNote($subscription_id, $note_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("subscriptions/{$subscription_id}/notes")
             ->delete($note_id, $options);
     }
@@ -83,7 +83,7 @@ protected function deleteNote($subscription_id, $note_id, $options = [])
      */
     protected function orders($subscription_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("subscriptions/{$subscription_id}/orders")
             ->all($options);
     }
diff --git a/src/Models/System.php b/src/Models/System.php
index 5bd16e2..34d7d70 100644
--- a/src/Models/System.php
+++ b/src/Models/System.php
@@ -20,7 +20,7 @@ class System extends BaseModel
      */
     protected function status($options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('system_status')
             ->all($options);
     }
@@ -35,7 +35,7 @@ protected function status($options = [])
      */
     protected function tool($id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('system_status/tools')
             ->find($id, $options);
     }
@@ -49,7 +49,7 @@ protected function tool($id, $options = [])
      */
     protected function tools($options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('system_status/tools')
             ->all($options);
     }
@@ -64,7 +64,7 @@ protected function tools($options = [])
      */
     protected function run($id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint('system_status/tools')
             ->update($id, $data);
     }
diff --git a/src/Models/Term.php b/src/Models/Term.php
index 6d6566e..3eeeb38 100644
--- a/src/Models/Term.php
+++ b/src/Models/Term.php
@@ -21,7 +21,7 @@ class Term extends BaseModel
      */
     protected function all($attribute_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->all($options);
     }
@@ -37,7 +37,7 @@ protected function all($attribute_id, $options = [])
      */
     protected function find($attribute_id, $id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->find($id, $options);
     }
@@ -52,7 +52,7 @@ protected function find($attribute_id, $id, $options = [])
      */
     protected function create($attribute_id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->create($data);
     }
@@ -68,7 +68,7 @@ protected function create($attribute_id, $data)
      */
     protected function update($attribute_id, $id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->update($id, $data);
     }
@@ -84,7 +84,7 @@ protected function update($attribute_id, $id, $data)
      */
     protected function delete($attribute_id, $id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->delete($id, $options);
     }
@@ -99,7 +99,7 @@ protected function delete($attribute_id, $id, $options = [])
      */
     protected function batch($attribute_id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->batch($data);
     }
@@ -120,7 +120,7 @@ protected function paginate(
         $current_page = 1,
         $options = []
     ) {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->paginate($per_page, $current_page, $options);
     }
@@ -134,7 +134,7 @@ protected function paginate(
      */
     protected function count($attribute_id)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->count();
     }
@@ -148,7 +148,7 @@ protected function count($attribute_id)
      */
     public function save($attribute_id)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/attributes/{$attribute_id}/terms")
             ->save();
     }
diff --git a/src/Models/Variation.php b/src/Models/Variation.php
index a56ac28..af850b1 100644
--- a/src/Models/Variation.php
+++ b/src/Models/Variation.php
@@ -21,7 +21,7 @@ class Variation extends BaseModel
      */
     protected function all($product_id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/{$product_id}/variations")
             ->all($options);
     }
@@ -37,7 +37,7 @@ protected function all($product_id, $options = [])
      */
     protected function find($product_id, $id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/{$product_id}/variations")
             ->find($id, $options);
     }
@@ -52,7 +52,7 @@ protected function find($product_id, $id, $options = [])
      */
     protected function create($product_id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/{$product_id}/variations")
             ->create($data);
     }
@@ -68,7 +68,7 @@ protected function create($product_id, $data)
      */
     protected function update($product_id, $id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/{$product_id}/variations")
             ->update($id, $data);
     }
@@ -84,7 +84,7 @@ protected function update($product_id, $id, $data)
      */
     protected function delete($product_id, $id, $options = [])
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/{$product_id}/variations")
             ->delete($id, $options);
     }
@@ -99,7 +99,7 @@ protected function delete($product_id, $id, $options = [])
      */
     protected function batch($product_id, $data)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/{$product_id}/variations")
             ->batch($data);
     }
@@ -120,7 +120,7 @@ protected function paginate(
         $current_page = 1,
         $options = []
     ) {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/{$product_id}/variations")
             ->paginate($per_page, $current_page, $options);
     }
@@ -134,7 +134,7 @@ protected function paginate(
      */
     protected function count($product_id)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/{$product_id}/variations")
             ->count();
     }
@@ -148,7 +148,7 @@ protected function count($product_id)
      */
     public function save($product_id)
     {
-        return Query::init()
+        return Query::init($this->config)
             ->setEndpoint("products/{$product_id}/variations")
             ->save();
     }
diff --git a/src/Query.php b/src/Query.php
index 0a8f9f9..6e3678a 100644
--- a/src/Query.php
+++ b/src/Query.php
@@ -24,10 +24,10 @@ public function setEndpoint($endpoint)
         return $this;
     }
 
-    public function init()
+    public function init($config)
     {
         if (!static::$instance) {
-            static::$instance = new static();
+            static::$instance = (new static())->withConfig($config ?? config('multisite.default'));
         }
 
         return static::$instance;
diff --git a/src/Traits/QueryBuilderTrait.php b/src/Traits/QueryBuilderTrait.php
index 5e5d491..fff5e3d 100644
--- a/src/Traits/QueryBuilderTrait.php
+++ b/src/Traits/QueryBuilderTrait.php
@@ -3,6 +3,7 @@
 namespace Codexshaper\WooCommerce\Traits;
 
 use Codexshaper\WooCommerce\Facades\WooCommerce;
+use Codexshaper\WooCommerce\WooCommerceApi;
 use Illuminate\Support\LazyCollection;
 
 trait QueryBuilderTrait
@@ -37,6 +38,31 @@ trait QueryBuilderTrait
      */
     protected $isOriginal = false;
 
+    protected ?string $config = null;
+
+    private $wooInstance = null;
+
+    protected function withConfig(string $config)
+    {
+        $this->config =  $config;
+
+        $this->wooCommerceInstance();
+
+        return $this;
+    }
+
+    protected function wooCommerceInstance()
+    {
+        if ($this->wooInstance) {
+            return $this->wooInstance;
+        }
+
+        $this->wooInstance = new WooCommerceApi($this->config ?? config('multisite.default'));
+
+        return $this->wooInstance;
+    }
+
+
     /**
      * Retrieve all Items.
      *
@@ -47,14 +73,14 @@ trait QueryBuilderTrait
     protected function all($options = [])
     {
         if ($this->isLazyCollection) {
-            return LazyCollection::make(WooCommerce::all($this->endpoint, $options));
+            return LazyCollection::make( $this->wooCommerceInstance()->all($this->endpoint, $options));
         }
 
         if ($this->isCollection) {
-            return collect(WooCommerce::all($this->endpoint, $options));
+            return collect( $this->wooCommerceInstance()->all($this->endpoint, $options));
         }
 
-        return WooCommerce::all($this->endpoint, $options);
+        return  $this->wooCommerceInstance()->all($this->endpoint, $options);
     }
 
     /**
@@ -68,14 +94,14 @@ protected function all($options = [])
     protected function find($id, $options = [])
     {
         if ($this->isLazyCollection) {
-            return LazyCollection::make(WooCommerce::find("{$this->endpoint}/{$id}", $options));
+            return LazyCollection::make( $this->wooCommerceInstance()->find("{$this->endpoint}/{$id}", $options));
         }
 
         if ($this->isCollection) {
-            return collect(WooCommerce::find("{$this->endpoint}/{$id}", $options));
+            return collect( $this->wooCommerceInstance()->find("{$this->endpoint}/{$id}", $options));
         }
 
-        return WooCommerce::find("{$this->endpoint}/{$id}", $options);
+        return  $this->wooCommerceInstance()->find("{$this->endpoint}/{$id}", $options);
     }
 
     /**
@@ -88,14 +114,14 @@ protected function find($id, $options = [])
     protected function create($data)
     {
         if ($this->isLazyCollection) {
-            return LazyCollection::make(WooCommerce::create($this->endpoint, $data));
+            return LazyCollection::make( $this->wooCommerceInstance()->create($this->endpoint, $data));
         }
 
         if ($this->isCollection) {
-            return collect(WooCommerce::create($this->endpoint, $data));
+            return collect( $this->wooCommerceInstance()->create($this->endpoint, $data));
         }
 
-        return WooCommerce::create($this->endpoint, $data);
+        return  $this->wooCommerceInstance()->create($this->endpoint, $data);
     }
 
     /**
@@ -109,14 +135,14 @@ protected function create($data)
     protected function update($id, $data)
     {
         if ($this->isLazyCollection) {
-            return LazyCollection::make(WooCommerce::update("{$this->endpoint}/{$id}", $data));
+            return LazyCollection::make( $this->wooCommerceInstance()->update("{$this->endpoint}/{$id}", $data));
         }
 
         if ($this->isCollection) {
-            return collect(WooCommerce::update("{$this->endpoint}/{$id}", $data));
+            return collect( $this->wooCommerceInstance()->update("{$this->endpoint}/{$id}", $data));
         }
 
-        return WooCommerce::update("{$this->endpoint}/{$id}", $data);
+        return  $this->wooCommerceInstance()->update("{$this->endpoint}/{$id}", $data);
     }
 
     /**
@@ -130,14 +156,14 @@ protected function update($id, $data)
     protected function delete($id, $options = [])
     {
         if ($this->isLazyCollection) {
-            return LazyCollection::make(WooCommerce::delete("{$this->endpoint}/{$id}", $options));
+            return LazyCollection::make( $this->wooCommerceInstance()->delete("{$this->endpoint}/{$id}", $options));
         }
 
         if ($this->isCollection) {
-            return collect(WooCommerce::delete("{$this->endpoint}/{$id}", $options));
+            return collect( $this->wooCommerceInstance()->delete("{$this->endpoint}/{$id}", $options));
         }
 
-        return WooCommerce::delete("{$this->endpoint}/{$id}", $options);
+        return  $this->wooCommerceInstance()->delete("{$this->endpoint}/{$id}", $options);
     }
 
     /**
@@ -150,32 +176,32 @@ protected function delete($id, $options = [])
     protected function batch($data)
     {
         if ($this->isLazyCollection) {
-            return LazyCollection::make(WooCommerce::create("{$this->endpoint}/batch", $data));
+            return LazyCollection::make( $this->wooCommerceInstance()->create("{$this->endpoint}/batch", $data));
         }
 
         if ($this->isCollection) {
-            return collect(WooCommerce::create("{$this->endpoint}/batch", $data));
+            return collect( $this->wooCommerceInstance()->create("{$this->endpoint}/batch", $data));
         }
 
-        return WooCommerce::create("{$this->endpoint}/batch", $data);
+        return  $this->wooCommerceInstance()->create("{$this->endpoint}/batch", $data);
     }
 
     /**
      * Retrieve data.
      *
-     * @return array
+     * @return \Illuminate\Support\Collection|array
      */
     protected function get()
     {
         if ($this->isLazyCollection) {
-            return LazyCollection::make(WooCommerce::all($this->endpoint, $this->options));
+            return LazyCollection::make( $this->wooCommerceInstance()->all($this->endpoint, $this->options));
         }
 
         if ($this->isCollection) {
-            return collect(WooCommerce::all($this->endpoint, $this->options));
+            return collect( $this->wooCommerceInstance()->all($this->endpoint, $this->options));
         }
 
-        return WooCommerce::all($this->endpoint, $this->options);
+        return  $this->wooCommerceInstance()->all($this->endpoint, $this->options);
     }
 
     /**
@@ -328,11 +354,11 @@ protected function paginate($per_page = 10, $current_page = 1, $options = [])
             }
 
             $data = $this->get();
-            $totalResults = WooCommerce::countResults();
-            $totalPages = WooCommerce::countPages();
-            $currentPage = WooCommerce::current();
-            $previousPage = WooCommerce::previous();
-            $nextPage = WooCommerce::next();
+            $totalResults =  $this->wooCommerceInstance()->countResults();
+            $totalPages =  $this->wooCommerceInstance()->countPages();
+            $currentPage =  $this->wooCommerceInstance()->current();
+            $previousPage =  $this->wooCommerceInstance()->previous();
+            $nextPage =  $this->wooCommerceInstance()->next();
 
             $pagination = [
                 'total_results' => $totalResults,
@@ -371,8 +397,8 @@ protected function paginate($per_page = 10, $current_page = 1, $options = [])
     protected function count()
     {
         try {
-            $results = WooCommerce::all($this->endpoint, $this->options);
-            $totalResults = WooCommerce::countResults();
+            $results =  $this->wooCommerceInstance()->all($this->endpoint, $this->options);
+            $totalResults =  $this->wooCommerceInstance()->countResults();
 
             return $totalResults;
         } catch (\Exception $ex) {
@@ -387,7 +413,7 @@ protected function count()
      */
     public function save()
     {
-        $this->results = WooCommerce::create($this->endpoint, $this->properties);
+        $this->results =  $this->wooCommerceInstance()->create($this->endpoint, $this->properties);
 
         if ($this->isLazyCollection) {
             return LazyCollection::make($this->results);
diff --git a/src/Traits/WooCommerceTrait.php b/src/Traits/WooCommerceTrait.php
index 928a788..7eb2590 100644
--- a/src/Traits/WooCommerceTrait.php
+++ b/src/Traits/WooCommerceTrait.php
@@ -16,8 +16,6 @@ trait WooCommerceTrait
     public function all($endpoint = '', $options = [])
     {
         try {
-            self::__construct();
-
             return $this->client->get($endpoint, $options);
         } catch (\Exception $e) {
             throw new \Exception($e->getMessage(), 1);
@@ -36,8 +34,6 @@ public function all($endpoint = '', $options = [])
     public function find($endpoint = '', $options = [])
     {
         try {
-            self::__construct();
-
             return $this->client->get($endpoint, $options);
         } catch (\Exception $e) {
             throw new \Exception($e->getMessage(), 1);
@@ -56,8 +52,6 @@ public function find($endpoint = '', $options = [])
     public function create($endpoint, $data)
     {
         try {
-            self::__construct();
-
             return $this->client->post($endpoint, $data);
         } catch (\Exception $e) {
             throw new \Exception($e->getMessage(), 1);
@@ -76,8 +70,6 @@ public function create($endpoint, $data)
     public function update($endpoint, $data)
     {
         try {
-            self::__construct();
-
             return $this->client->put($endpoint, $data);
         } catch (\Exception $e) {
             throw new \Exception($e->getMessage(), 1);
@@ -96,8 +88,6 @@ public function update($endpoint, $data)
     public function delete($endpoint, $options = [])
     {
         try {
-            self::__construct();
-
             return $this->client->delete($endpoint, $options);
         } catch (\Exception $e) {
             throw new \Exception($e->getMessage(), 1);
diff --git a/src/WooCommerceAnalyticsApi.php b/src/WooCommerceAnalyticsApi.php
index f2a8b69..3a4fc54 100644
--- a/src/WooCommerceAnalyticsApi.php
+++ b/src/WooCommerceAnalyticsApi.php
@@ -26,26 +26,35 @@ class WooCommerceAnalyticsApi
      */
     public function __construct()
     {
-        try {
-            $this->headers = [
-                'header_total'       => config('woocommerce.header_total') ?? 'X-WP-Total',
-                'header_total_pages' => config('woocommerce.header_total_pages') ?? 'X-WP-TotalPages',
-            ];
-
-            $this->client = new Client(
-                config('woocommerce.store_url'),
-                config('woocommerce.consumer_key'),
-                config('woocommerce.consumer_secret'),
-                [
-                    'version'           => 'wc-analytics',
-                    'wp_api'            => config('woocommerce.wp_api_integration'),
-                    'verify_ssl'        => config('woocommerce.verify_ssl'),
-                    'query_string_auth' => config('woocommerce.query_string_auth'),
-                    'timeout'           => config('woocommerce.timeout'),
-                ]
-            );
-        } catch (\Exception $e) {
-            throw new \Exception($e->getMessage(), 1);
-        }
+//        try {
+//            $this->setConfig(  $this->config ?? config('multisite.default') );
+//        } catch (\Exception $e) {
+//            throw new \Exception($e->getMessage(), 1);
+//        }
+    }
+
+    public function setConfig($configSet)
+    {
+        $config = config('multisite.' . $configSet);
+
+        $this->headers = [
+            'header_total'       => $config['header_total'] ?? 'X-WP-Total',
+            'header_total_pages' => $config['header_total_pages'] ?? 'X-WP-TotalPages',
+        ];
+
+        $this->client = new Client(
+            $config['store_url'],
+            $config['consumer_key'],
+            $config['consumer_secret'],
+            [
+                'version'           => 'wc/' . $config['api_version'],
+                'wp_api'            => $config['wp_api'],
+                'verify_ssl'        => $config['verify_ssl'],
+                'query_string_auth' => $config['query_string_auth'],
+                'timeout'           => $config['timeout'],
+            ]
+        );
+
+        return $this;
     }
 }
diff --git a/src/WooCommerceApi.php b/src/WooCommerceApi.php
index c294a6e..350443f 100644
--- a/src/WooCommerceApi.php
+++ b/src/WooCommerceApi.php
@@ -14,6 +14,8 @@ class WooCommerceApi
      */
     protected $client;
 
+    protected $config;
+
     /**
      *@var array
      */
@@ -24,28 +26,26 @@ class WooCommerceApi
      *
      * @return void
      */
-    public function __construct()
+    public function __construct(string $config)
     {
-        try {
-            $this->headers = [
-                'header_total'       => config('woocommerce.header_total') ?? 'X-WP-Total',
-                'header_total_pages' => config('woocommerce.header_total_pages') ?? 'X-WP-TotalPages',
-            ];
-
-            $this->client = new Client(
-                config('woocommerce.store_url'),
-                config('woocommerce.consumer_key'),
-                config('woocommerce.consumer_secret'),
-                [
-                    'version'           => 'wc/'.config('woocommerce.api_version'),
-                    'wp_api'            => config('woocommerce.wp_api_integration'),
-                    'verify_ssl'        => config('woocommerce.verify_ssl'),
-                    'query_string_auth' => config('woocommerce.query_string_auth'),
-                    'timeout'           => config('woocommerce.timeout'),
-                ]
-            );
-        } catch (\Exception $e) {
-            throw new \Exception($e->getMessage(), 1);
-        }
+        $this->config = config('multisite.' . $config);
+
+        $this->headers = [
+            'header_total'       => $this->config['header_total'] ?? 'X-WP-Total',
+            'header_total_pages' => $this->config['header_total_pages'] ?? 'X-WP-TotalPages',
+        ];
+
+        $this->client = new Client(
+            $this->config['store_url'],
+            $this->config['consumer_key'],
+            $this->config['consumer_secret'],
+            [
+                'version'           => 'wc/' . $this->config['api_version'],
+                'wp_api'            => $this->config['wp_api'],
+                'verify_ssl'        => $this->config['verify_ssl'],
+                'query_string_auth' => $this->config['query_string_auth'],
+                'timeout'           => $this->config['timeout'],
+            ]
+        );
     }
 }
diff --git a/src/WooCommerceServiceProvider.php b/src/WooCommerceServiceProvider.php
index 6e17494..db5f283 100644
--- a/src/WooCommerceServiceProvider.php
+++ b/src/WooCommerceServiceProvider.php
@@ -15,6 +15,7 @@ public function boot()
     {
         $this->publishes([
             __DIR__.'/config/woocommerce.php' => config_path('woocommerce.php'),
+            __DIR__.'/config/multisite.php' => config_path('multisite.php'),
         ], 'woocommerce');
     }
 
@@ -30,9 +31,9 @@ public function register()
             'woocommerce'
         );
 
-        $this->app->singleton('WooCommerceApi', function () {
-            return new WooCommerceApi();
-        });
-        $this->app->alias('Codexshaper\Woocommerce\WooCommerceApi', 'WooCommerceApi');
+//        $this->app->singleton('WooCommerceApi', function () {
+//            return new WooCommerceApi();
+//        });
+//        $this->app->alias('Codexshaper\Woocommerce\WooCommerceApi', 'WooCommerceApi');
     }
 }
diff --git a/src/config/multisite.php b/src/config/multisite.php
new file mode 100644
index 0000000..6a3f01c
--- /dev/null
+++ b/src/config/multisite.php
@@ -0,0 +1,28 @@
+<?php
+
+return [
+    'default' => 'development',
+
+   "development" => [
+      "store_url" => "YOUR_STORE_URL",
+      "consumer_key" => "YOUR_CONSUMER_KEY",
+      "consumer_secret" => "YOUR_CONSUMER_SECRET",
+   ],
+   "staging" => [
+      "store_url" => "YOUR_STORE_URL",
+      "consumer_key" => "YOUR_CONSUMER_KEY",
+      "consumer_secret" => "YOUR_CONSUMER_SECRET",
+   ],
+   "production" => [
+      "store_url" => "YOUR_STORE_URL",
+      "consumer_key" => "YOUR_CONSUMER_KEY",
+      "consumer_secret" => "YOUR_CONSUMER_SECRET",
+      "verify_ssl" => false,
+      "api_version" => "v3",
+      "wp_api" => true,
+      "query_string_auth" => false,
+      "timeout" => 100,
+      "header_total" => "X-WP-Total",
+      "header_total_pages" => "X-WP-TotalPages"
+   ]
+];
diff --git a/src/config/woocommerce.php b/src/config/woocommerce.php
index 8c9555b..164940b 100644
--- a/src/config/woocommerce.php
+++ b/src/config/woocommerce.php
@@ -1,59 +1,65 @@
 <?php
 
+    /**
+     *================================================================================
+     * Unless using a single remote site configuration DO NOT CHANGE THIS FILE!
+     *================================================================================.
+     */
+
 return [
     /**
      *================================================================================
      * Store URL eg: http://example.com
      *================================================================================.
      */
-    'store_url'         => env('WOOCOMMERCE_STORE_URL', 'YOUR_STORE_URL'),
+    'store_url'         =>  config( 'multisite.' . env('WOOCOMMERCE_DEFAULT_STORE', 'development') . '.store_url'),
 
     /**
      *================================================================================
      * Consumer Key
      *================================================================================.
      */
-    'consumer_key'      => env('WOOCOMMERCE_CONSUMER_KEY', 'YOUR_CONSUMER_KEY'),
+    'consumer_key'      => config( 'multisite.' . env('WOOCOMMERCE_DEFAULT_STORE', 'development') . '.consumer_key'),
 
     /**
      * Consumer Secret.
      */
-    'consumer_secret'   => env('WOOCOMMERCE_CONSUMER_SECRET', 'YOUR_CONSUMER_SECRET'),
+    'consumer_secret'      => config( 'multisite.' . env('WOOCOMMERCE_DEFAULT_STORE', 'development') . '.consumer_secret'),
 
     /**
      *================================================================================
-     * SSL support
+     * SSL support, default is false. 
      *================================================================================.
      */
-    'verify_ssl'        => env('WOOCOMMERCE_VERIFY_SSL', false),
+    'verify_ssl'        => config( 'multisite.' . env('WOOCOMMERCE_DEFAULT_STORE', 'development') . '.verify_ssl', false),
 
     /**
      *================================================================================
-     * Woocommerce API version
+     * Woocommerce API version, default is v3
      *================================================================================.
      */
-    'api_version'       => env('WOOCOMMERCE_API_VERSION', 'v3'),
+    'api_version'       => config( 'multisite.' . env('WOOCOMMERCE_DEFAULT_STORE', 'development') . '.api_version', 'v3'),
 
     /**
      *================================================================================
      * Enable WP API Integration
      *================================================================================.
      */
-    'wp_api'            => env('WP_API_INTEGRATION', true),
+    'wp_api'            => config( 'multisite.' . env('WOOCOMMERCE_DEFAULT_STORE', 'development') . '.wp_api', true),
 
     /**
      *================================================================================
      * Force Basic Authentication as query string
      *================================================================================.
      */
-    'query_string_auth' => env('WOOCOMMERCE_WP_QUERY_STRING_AUTH', false),
+    'query_string_auth' => config( 'multisite.' . env('WOOCOMMERCE_DEFAULT_STORE', 'development') . '.query_string_auth', false),
 
     /**
      *================================================================================
      * Default WP timeout
      *================================================================================.
      */
-    'timeout'           => env('WOOCOMMERCE_WP_TIMEOUT', 15),
+    'timeout'           => config( 'multisite.' . env('WOOCOMMERCE_DEFAULT_STORE', 'development') . '.timeout', 100),
 
     /**
      *================================================================================
@@ -61,7 +67,7 @@
      * Default value X-WP-Total
      *================================================================================.
      */
-    'header_total'           => env('WOOCOMMERCE_WP_HEADER_TOTAL', 'X-WP-Total'),
+    'header_total'           => config( 'multisite.' . env('WOOCOMMERCE_DEFAULT_STORE', 'development') . '.header_total', 'X-WP-Total'),
 
     /**
      *================================================================================
@@ -69,5 +75,5 @@
      * Default value X-WP-TotalPages
      *================================================================================.
      */
-    'header_total_pages'           => env('WOOCOMMERCE_WP_HEADER_TOTAL_PAGES', 'X-WP-TotalPages'),
+    'header_total_pages'           => config( 'multisite.' . env('WOOCOMMERCE_DEFAULT_STORE', 'development') . '.header_total_pages', 'X-WP-TotalPages'),
 ];