2013-08-20 93 views
3

我想取消亞馬遜上的訂單,最初是有一些格式問題,現在所有的格式問題都被刪除,但飼料的結果是繼續顯示一個或多個項目是無效的。我正在使用正確的XML格式取消訂單,也是正確的亞馬遜訂單ID和亞馬遜訂單項目ID,兩個ID都是有效的,但結果會一直顯示無效的項目。亞馬遜MWS訂單取消過程

訂單確認提要格式:

<?xml version="1.0"?> 
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> 
    <Header> 
    <DocumentVersion>1.01</DocumentVersion> 
    <MerchantIdentifier>M_xxxxx_108291953</MerchantIdentifier> 
    </Header> 
    <MessageType>OrderAcknowledgement</MessageType> 
    <Message> 
    <MessageID>1</MessageID> 
    <OrderAcknowledgement> 
     <AmazonOrderID>111-1111111-7313343</AmazonOrderID> 
     <StatusCode>Failure</StatusCode> 
     <Item> 
     <AmazonOrderItemCode>232327843324</AmazonOrderItemCode> 
     <CancelReason>BuyerCanceled</CancelReason> 
     </Item> 
    </OrderAcknowledgement> 
    </Message> 
</AmazonEnvelope> 

響應飼料提交結果:正如我試圖讓飼料導致它表明這個錯誤「我們無法處理XML飼料,因爲一個或多個項目均無效。請重新提交Feed「,以下是Feed提交結果。

<?xml version="1.0" encoding="UTF-8"?> 
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> 
    <Header> 
     <DocumentVersion>1.02</DocumentVersion> 
     <MerchantIdentifier>M_xxxxx_108291953</MerchantIdentifier> 
    </Header> 
    <MessageType>ProcessingReport</MessageType> 
    <Message> 
     <MessageID>1</MessageID> 
     <ProcessingReport> 
      <DocumentTransactionID>7801114004</DocumentTransactionID> 
      <StatusCode>Complete</StatusCode> 
      <ProcessingSummary> 
       <MessagesProcessed>1</MessagesProcessed> 
       <MessagesSuccessful>0</MessagesSuccessful> 
       <MessagesWithError>1</MessagesWithError> 
       <MessagesWithWarning>0</MessagesWithWarning> 
      </ProcessingSummary> 
      <Result> 
       <MessageID>1</MessageID> 
       <ResultCode>Error</ResultCode> 
       <ResultMessageCode>25</ResultMessageCode> 
       <ResultDescription>We are unable to process the XML feed because one or more items are invalid. Please re-submit the feed.</ResultDescription> 
      </Result> 
     </ProcessingReport> 
    </Message> 
</AmazonEnvelope> 

任何一個人都可以幫助我做到這一點。

+0

您是想取消整個訂單,還是隻取消某個訂單項? –

+0

@Robert是的,我想取消整個訂單,全部訂單需要取消。 –

回答

0

我可以取消亞馬遜的整個訂單。

XML我使用

<?xml version="1.0"?> 
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> 
    <Header> 
      <DocumentVersion>1.01</DocumentVersion> 
      <MerchantIdentifier>'.$storeDetails["merchantIdentifier"].'</MerchantIdentifier> 
    </Header> 
    <MessageType>OrderAcknowledgement</MessageType> 
    <Message> 
      <MessageID>1</MessageID> 
      <OrderAcknowledgement> 
       <AmazonOrderID>'.$amazonOrderId.'</AmazonOrderID> 
       <StatusCode>Failure</StatusCode> 
       <Item> 
           <AmazonOrderItemCode>'.$item['store_product_code'].'</AmazonOrderItemCode> 
           <CancelReason>'.$reason.'</CancelReason> 
          </Item> 
      </OrderAcknowledgement> 
    </Message> 
</AmazonEnvelope 

==== 讓我知道,如果它幫助。

+0

我不認爲他在使用PHP。 –

+0

@SergiuParaschiv:Xml與php或任何語言或腳本無關 我發佈了上面的XML作爲示例。你能告訴我它是如何與PHP –

+0

有關嗎?'。$ storeDetails [「merchantIdentifier」]。''? –