diff --git a/uafrica/Customshipping/Model/Carrier/Customshipping.php b/uafrica/Customshipping/Model/Carrier/Customshipping.php
index 777ff3b925f4cf38f2163953a43ff026c2d8b536..f57e2c44ef9a7ced55bb37b538befbf71994906a 100644
--- a/uafrica/Customshipping/Model/Carrier/Customshipping.php
+++ b/uafrica/Customshipping/Model/Carrier/Customshipping.php
@@ -388,9 +388,9 @@ class Customshipping extends AbstractCarrier implements CarrierInterface
      * Make request to uAfrica API to get shipping rates
      *  @return array
      */
-    private function getRates(): array
+    private function getRates($payload): array
     {
-        $this->curl->post($this->getApiUrl(), $this->getPayload());
+        $this->curl->post($this->getApiUrl(), $payload);
 
         $response = $this->curl->getBody();
 
@@ -439,9 +439,107 @@ class Customshipping extends AbstractCarrier implements CarrierInterface
         //}
         //Mock URL FOR NOW, will be replaced with the actual API URL
         //Like; $this->getConfigData('api_url')
+        //Fill in the payload with the data from the request
 
 
-        $rates = $this->getRates();
+        //TODO: Get the rates from the API and append them to the result object
+        //JSON data fed to post man mock server as a response to the request for rates
+        //{
+        //"rates": [
+        //{
+        //"id": "113810",
+        //"description": "Standard Economy Shipping Rate",
+        //"service_name": "Courier Door to Door Delivery - Economy",
+        //"service_code": "113810_23",
+        //"total_price": 7500,
+        //"currency": "ZAR",
+        //"min_delivery_date": "2022-12-29",
+        //"max_delivery_date": "2023-01-03"
+        //}
+        //]
+        //}
+        //Mock URL FOR NOW, will be replaced with the actual API URL
+        //Like; $this->getConfigData('api_url')
+        //GET ALL DESTINATION DATA FROM THE REQUEST
+        $destination = $request->getDestPostcode();
+        $destCountry = $request->getDestCountryId();
+        $destRegion = $request->getDestRegionCode();
+        $destCity = $request->getDestCity();
+        $destStreet = $request->getDestStreet();
+        $destStreet1 = $destStreet;
+        $destStreet2 = $destStreet;
+        //  $destStreet3 = $destStreet[2];
+
+        //Get all the origin data from the request
+        $origin = $this->getConfigData('origin_postcode');
+        $originCountry = $this->getConfigData('origin_country_id');
+        $originRegion = $this->getConfigData('origin_region_id');
+        $originCity = $this->getConfigData('origin_city');
+        $originStreet = $this->getConfigData('origin_street');
+        $originStreet1 = $originStreet;
+        $originStreet2 = $originStreet;
+        // $originStreet3 = $originStreet[2];
+
+
+        $items = $request->getAllItems();
+        $itemsArray = [];
+        foreach ($items as $item) {
+            $itemsArray[] = [
+                'name' => $item->getName(),
+                'sku' => $item->getSku(),
+                'quantity' => $item->getQty(),
+                'price' => $item->getPrice(),
+                'grams' => $item->getWeight() * 1000,
+                'requires_shipping' => $item->getIsVirtual(),
+                'taxable' => true,
+                'fulfillment_service' => 'manual',
+                'properties' => [],
+                'vendor' => $item->getStoreId(),
+                'product_id' => $item->getProductId(),
+                'variant_id' => $item->getProduct()->getId()
+            ];
+        }
+            $payload = [
+                'rate' => [
+                    //TODO: Get the data from the request object
+                    'origin' => [
+                        'country' => $originCountry,
+                        'postal_code' => $origin,
+                        'province' => $originRegion,
+                        'city' => $originCity,
+                        'name' => 'Gundo',
+                        'address1' => $originStreet1,
+                        'address2' => $originStreet2,
+                        'address3' => '',
+                        'phone' => '+27313039670',
+                        'fax' => '',
+                        'email' => '',
+                        'address_type' => '',
+                        'company_name' => 'Jam Clothing'
+                    ],
+                    //TODO: Get the destination from the request
+                    'destination' => [
+                        'country' => $destCountry,
+                        'postal_code' => $destination,
+                        'province' => $destRegion,
+                        'city' => $destCity,
+                        'name' => 'Brian Singh',
+                        'address1' => $destStreet1,
+                        'address2' => $destStreet2,
+                        'address3' => '',
+                        'phone' => '081 346 5923',
+                        'fax' => '',
+                        'email' => '',
+                        'address_type' => '',
+                        'company_name' => ''
+                    ],
+                    'items' => $itemsArray,
+                    'currency' => 'ZAR',
+                    'locale' => 'en-PT'
+                ]
+            ];
+
+        $rates = $this->getRates($payload);
 
         $method = $this->_rateMethodFactory->create();
 
@@ -469,78 +567,16 @@ class Customshipping extends AbstractCarrier implements CarrierInterface
             'method' => 'uafrica',
 
         ];
+        //TODO: Get the allowed methods from the API and return them
+
+        //Get shipping methods dynamically from the API
+//        $arr = [];
+//        $rates = $this->getRates();
+//
+//        foreach ($rates['rates'] as $code => $title) {
+//            $arr[$code] = $title['service_name'];
+//        }
         return $arr;
     }
-    /**
-     * Return all the extracted data from  The Current Sales Order
-     * @return array
-     */
-    private function getPayload(): array
-    {
-        return $this->extracted();
-    }
-
-    /**
-     * @return array[]
-     */
-    private function extracted(): array
-    {
-        //Get Information from the current sales order
-        //Static Payload for testing purposes only as aforementioned
-        $payload = [
-            'rate' => [
-                'origin' => [
-                    'country' => 'ZA',
-                    'postal_code' => '4001',
-                    'province' => 'NL',
-                    'city' => 'Durban',
-                    'name' => '',
-                    'address1' => '29 Livingstone Rd',
-                    'address2' => 'Durban',
-                    'address3' => '',
-                    'phone' => '+27313039670',
-                    'fax' => '',
-                    'email' => '',
-                    'address_type' => '',
-                    'company_name' => 'Jam Clothing'
-                ],
-                'destination' => [
-                    'country' => 'ZA',
-                    'postal_code' => '4068',
-                    'province' => 'NL',
-                    'city' => 'Phoenix',
-                    'name' => 'Brian Singh',
-                    'address1' => '3 cretemore road, stanmore, phoenix',
-                    'address2' => 'House',
-                    'address3' => '',
-                    'phone' => '081 346 5923',
-                    'fax' => '',
-                    'email' => '',
-                    'address_type' => '',
-                    'company_name' => ''
-                ],
-                'items' => [
-                    [
-                        'name' => 'Mens Gold\'s Gym Knapsack Bag - Black - NoSize',
-                        'sku' => 'AC91000336001',
-                        'quantity' => 2,
-                        'grams' => 0,
-                        'price' => 2000,
-                        'vendor' => 'Jam Clothing',
-                        'requires_shipping' => true,
-                        'taxable' => true,
-                        'fulfillment_service' => 'manual',
-                        'properties' => [],
-                        'product_id' => 7100074098825,
-                        'variant_id' => 41001616900233
-                    ]
-                ],
-                'currency' => 'ZAR',
-                'locale' => 'en-PT'
-            ]
-        ];
-
-        return $payload;
-    }
 
 }