FEDEX Web服务 - 有关所需数据的信息

时间:2012-01-09 14:50:29

标签: php web-services api fedex

我使用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以带回费率的变量的具体信息。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

shipaccount和billaccount不匹配,可能导致该错误。你应该向托运人开账单。

答案 1 :(得分: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