public function placeOrder()
 {
     // Make sure request is well formated
     if (!array_key_exists('order', $this->request_body)) {
         throw new Exception('Missing or malformed request.', 422);
     }
     $input = $this->request_body['order'];
     $requiredKeys = array('customerName', 'customerEmail', 'itemName', 'price', 'token');
     $this->app['utils']->verifyInputIsntNull($input, $requiredKeys);
     // Create new Order object
     $order = new Order();
     $order->setTruckId($truckId = 1);
     $order->setItemName($input['itemName']);
     $order->setPrice($input['price']);
     $order->setCustomerName($input['customerName']);
     $order->setCustomerEmail($input['customerEmail']);
     if (array_key_exists('customerPhoneNumber', $input)) {
         $order->setCustomerPhoneNumber($input['customerPhoneNumber']);
     }
     // Pay for order
     $payment = $this->stripeWrapper->payForOrder($input);
     // Add order info to order
     $order->setChargeId($payment['chargeId']);
     $order->setCustomerId($payment['customerId']);
     // Save the Order to the db
     $order->save();
     // Return Order objet
     return array('order' => $order->toArray());
 }