NETELLER TransferIn:身份验证凭据无效
NETELLER TransferIn: Authentication credentials are invalid
我在集成 Neteller API
以将资金从用户帐户转帐到我们的商家帐户时遇到问题。我已成功收到 accessToken
(使用 auth_code
授权类型),但是当我尝试使用 transferIn
时,出现错误 Authentication credentials are invalid.
这是我的代码:
//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 后域中的任何内容?
谢谢!
您不应该使用 auth_code
授权类型,正确的类型是 client_credentials
。最新的 REST API 指南的第 41 页对此进行了详细说明,您可以从商家帐户 >> "Developer" 选项卡 >> "Documentation" 页面下载该指南。
澄清一下 - auth_code
流程获得了用户的授权(例如订阅付款、额外的帐户资料信息等)。虽然它也适用于支付,但它会在流程中增加 2 个步骤,并且可能成为转化杀手。
此外,我在您的代码中发现了一些问题,您也应该解决这些问题:
您尝试存入的金额太小——您需要将交易金额转换为最小货币单位后再发送至API。例如-你想申请入金5美元,美元的最小货币单位是美分,也就是1美元的1/100,所以你需要汇入5美元*100=500到API。这里需要注意的是,HUF、KRW 和 JPY 货币没有子单位,因此需要将金额按原样发送到 API(无需转换)。
美元测试账户的 verificationCode
是 270955
。此信息可在 REST API 指南的第 153 页找到。
请尝试在此处实现 client_credentials
授权类型流程和 post 如果您遇到任何问题,我会尽力帮助您。或者,您可以在 Skype 上加我(它在我的个人资料信息中)。
我在集成 Neteller API
以将资金从用户帐户转帐到我们的商家帐户时遇到问题。我已成功收到 accessToken
(使用 auth_code
授权类型),但是当我尝试使用 transferIn
时,出现错误 Authentication credentials are invalid.
这是我的代码:
//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 后域中的任何内容?
谢谢!
您不应该使用 auth_code
授权类型,正确的类型是 client_credentials
。最新的 REST API 指南的第 41 页对此进行了详细说明,您可以从商家帐户 >> "Developer" 选项卡 >> "Documentation" 页面下载该指南。
澄清一下 - auth_code
流程获得了用户的授权(例如订阅付款、额外的帐户资料信息等)。虽然它也适用于支付,但它会在流程中增加 2 个步骤,并且可能成为转化杀手。
此外,我在您的代码中发现了一些问题,您也应该解决这些问题:
您尝试存入的金额太小——您需要将交易金额转换为最小货币单位后再发送至API。例如-你想申请入金5美元,美元的最小货币单位是美分,也就是1美元的1/100,所以你需要汇入5美元*100=500到API。这里需要注意的是,HUF、KRW 和 JPY 货币没有子单位,因此需要将金额按原样发送到 API(无需转换)。
美元测试账户的
verificationCode
是270955
。此信息可在 REST API 指南的第 153 页找到。
请尝试在此处实现 client_credentials
授权类型流程和 post 如果您遇到任何问题,我会尽力帮助您。或者,您可以在 Skype 上加我(它在我的个人资料信息中)。