2013-08-20 95 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”]。''? –