我在整合Neteller API
以将资金从用户帐户转移到我们的商家帐户时遇到问题。我已成功收到accessToken
(使用auth_code
授权类型),但是当我尝试使用transferIn
时,我收到错误身份验证凭据无效。 < / p>
这是我的代码:
//getting the accessToken from NETELLER's response
$accessToken = $_POST['accessToken'];
$service_url = "https://test.api.neteller.com/v1/transferIn";
$curl = curl_init($service_url);
$curl_post_data = array(
"paymentMethod" => array(
"type" => "neteller",
"value" => "netellertest_USD@neteller.com"
),
"transaction" => array(
"merchantRefId" => (string)date('YmdHis'),
"amount" => 25,
"currency" => "USD"
),
"verificationCode" => "234124"
);
$jsonDataEncoded = json_encode($curl_post_data);
curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonDataEncoded);
$headers = array(
"Content-type: application/json",
"Authorization: Bearer " . $accessToken
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
$curl_response = curl_exec($curl);
curl_close($curl);
但是,我收到此错误:
{ "error":{ "code": "5279", "message": "Authentication credentials are invalid" } }
我在transferIn curl postfields中遗漏了什么吗?
谢谢!
答案 0 :(得分:1)
您不应该使用auth_code
授权类型,正确的是client_credentials
。最新REST API指南的第41页对此进行了详细说明,您可以从商家帐户下载&gt;&gt; “开发人员”标签&gt;&gt; “文档”页面。
只是为了澄清 - auth_code
流程获得用户授权(例如,订阅付款,其他帐户资料信息等)。虽然它也适用于付款,但它会为流量增加2个步骤,并且可以成为转换杀手。
此外,我在您的代码中发现了一些问题,您也应该解决这些问题:
您尝试存入的金额太小 - 您需要在将交易金额发送到API之前将其转换为最小的货币单位。例如 - 您想申请5美元的存款,美元的最小货币单位是美分,即1美元的1/100,因此您需要向API发送$ 5 * 100 = 500。需要注意的是,HUF,KRW和JPY货币没有子单元,因此需要按原样将数量发送到API(无需转换)。
美元测试帐户的verificationCode
为270955
。有关此信息,请参见REST API指南的第153页。
如果您遇到任何问题,请尝试实施client_credentials
授权类型流程并在此处发布,我会尽力为您提供帮助。或者,您可以在Skype上添加我(它在我的个人资料信息中)。