2

API を使用してサード パーティの UPS 荷送人アカウント番号に請求する方法を見つけようとしています。エラー メッセージには、「出荷ごとに 1 つの請求オプションが必要です」と表示されます。何が悪いのか誰にも分かりますか?

$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

サード パーティの請求は、プリペイド コンテナー内にはありません。最終結果の XML は、UPS API 開発者ガイドに基づいて、次のようになります。

<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 に答える