亚马逊MWS订单取消流程

4
我正在尝试在亚马逊上取消订单,最初遇到了一些格式问题,现在所有的格式问题都已经解决了,但是反馈结果仍然显示一个或多个项目无效。我正在使用正确的XML格式来取消订单,并且也使用了正确的亚马逊订单ID和亚马逊订单项目ID,这两个ID都是有效的,但是结果仍然显示无效的项目。
订单确认反馈格式:
<?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反馈。请重新提交该反馈。”下面是反馈提交结果。

<?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>

有人能帮我解决这个问题吗,让它成功运行起来。


你是想取消整个订单还是只是某个商品项? - Robert H
@Robert 是的,我想取消整个订单,需要取消全部订单。 - Omer Anees
1个回答

1
我能在亚马逊上取消整个订单。

我正在使用的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

让我知道它是否有帮助。


我认为他没有使用PHP。 - Sergiu Paraschiv
@SergiuParaschiv:XML与PHP或任何语言或脚本无关。我发布了上述XML作为示例。你能告诉我它与PHP有什么关系吗? - Anshuman Nayak
'.$storeDetails["merchantIdentifier"].' 怎么样? - Sergiu Paraschiv
Segui:这将是针对卖家的具体情况,无法在此包含。 - IcedDante

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接