0

我已经使用 FedEx 提供的 PHP 代码示例在 FedEx 建立了一个开发者测试帐户。我从 API 返回以下错误:

“所有指定的帐号必须匹配” - 代码 873

我找不到这是由什么引起的,我认为可能导致问题的唯一原因是我有一个空变量,$dutyaccount但我没有得到任何责任帐号,也没有关于这是什么的说明。

if($var == 'check') Return true;
//main variables needed to be passes
if($var == 'key') Return 'x8Qffhfhfhfuujj0gI6XW';
if($var == 'password') Return 'dGDJghghwi2BfKa2xdvgHU1245B';    

if($var == 'shipaccount') Return '519987020';
if($var == 'meter') Return '118551669';
if($var == 'billaccount') Return '519951408';
if($var == 'dutyaccount') Return ''; // what is this??

但是,如果我注释掉,dutyaccount我仍然会收到相同的错误消息,所以也许这甚至不需要。我找不到有关需要传递给 API 以恢复费率的变量的具体信息。任何人都可以帮忙吗?

4

2 回答 2

3

shipaccount 和 billaccount 不匹配,这可能会导致该错误。您应该向托运人收费。

于 2012-01-13T21:00:33.283 回答
0
if($var == 'shipaccount') Return 'XXX'; / your account
if($var == 'billaccount') Return 'XXX'; / who pays shipment charges
if($var == 'dutyaccount') Return 'XXX'; / who pays duties charges

但是,dutyaccount 可能为空,因为默认情况下收件人在交付货物时支付关税。如果您想定义谁支付关税或运输费用,您必须在您的请求中定义该信息:例如:

'DutiesPayment' => array(
    'PaymentType' => 'SENDER', // valid values RECIPIENT, SENDER and THIRD_PARTY
    'Payor' => array(
    'ResponsibleParty' => array(
        'AccountNumber' => getProperty('dutyaccount'),
        'Contact' => null,
        'Address' => array('CountryCode' => 'US')
        )
    )
),

其中最重要的部分是 -> 'PaymentType' => 'SENDER', // 有效值 RECIPIENT、SENDER 和 THIRD_PARTY

于 2013-08-31T20:03:30.917 回答