2

我试图弄清楚如何使用 API 向第三方 UPS 发件人帐号收费,当我尝试下面列出的内容时,它不起作用!它在错误消息中显示“每次装运需要一个计费选项”。任何人都知道什么是错的?

$ShipmentConfirmRequestXML->push('PaymentInformation');
                $ShipmentConfirmRequestXML->push('Prepaid');
                    $ShipmentConfirmRequestXML->push('BillThirdParty');
                            $ShipmentConfirmRequestXML->element('AccountNumber', 'XXXXX');
                    $ShipmentConfirmRequestXML->pop(); // end BillShipper 
                $ShipmentConfirmRequestXML->pop(); // end Prepaid
            $ShipmentConfirmRequestXML->pop(); // end PaymentInformation
4

1 回答 1

2

第三方计费不在预付费容器内。根据 UPS API 开发人员指南,最终结果 XML 应如下所示:

<PaymentInformation>
    <BillThirdParty>
        <BillThirdPartyShipper>
            <AccountNumber>ABC123</AccountNumber>
            <ThirdParty>
                <Address>
                    <PostalCode>12345-6789</PostalCode>
                    <CountryCode>US</CountryCode>
                </Address>
            </ThirdParty>
        </BillThirdPartyShipper>
    </BillThirdParty>
</PaymentInformation>

由于某种原因,UPS API 在测试模式下总是会因第三方计费而失败,并给出瞬态 120001 错误,“XML 运输系统不可用,请稍后再试”。关闭测试模式可以解决问题 - 在您确认您的代码有效后将货物作废。

此外,如果您为第三方计费输入了错误的帐户代码,则会返回相同的 120001 错误。

于 2013-05-08T18:26:57.567 回答