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