function invokeCreateFulfillmentOrder(FBAOutboundServiceMWS_Interface $service, $request, $order_id, $percentfulfilled)
{
    try {
        $response = $service->createFulfillmentOrder($request);
        if ($response->isSetResponseMetadata()) {
            $responseMetadata = $response->getResponseMetadata();
            if ($responseMetadata->isSetRequestId()) {
                $RequestID = $responseMetadata->getRequestId();
                update_post_meta($order_id, 'FBA_Status', 'False');
                $order = new WC_Order($order_id);
                $order->update_status("processing");
                $note = "Order submitted. Amazon Request ID:" . $RequestID;
                $order->add_order_note($note, 0);
                if ($percentfulfilled == '100') {
                    $level = "Good";
                    // Sharad (June 25, 2015): Not sure why we were completing the order here (before its shipped by Amazon)
                    // commenting the update_status for now
                    // $order->update_status("completed");
                } else {
                    $level = "Neutral";
                }
                $category = "Order";
                $title = "Sent to Amazon - Order ID:" . $order_id;
                $info = $percentfulfilled . " Percent Fulfilled | RequestID " . $RequestID . " | Response Meta Data : " . $ResponseMetaData;
                AmzFBA_Woo_Log($level, $category, $title, $info);
                return true;
            }
        }
        return false;
    } catch (FBAOutboundServiceMWS_Exception $ex) {
        // echo("XML: " . $ex->getXML() . "\n");
        //Add some logging (if it's switched on)
        $level = "Bad";
        $category = "Order";
        $title = "Export Error - Order ID:" . $order_id;
        $info = "Caught Exception: " . $ex->getMessage() . " | Response Status Code: " . $ex->getStatusCode() . " | Error Code: " . $ex->getErrorCode() . " | Error Type: " . $ex->getErrorType() . " | Request ID: " . $ex->getRequestId();
        AmzFBA_Woo_Log($level, $category, $title, $info);
        //Lets put the order on hold as we have an issue with it.
        $order = new WC_Order($order_id);
        $order->update_status('on-hold');
        //Now lets Add a messsage to the order
        $note = "Error submitting order to Amazon. Error Message:" . $ex->getMessage() . ' . Error Code:' . $ex->getErrorCode();
        $order->add_order_note($note, 0);
        SendErrorEmail($category, $info);
    } catch (Exception $e) {
        HandleGenericException("Order", $e);
        //Lets put the order on hold as we have an issue with it.
        $order = new WC_Order($order_id);
        $order->update_status('on-hold');
        //Now lets Add a messsage to the order
        $note = "Error submitting order to Amazon. Error Message:" . $ex->getMessage() . ' . Error Code:' . $ex->getErrorCode();
        $order->add_order_note($note, 0);
    }
}
function invokeCreateFulfillmentOrder(FBAOutboundServiceMWS_Interface $service, $request, $order_id, $percentfulfilled)
{
    try {
        $response = $service->createFulfillmentOrder($request);
        if ($response->isSetResponseMetadata()) {
            $responseMetadata = $response->getResponseMetadata();
            if ($responseMetadata->isSetRequestId()) {
                $RequestID = $responseMetadata->getRequestId();
                update_post_meta($order_id, 'FBA_Status', 'False');
                $order = new WC_Order($order_id);
                $note = "Order submitted. Amazon Request ID:" . $RequestID;
                $order->add_order_note($note, 0);
                if ($percentfulfilled == '100') {
                    $level = "Good";
                    $order->update_status("Completed", "100% Sent to Amazon. Order status changed to Completed.");
                } else {
                    $level = "Neutral";
                }
                $category = "Order";
                $title = "Sent to Amazon - Order ID:" . $order_id;
                $info = $percentfulfilled . " Percent Fulfilled | RequestID " . $RequestID . " | Response Meta Data : " . $ResponseMetaData;
                AmzFBA_Woo_Log($level, $category, $title, $info);
            }
        }
    } catch (FBAOutboundServiceMWS_Exception $ex) {
        // echo("XML: " . $ex->getXML() . "\n");
        $level = "Bad";
        $category = "Order";
        $title = "Export Error - Order ID:" . $order_id;
        $info = "Caught Exception: " . $ex->getMessage() . " | Response Status Code: " . $ex->getStatusCode() . " | Error Code: " . $ex->getErrorCode() . " | Error Type: " . $ex->getErrorType() . " | Request ID: " . $ex->getRequestId();
        AmzFBA_Woo_Log($level, $category, $title, $info);
    }
}