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); } }