function init($AmazonOrderId) { $this->AmazonOrderId = $AmazonOrderId; $config = array('ServiceURL' => $this->serviceUrl . "Orders/2013-09-01", 'ProxyHost' => null, 'ProxyPort' => -1, 'ProxyUsername' => null, 'ProxyPassword' => null, 'MaxErrorRetry' => 3); $service = new MarketplaceWebServiceOrders_Client(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, APPLICATION_NAME, APPLICATION_VERSION, $config); $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest(); $request->setSellerId(MERCHANT_ID); $request->setAmazonOrderId($this->AmazonOrderId); // object or array of parameters return $this->invokeGetOrder($service, $request); }
/** * Get Order * This operation takes up to 50 order ids and returns the corresponding orders. * * @param mixed $request array of parameters for MarketplaceWebServiceOrders_Model_GetOrder request or MarketplaceWebServiceOrders_Model_GetOrder object itself * @see MarketplaceWebServiceOrders_Model_GetOrderRequest * @return MarketplaceWebServiceOrders_Model_GetOrderResponse * * @throws MarketplaceWebServiceOrders_Exception */ public function getOrder($request) { if (!$request instanceof MarketplaceWebServiceOrders_Model_GetOrderRequest) { $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest($request); } $parameters = $request->toQueryParameterArray(); $parameters['Action'] = 'GetOrder'; $httpResponse = $this->_invoke($parameters); $response = MarketplaceWebServiceOrders_Model_GetOrderResponse::fromXML($httpResponse['ResponseBody']); $response->setResponseHeaderMetadata($httpResponse['ResponseHeaderMetadata']); return $response; }
* Uncomment to try out Mock Service that simulates MarketplaceWebServiceOrders * responses without calling MarketplaceWebServiceOrders service. * * Responses are loaded from local XML files. You can tweak XML files to * experiment with various outputs during development * * XML files available under MarketplaceWebServiceOrders/Mock tree * ***********************************************************************/ // $service = new MarketplaceWebServiceOrders_Mock(); /************************************************************************ * Setup request parameters and uncomment invoke to try out * sample for Get Order Action ***********************************************************************/ // @TODO: set request. Action can be passed as MarketplaceWebServiceOrders_Model_GetOrder $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest(); $request->setSellerId(MERCHANT_ID); // object or array of parameters invokeGetOrder($service, $request); /** * Get Get Order Action Sample * Gets competitive pricing and related information for a product identified by * the MarketplaceId and ASIN. * * @param MarketplaceWebServiceOrders_Interface $service instance of MarketplaceWebServiceOrders_Interface * @param mixed $request MarketplaceWebServiceOrders_Model_GetOrder or array of parameters */ function invokeGetOrder(MarketplaceWebServiceOrders_Interface $service, $request) { try { $response = $service->GetOrder($request);
/************************************************************************ * Uncomment to try out Mock Service that simulates MarketplaceWebServiceOrders * responses without calling MarketplaceWebServiceOrders service. * * Responses are loaded from local XML files. You can tweak XML files to * experiment with various outputs during development * * XML files available under MarketplaceWebServiceOrders/Mock tree * ***********************************************************************/ // $service = new MarketplaceWebServiceOrders_Mock(); /************************************************************************ * Setup request parameters and uncomment invoke to try out * sample for Get Order Action ***********************************************************************/ $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest(); $request->setSellerId(MERCHANT_ID); // @TODO: set request. Action can be passed as MarketplaceWebServiceOrders_Model_GetOrderRequest // object or array of parameters // Set the list of AmazonOrderIds $orderIds = new MarketplaceWebServiceOrders_Model_OrderIdList(); $orderIds->setId($_REQUEST['azoid']); $request->setAmazonOrderId($orderIds); invokeGetOrder($service, $request); /** * Get Order Action Sample * This operation takes up to 50 order ids and returns the corresponding orders. * * @param MarketplaceWebServiceOrders_Interface $service instance of MarketplaceWebServiceOrders_Interface * @param mixed $request MarketplaceWebServiceOrders_Model_GetOrder or array of parameters */
public function act_fetchOrder() { $message = ""; $accountId = isset($_POST['amazon_account']) ? $_POST['amazon_account'] : ""; $account = OmAvailableModel::getTNameList("om_account", "*", " where id={$accountId}"); $account = $account[0]['account']; $recordNumber = isset($_POST['amazon_id']) ? $_POST['amazon_id'] : ""; $amazon_account = isset($_POST['amazon_account']) ? $_POST['amazon_account'] : ""; $site = isset($_POST['site']) ? $_POST['site'] : ""; $recordNumbers = explode(",", $recordNumber); //print_r($recordNumbers); //$rids = empty($_GET['rids']) ? array() : array_map('trim', explode(',', $_GET['rids'])); $rids = array_values(array_unique(array_filter(array_map('trim', $recordNumbers)))); if (!defined('WEB_PATH')) { define("WEB_PATH", "/data/web/order.valsun.cn/"); } //define('SCRIPTS_PATH_CRONTAB', '/data/web/erpNew/order.valsun.cn/crontab/'); require_once WEB_PATH . "crontab/scripts.comm.php"; require_once WEB_PATH_CONF_SCRIPTS . "script.ebay.config.php"; require_once WEB_PATH_LIB_SCRIPTS_AMAZON . "amazon_order_func.php"; if (strtoupper($site) == "US") { $keyname = WEB_PATH_CONF_SCRIPTS_KEYS_AMAZON . "amazon_keys_{$account}.php"; } elseif (strtoupper($site) == "UK" || strtoupper($site) == "DE") { $ext = strtolower($site); $keyname = WEB_PATH_CONF_SCRIPTS_KEYS_AMAZON . "amazon_keys_{$ext}_{$account}.php"; } //echo $keyname; if (file_exists($keyname)) { include_once $keyname; } else { //exit ("未找对应的key文件!\n"); $message .= "<font color='red'>未找对应的key文件</font>"; } define('APPLICATION_NAME', $APPLICATION_NAME); define('APPLICATION_VERSION', $APPLICATION_VERSION); define('AWS_ACCESS_KEY_ID', $AWS_ACCESS_KEY_ID); define('AWS_SECRET_ACCESS_KEY', $AWS_SECRET_ACCESS_KEY); define('MERCHANT_ID', $MERCHANT_ID); define('MARKETPLACE_ID', $MARKETPLACE_ID); //echo "\n".get_include_path()."\n"; set_include_path(get_include_path() . PATH_SEPARATOR . WEB_PATH_LIB_SDK_AMAZON); // //echo "\n".get_include_path()."\n"; // /*function __autoload($className){ $filePath = str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'; $includePaths = explode('/', get_include_path()); foreach($includePaths as $includePath){ if(file_exists($includePath . DIRECTORY_SEPARATOR . $filePath)){ require_once $filePath; return; } } }*/ require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Client.php'; require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Interface.php'; require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Exception.php'; require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Model/GetOrderRequest.php'; require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Model/OrderIdList.php'; require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Model/ListOrdersRequest.php'; require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Model/MarketplaceIdList.php'; require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Model/ListOrderItemsRequest.php'; $config = array('ServiceURL' => $serviceUrl, 'ProxyHost' => null, 'ProxyPort' => -1, 'MaxErrorRetry' => 3); $minute = 100; $start = date("Y-m-d H:i:s", time() - $minute * 60); //$order_statistics = new OrderStatistics(); $service = new MarketplaceWebServiceOrders_Client(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, APPLICATION_NAME, APPLICATION_VERSION, $config); $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest(); $request->setSellerId(MERCHANT_ID); //$request->setCreatedAfter(new DateTime($start, new DateTimeZone('UTC'))); //$request->setCreatedBefore(new DateTime('2012-08-03 12:00:00', new DateTimeZone('UTC'))); //$request->setMarketplaceId($marketplaceIdList); //由account得出其accountId /*$tName = 'om_account'; $select = 'id'; $where = "WHERE account='$account' AND platformId=11"; //亚马孙平台id为11 $accountIdList = OmAvailableModel :: getTNameList($tName, $select, $where); if (empty ($accountIdList)) { exit ("$account is not in om_account!\n"); } $accountId = $accountIdList[0]['id'];*/ $transportList = CommonModel::getCarrierListById(); $flip_transportList = array_flip($transportList); //var_dump($flip_transportList); exit; $orderIds = new MarketplaceWebServiceOrders_Model_OrderIdList(); //echo "<pre>"; print_r($rids); $orderIds->setId($rids); $request->setAmazonOrderId($orderIds); $info = self::act_invokeListOrders($service, $request, $account, $site, $accountId, $flip_transportList, $message); return $info; }
public function getOrder_v2($OrderID) { WPLA()->logger->info('getOrder() - ' . $OrderID); $this->initAPI('Orders'); $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest(); $request->setSellerId($this->SellerId); // $request->setMarketplaceId( $this->MarketplaceId ); // set AmazonOrderId $request->setAmazonOrderId($OrderID); // invoke request try { $response = $this->service->GetOrder($request); echo "<pre>"; print_r($response); echo "</pre>"; #die(); echo "<pre>"; // $xml_data = $response->toXML(); // echo "<pre>";print_r($xml_data);echo"</pre>";#die(); echo " GetOrderResponse\n"; if ($response->isSetGetOrderResult()) { echo " GetOrderResult\n"; $getOrderResult = $response->getGetOrderResult(); if ($getOrderResult->isSetOrders()) { echo " Orders\n"; $orders = $getOrderResult->getOrders(); $orderList = $orders->getOrder(); foreach ($orderList as $order) { echo " Order\n"; if ($order->isSetAmazonOrderId()) { echo " AmazonOrderId\n"; echo " " . $order->getAmazonOrderId() . "\n"; } if ($order->isSetSellerOrderId()) { echo " SellerOrderId\n"; echo " " . $order->getSellerOrderId() . "\n"; } if ($order->isSetPurchaseDate()) { echo " PurchaseDate\n"; echo " " . $order->getPurchaseDate() . "\n"; } if ($order->isSetLastUpdateDate()) { echo " LastUpdateDate\n"; echo " " . $order->getLastUpdateDate() . "\n"; } if ($order->isSetOrderStatus()) { echo " OrderStatus\n"; echo " " . $order->getOrderStatus() . "\n"; } if ($order->isSetFulfillmentChannel()) { echo " FulfillmentChannel\n"; echo " " . $order->getFulfillmentChannel() . "\n"; } if ($order->isSetSalesChannel()) { echo " SalesChannel\n"; echo " " . $order->getSalesChannel() . "\n"; } if ($order->isSetOrderChannel()) { echo " OrderChannel\n"; echo " " . $order->getOrderChannel() . "\n"; } if ($order->isSetShipServiceLevel()) { echo " ShipServiceLevel\n"; echo " " . $order->getShipServiceLevel() . "\n"; } if ($order->isSetShippingAddress()) { echo " ShippingAddress\n"; $shippingAddress = $order->getShippingAddress(); if ($shippingAddress->isSetName()) { echo " Name\n"; echo " " . $shippingAddress->getName() . "\n"; } if ($shippingAddress->isSetAddressLine1()) { echo " AddressLine1\n"; echo " " . $shippingAddress->getAddressLine1() . "\n"; } if ($shippingAddress->isSetAddressLine2()) { echo " AddressLine2\n"; echo " " . $shippingAddress->getAddressLine2() . "\n"; } if ($shippingAddress->isSetAddressLine3()) { echo " AddressLine3\n"; echo " " . $shippingAddress->getAddressLine3() . "\n"; } if ($shippingAddress->isSetCity()) { echo " City\n"; echo " " . $shippingAddress->getCity() . "\n"; } if ($shippingAddress->isSetCounty()) { echo " County\n"; echo " " . $shippingAddress->getCounty() . "\n"; } if ($shippingAddress->isSetDistrict()) { echo " District\n"; echo " " . $shippingAddress->getDistrict() . "\n"; } if ($shippingAddress->isSetStateOrRegion()) { echo " StateOrRegion\n"; echo " " . $shippingAddress->getStateOrRegion() . "\n"; } if ($shippingAddress->isSetPostalCode()) { echo " PostalCode\n"; echo " " . $shippingAddress->getPostalCode() . "\n"; } if ($shippingAddress->isSetCountryCode()) { echo " CountryCode\n"; echo " " . $shippingAddress->getCountryCode() . "\n"; } if ($shippingAddress->isSetPhone()) { echo " Phone\n"; echo " " . $shippingAddress->getPhone() . "\n"; } } if ($order->isSetOrderTotal()) { echo " OrderTotal\n"; $orderTotal = $order->getOrderTotal(); if ($orderTotal->isSetCurrencyCode()) { echo " CurrencyCode\n"; echo " " . $orderTotal->getCurrencyCode() . "\n"; } if ($orderTotal->isSetAmount()) { echo " Amount\n"; echo " " . $orderTotal->getAmount() . "\n"; } } if ($order->isSetNumberOfItemsShipped()) { echo " NumberOfItemsShipped\n"; echo " " . $order->getNumberOfItemsShipped() . "\n"; } if ($order->isSetNumberOfItemsUnshipped()) { echo " NumberOfItemsUnshipped\n"; echo " " . $order->getNumberOfItemsUnshipped() . "\n"; } if ($order->isSetPaymentExecutionDetail()) { echo " PaymentExecutionDetail\n"; $paymentExecutionDetail = $order->getPaymentExecutionDetail(); $paymentExecutionDetailItemList = $paymentExecutionDetail->getPaymentExecutionDetailItem(); foreach ($paymentExecutionDetailItemList as $paymentExecutionDetailItem) { echo " PaymentExecutionDetailItem\n"; if ($paymentExecutionDetailItem->isSetPayment()) { echo " Payment\n"; $payment = $paymentExecutionDetailItem->getPayment(); if ($payment->isSetCurrencyCode()) { echo " CurrencyCode\n"; echo " " . $payment->getCurrencyCode() . "\n"; } if ($payment->isSetAmount()) { echo " Amount\n"; echo " " . $payment->getAmount() . "\n"; } } if ($paymentExecutionDetailItem->isSetPaymentMethod()) { echo " PaymentMethod\n"; echo " " . $paymentExecutionDetailItem->getPaymentMethod() . "\n"; } } } if ($order->isSetPaymentMethod()) { echo " PaymentMethod\n"; echo " " . $order->getPaymentMethod() . "\n"; } if ($order->isSetMarketplaceId()) { echo " MarketplaceId\n"; echo " " . $order->getMarketplaceId() . "\n"; } if ($order->isSetBuyerEmail()) { echo " BuyerEmail\n"; echo " " . $order->getBuyerEmail() . "\n"; } if ($order->isSetBuyerName()) { echo " BuyerName\n"; echo " " . $order->getBuyerName() . "\n"; } if ($order->isSetShipmentServiceLevelCategory()) { echo " ShipmentServiceLevelCategory\n"; echo " " . $order->getShipmentServiceLevelCategory() . "\n"; } if ($order->isSetShippedByAmazonTFM()) { echo " ShippedByAmazonTFM\n"; echo " " . $order->getShippedByAmazonTFM() . "\n"; } if ($order->isSetTFMShipmentStatus()) { echo " TFMShipmentStatus\n"; echo " " . $order->getTFMShipmentStatus() . "\n"; } } } } // parse XML response // $dom = new DOMDocument(); // $dom->loadXML($response->toXML()); // $dom->preserveWhiteSpace = false; // $dom->formatOutput = true; // $xml_data = $dom->saveXML(); // WPLA()->logger->info('XML:'.print_r($xml_data,1)); // $parsed_xml = $this->parseXML( $xml_data ); // WPLA()->logger->info('parsed_xml:'.print_r($parsed_xml,1)); // $res = $response->getGetMatchingProductForIdResult(); // echo("ResponseHeaderMetadata: " . $response->getResponseHeaderMetadata() . "\n"); // if ($response->isSetSubmitFeedResult()) { // $submitFeedResult = $response->getSubmitFeedResult(); // if ($submitFeedResult->isSetFeedSubmissionInfo()) { // $feedSubmissionInfo = $submitFeedResult->getFeedSubmissionInfo(); // if ( $feedSubmissionInfo->isSetFeedSubmissionId() ) { // $result = new stdClass(); // $result->FeedSubmissionId = $feedSubmissionInfo->getFeedSubmissionId(); // $result->FeedProcessingStatus = $feedSubmissionInfo->getFeedProcessingStatus(); // $result->FeedType = $feedSubmissionInfo->getFeedType(); // $result->SubmittedDate = $feedSubmissionInfo->getSubmittedDate()->format(DATE_FORMAT); // $result->success = true; // // log to db - parsed request // $this->dblogger->updateLog( array( // 'result' => json_encode( $result ), // 'success' => 'Success' // )); // return $result; // } // } // } $result = new stdClass(); // $result->product = $parsed_xml; $result->order = 'TODO'; $result->success = true; // log to db - parsed request $this->dblogger->updateLog(array('response' => $xml_data, 'result' => json_encode($result->order), 'success' => 'Success')); return $result; } catch (MarketplaceWebServiceOrders_Exception $ex) { $error = new stdClass(); $error->ErrorMessage = $ex->getMessage(); $error->ErrorCode = $ex->getErrorCode(); $error->StatusCode = $ex->getStatusCode(); $error->ErrorType = $ex->getErrorType(); $error->RequestId = $ex->getRequestId(); $error->XML = $ex->getXML(); $error->HeaderMeta = $ex->getResponseHeaderMetadata(); // log to db - parsed request $this->dblogger->updateLog(array('result' => json_encode($error), 'success' => 'Error')); return $error; } $result = new stdClass(); $result->success = false; return $result; }
function amazon_process_order($pAmazonOrderId) { global $gAmazonMWS, $gBitUser, $gCommerceSystem, $gBitCustomer, $currencies, $order; $ret = NULL; $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest(); $request->setSellerId(MERCHANT_ID); // @TODO: set request. Action can be passed as MarketplaceWebServiceOrders_Model_GetOrderRequest // object or array of parameters // Set the list of AmazonOrderIds $orderIds = new MarketplaceWebServiceOrders_Model_OrderIdList(); $orderIds->setId(array($pAmazonOrderId)); $request->setAmazonOrderId($orderIds); $holdUser = $gBitUser; $azUser = new BitPermUser($holdUser->lookupHomepage($gCommerceSystem->getConfig('MODULE_PAYMENT_AMAZONMWS_LOCAL_USERNAME', 'amazonmws'))); $azUser->load(); $gBitUser = $azUser; $gBitCustomer = new CommerceCustomer($gBitUser->mUserId); $gBitCustomer->syncBitUser($gBitUser->mInfo); $_SESSION['customer_id'] = $gBitUser->mUserId; try { $response = $gAmazonMWS->getOrder($request); if ($response->isSetGetOrderResult()) { $getOrderResult = $response->getGetOrderResult(); if ($getOrderResult->isSetOrders()) { $oldCwd = getcwd(); chdir(BITCOMMERCE_PKG_PATH); $azOrderList = $getOrderResult->getOrders(); if ($azOrders = $azOrderList->getOrder()) { require_once BITCOMMERCE_PKG_PATH . 'classes/CommerceOrder.php'; $order = new order(); $order->info = array('order_status' => DEFAULT_ORDERS_STATUS_ID, 'subtotal' => 0, 'tax' => 0, 'total' => 0, 'tax_groups' => array(), 'comments' => isset($_SESSION['comments']) ? $_SESSION['comments'] : '', 'ip_address' => $_SERVER['REMOTE_ADDR']); $azOrder = current($azOrders); // Setup delivery address if ($orderTotal = $azOrder->getOrderTotal()) { $order->info['total'] = $orderTotal->getAmount(); $order->info['currency'] = $orderTotal->getCurrencyCode(); $order->info['currency_value'] = $currencies->currencies[$order->info['currency']]['currency_value']; } if ($shippingAddress = $azOrder->getShippingAddress()) { $country = zen_get_countries(zen_get_country_id($shippingAddress->getCountryCode()), TRUE); $zoneName = zen_get_zone_name_by_code($country['countries_id'], $shippingAddress->getStateOrRegion()); $order->delivery = array('firstname' => substr($shippingAddress->getName(), 0, strpos($shippingAddress->getName(), ' ')), 'lastname' => substr($shippingAddress->getName(), strpos($shippingAddress->getName(), ' ') + 1), 'company' => NULL, 'street_address' => $shippingAddress->getAddressLine1(), 'suburb' => trim($shippingAddress->getAddressLine2() . ' ' . $shippingAddress->getAddressLine3()), 'city' => $shippingAddress->getCity(), 'postcode' => $shippingAddress->getPostalCode(), 'state' => $zoneName, 'country' => $country, 'format_id' => $country['address_format_id'], 'telephone' => $shippingAddress->getPhone(), 'email_address' => NULL); $order->customer = $order->delivery; $order->billing = $order->delivery; } // Setup shipping $shipping = array('cost' => 0); switch ($azOrder->getShipServiceLevel()) { case 'Std US Dom': $shipping['id'] = 'usps_MEDIA'; $shipping['title'] = 'United States Postal Service (USPS Media Mail (1 - 2 Weeks))'; $shipping['code'] = 'USPSREG'; break; } $azOrderItems = amazon_mws_get_order_items($azOrder->getAmazonOrderId()); $azOrderItem = $azOrderItems->getOrderItem(); foreach ($azOrderItem as $azi) { $testSku = $azi->getSellerSKU(); list($productsId, $attrString) = explode(':', $testSku, 2); $productsKey = $productsId . ':ASIN-' . $azi->getASIN(); $order->contents[$productsKey] = $gBitCustomer->mCart->getProductHash($productsKey); $order->contents[$productsKey]['products_quantity'] = $azi->getQuantityOrdered(); $order->contents[$productsKey]['products_name'] = $azi->getTitle(); if ($itemPrice = $azi->getItemPrice()) { // {$itemTax->getCurrencyCode()} $order->contents[$productsKey]['price'] = $itemPrice->getAmount(); $order->contents[$productsKey]['final_price'] = $itemPrice->getAmount(); } if ($itemTax = $azi->getItemTax()) { // {$itemTax->getCurrencyCode()} $order->contents[$productsKey]['tax'] = $itemTax->getAmount(); } if ($shippingPrice = $azi->getShippingPrice()) { // {$itemTax->getCurrencyCode()} $order->info['shipping_cost'] = $shippingPrice->getAmount(); } if (empty($attrString)) { $attrString = $gCommerceSystem->getConfig('MODULE_PAYMENT_AMAZONMWS_DEFAULT_ATTRIBUTES'); } // stock up the attributes if ($attrString && ($attrs = explode(',', $attrString))) { foreach ($attrs as $optionValueId) { $optionId = $order->mDb->getOne("SELECT cpa.`products_options_id` FROM " . TABLE_PRODUCTS_ATTRIBUTES . " cpa WHERE cpa.`products_options_values_id`=?", array($optionValueId)); $order->contents[$productsKey]['attributes'][$optionId . '_' . $optionValueId] = $optionValueId; } } if (!empty($order->contents[$productsKey]['attributes'])) { $attributes = $order->contents[$productsKey]['attributes']; $order->contents[$productsKey]['attributes'] = array(); $subindex = 0; foreach ($attributes as $option => $value) { $optionValues = zen_get_option_value(zen_get_options_id($option), (int) $value); // Determine if attribute is a text attribute and change products array if it is. if ($value == PRODUCTS_OPTIONS_VALUES_TEXT_ID) { $attr_value = $order->contents[$productsKey]['attributes_values'][$option]; } else { $attr_value = $optionValues['products_options_values_name']; } $order->contents[$productsKey]['attributes'][$subindex] = array('option' => $optionValues['products_options_name'], 'value' => $attr_value, 'option_id' => $option, 'value_id' => $value, 'prefix' => $optionValues['price_prefix'], 'price' => $optionValues['options_values_price']); $subindex++; } } $shown_price = zen_add_tax($order->contents[$productsKey]['final_price'], $order->contents[$productsKey]['tax']) * $order->contents[$productsKey]['products_quantity'] + zen_add_tax($order->contents[$productsKey]['onetime_charges'], $order->contents[$productsKey]['tax']); $order->subtotal += $shown_price; $products_tax = $order->contents[$productsKey]['tax']; $products_tax_description = $order->contents[$productsKey]['tax_description']; if (DISPLAY_PRICE_WITH_TAX == 'true') { $order->info['tax'] += $shown_price - $shown_price / ($products_tax < 10 ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax)); if (isset($order->info['tax_groups']["{$products_tax_description}"])) { $order->info['tax_groups']["{$products_tax_description}"] += $shown_price - $shown_price / ($products_tax < 10 ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax)); } else { $order->info['tax_groups']["{$products_tax_description}"] = $shown_price - $shown_price / ($products_tax < 10 ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax)); } } else { $order->info['tax'] += $products_tax / 100 * $shown_price; if (isset($order->info['tax_groups']["{$products_tax_description}"])) { $order->info['tax_groups']["{$products_tax_description}"] += $products_tax / 100 * $shown_price; } else { $order->info['tax_groups']["{$products_tax_description}"] = $products_tax / 100 * $shown_price; } } $order->info['tax'] = zen_round($order->info['tax'], 2); if ($azi->isSetShippingPrice()) { $shippingPrice = $azi->getShippingPrice(); $shipping['cost'] += $shippingPrice->getAmount(); } } foreach (array('cc_type', 'cc_owner', 'cc_number', 'cc_expires', 'coupon_code') as $key) { $order->info[$key] = NULL; } $order->info['shipping_method'] = $shipping['title']; $order->info['shipping_method_code'] = $shipping['code']; $order->info['shipping_module_code'] = $shipping['id']; $order->info['payment_module_code'] = 'amazonmws'; $order->info['payment_method'] = 'Amazon Order'; $_SESSION['sendto'] = NULL; $_SESSION['shipping'] = $shipping; unset($_SESSION['cot_gv']); require_once DIR_FS_CLASSES . 'order_total.php'; global $order_total_modules; $order_total_modules = new order_total(); $order_totals = $order_total_modules->pre_confirmation_check(); require_once DIR_WS_MODULES . 'payment/amazonmws.php'; $amazon = new amazonmws($azOrder->getAmazonOrderId()); $amazonOutput = $amazon->process(); $order_totals = $order_total_modules->process(); array_splice($order_totals, count($order_totals) - 1, 0, array($amazonOutput)); if ($ordersId = $order->create($order_totals, 2)) { $order->create_add_products($ordersId); $ret = $ordersId; $order->updateStatus(array('status' => MODULE_PAYMENT_AMAZONMWS_INITIAL_ORDER_STATUS_ID)); } } chdir($oldCwd); } } } catch (MarketplaceWebServiceOrders_Exception $ex) { echo "Caught Exception: " . $ex->getMessage() . "\n"; echo "Response Status Code: " . $ex->getStatusCode() . "\n"; echo "Error Code: " . $ex->getErrorCode() . "\n"; echo "Error Type: " . $ex->getErrorType() . "\n"; echo "Request ID: " . $ex->getRequestId() . "\n"; echo "XML: " . $ex->getXML() . "\n"; } $gBitUser = $holdUser; $gBitCustomer = new CommerceCustomer($gBitUser->mUserId); $_SESSION['customer_id'] = $gBitUser->mUserId; return $ret; }
public function create_amazon_pdf() { if (strpos($_SERVER['SCRIPT_FILENAME'], 'create_amazon_pdf.php') === FALSE) { exit; } $this->load->config('config_mws_api'); $amazon_app = $this->config->item('amazon_app'); //var_dump($amazon_app); $orders = $this->order_model->fetch_all_wait_create_amazon_pdf(); foreach ($orders as $order) { $AmazonOrderId = $order->amazonorderid; foreach ($amazon_app as $amazon) { $serviceUrl = $amazon['serviceUrl']; $amazon_api = array('ServiceURL' => $serviceUrl, 'ProxyHost' => null, 'ProxyPort' => -1, 'MaxErrorRetry' => 3); if ($amazon['MERCHANT_ID'] != $order->sellerid) { continue; } $service = new MarketplaceWebServiceOrders_Client($amazon['AWS_ACCESS_KEY_ID'], $amazon['AWS_SECRET_ACCESS_KEY'], $this->config->item('APPLICATION_NAME'), $this->config->item('APPLICATION_VERSION'), $amazon_api); $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest(); $request->setSellerId($amazon['MERCHANT_ID']); $request->setAmazonOrderId(array($AmazonOrderId)); // object or array of parameters $order_info = $this->invokeGetOrder($service, $request); var_dump($order_info); $request = new MarketplaceWebServiceOrders_Model_ListOrderItemsRequest(); $request->setSellerId($amazon['MERCHANT_ID']); $request->setAmazonOrderId($AmazonOrderId); // object or array of parameters $items = $this->invokeListOrderItems($service, $request); //var_dump($items); if ($order_info["AmazonOrderId"] != '') { $this->_create_amazon_pdf($order_info, $items); $amazon_pdf_data = array('status' => 1); if ($this->order_model->check_wait_create_amazon_pdf_exists($AmazonOrderId)) { $this->order_model->update_wait_create_amazon_pdf($AmazonOrderId, $amazon_pdf_data); } break; } } break; } }