UPS票据给第三方托运人?

时间:2013-03-06 19:16:07

标签: php api ups

我正在试图弄清楚如何使用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

1 个答案:

答案 0 :(得分: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将始终在测试模式下以第三方计费失败,从而出现Transient 120001错误,“XML Shipping System不可用,请稍后再试”。关闭测试模式可以解决问题 - 在您确认代码正常工作后,只需将货件取消。

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