/** * List Orders Action Sample * ListOrders can be used to find orders that meet the specified criteria. * * @param MarketplaceWebServiceOrders_Interface $service instance of MarketplaceWebServiceOrders_Interface * @param mixed $request MarketplaceWebServiceOrders_Model_ListOrders or array of parameters */ function invokeListOrders(MarketplaceWebServiceOrders_Interface $service, $request) { global $user, $account, $dbcon, $defaultstoreid; try { $response = $service->listOrders($request); //print_r($response); if ($response->isSetListOrdersResult()) { $listOrdersResult = $response->getListOrdersResult(); if ($listOrdersResult->isSetNextToken()) { $tokens = $listOrdersResult->getNextToken(); $gg = 0; while (true) { $request = new MarketplaceWebServiceOrders_Model_ListOrdersByNextTokenRequest(); $request->setSellerId(MERCHANT_ID); $request->setNextToken($tokens); $nexttokens = invokeListOrdersByNextToken($service, $request, $tokens); if (strlen($nexttokens) >= 10) { $nexttokens = invokeListOrdersByNextToken($service, $request, $nexttokens); $tokens = $nexttokens; } else { break; } $gg++; if ($gg >= 20) { break; } } echo '<br>' . $nexttokens . 'ggggggggggg'; } if ($listOrdersResult->isSetOrders()) { $orders = $listOrdersResult->getOrders(); $orderList = $orders->getOrder(); foreach ($orderList as $order) { $val = ''; if ($order->isSetSellerOrderId()) { // echo(" SellerOrderId\n"); // echo(" " . $order->getSellerOrderId() . "\n"); } if ($order->isSetPurchaseDate()) { $CreatedDate = strtotime($order->getPurchaseDate()); } if ($order->isSetLastUpdateDate()) { $PaidTime = strtotime($order->getLastUpdateDate()); } if ($order->isSetOrderStatus()) { if ($order->getOrderStatus() == 'Unshipped') { $orderstatus = 822; } } //comment by andy 20130518 if ($order->isSetAmazonOrderId() && $orderstatus == '822') { $val = $order->getAmazonOrderId(); $request = new MarketplaceWebServiceOrders_Model_ListOrderItemsRequest(); $request->setSellerId(MERCHANT_ID); $request->setAmazonOrderId($val); if ($val != '') { invokeListOrderItems($service, $request, $val, $account); } } 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"); } $Street1 = ''; $Street2 = ''; $CityName = ''; $StateOrProvince = ''; if ($order->isSetShippingAddress()) { $shippingAddress = $order->getShippingAddress(); if ($shippingAddress->isSetName()) { $Name = mysql_escape_string($shippingAddress->getName()); } if ($shippingAddress->isSetAddressLine1()) { $Street1 = mysql_escape_string($shippingAddress->getAddressLine1()); } if ($shippingAddress->isSetAddressLine2()) { $Street2 = mysql_escape_string($shippingAddress->getAddressLine2()); } if ($shippingAddress->isSetAddressLine3()) { // echo(" " . $shippingAddress->getAddressLine3() . "\n"); } if ($shippingAddress->isSetCity()) { $CityName = mysql_escape_string($shippingAddress->getCity()); } if ($shippingAddress->isSetCounty()) { $CountryName = $shippingAddress->getCounty(); } if ($shippingAddress->isSetDistrict()) { // echo(" " . $shippingAddress->getDistrict() . "\n"); } if ($shippingAddress->isSetStateOrRegion()) { $StateOrProvince = $shippingAddress->getStateOrRegion(); } if ($shippingAddress->isSetPostalCode()) { $PostalCode = $shippingAddress->getPostalCode(); } if ($shippingAddress->isSetCountryCode()) { $Country = $shippingAddress->getCountryCode(); } if ($shippingAddress->isSetPhone()) { $Phone = $shippingAddress->getPhone(); } } if ($order->isSetOrderTotal()) { $orderTotal = $order->getOrderTotal(); if ($orderTotal->isSetCurrencyCode()) { $Currency = $orderTotal->getCurrencyCode(); } if ($orderTotal->isSetAmount()) { $AmountPaid = $orderTotal->getAmount(); } } if ($order->isSetNumberOfItemsShipped()) { // echo(" " . $order->getNumberOfItemsShipped() . "\n"); } if ($order->isSetNumberOfItemsUnshipped()) { // echo(" " . $order->getNumberOfItemsUnshipped() . "\n"); } if ($order->isSetPaymentExecutionDetail()) { $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->isSetSubPaymentMethod()) { // echo(" SubPaymentMethod\n"); // echo(" " . $paymentExecutionDetailItem->getSubPaymentMethod() . "\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"); $Email = $order->getBuyerEmail(); } if ($order->isSetBuyerName()) { $UserID = mysql_escape_string($order->getBuyerName()); } if ($order->isSetShipmentServiceLevelCategory()) { //echo(" ShipmentServiceLevelCategory\n"); // echo(" " . $order->getShipmentServiceLevelCategory() . "\n"); } $addrecordnumber = $val; $Country_q = countryname_change($Country); $sql = "INSERT INTO `ebay_order` (`ebay_paystatus`,`ebay_ordersn` ,`ebay_tid` ,`ebay_ptid` ,`ebay_orderid` ,"; $sql .= "`ebay_createdtime` ,`ebay_paidtime` ,`ebay_userid` ,`ebay_username` ,`ebay_usermail` ,`ebay_street` ,"; $sql .= "`ebay_street1` ,`ebay_city` ,`ebay_state` ,`ebay_couny` ,`ebay_countryname` ,`ebay_postcode` ,`ebay_phone`"; $sql .= " ,`ebay_currency` ,`ebay_total` ,`ebay_status`,`ebay_user`,`ebay_shipfee`,`ebay_account`,`recordnumber`,`ebay_addtime`,`ebay_note`,`ebay_site`,`eBayPaymentStatus`,`PayPalEmailAddress`,`ShippedTime`,`RefundAmount`,`ebay_warehouse`,`order_no`)VALUES ('Complete','{$val}', '{$tid}' , '{$ptid}' , '{$orderid}' , '{$CreatedDate}' , '{$PaidTime}' , '{$UserID}' ,"; $sql .= " '{$Name}' , '{$Email}' , '{$Street1}' , '{$Street2}' , '{$CityName}','{$StateOrProvince}' , '{$Country}' , '{$Country_q}' , '{$PostalCode}' , '{$Phone}' , '{$Currency}' , '{$AmountPaid}' , '{$orderstatus}','{$user}','{$shipingfee}','{$account}','{$addrecordnumber}','{$mctime}','{$BuyerCheckoutMessage}','{$site}','{$eBayPaymentStatus}','{$PayPalEmailAddress}','{$ShippedTime}','{$RefundAmount}','{$defaultstoreid}','{$order_no}')"; $sg = "select * from ebay_order where ebay_ordersn ='{$val}' "; $sg = $dbcon->execute($sg); $sg = $dbcon->getResultArray($sg); if (count($sg) == 0) { $dbcon->execute($sql); addLog("ordersn:{$val} 添加成功。"); } else { addLog("ordersn:{$val} 在数据库中已经存在。"); } } } } //print_r($response);exit; } 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"; print_r($ex); } }
* 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 List Orders By Next Token Action ***********************************************************************/ // @TODO: set request. Action can be passed as Orders_Model_ListOrdersByNextToken $request = new \Amazon\MWS\Orders\Model\Orders_Model_ListOrdersByNextTokenRequest(); $request->setSellerId(MERCHANT_ID); // object or array of parameters invokeListOrdersByNextToken($service, $request); /** * Get List Orders By Next Token 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 Orders_Model_ListOrdersByNextToken or array of parameters */ function invokeListOrdersByNextToken(MarketplaceWebServiceOrders_Interface $service, $request) { try { $response = $service->ListOrdersByNextToken($request); echo "Service Response\n"; echo "=============================================================================\n"; $dom = new \DOMDocument();