2015-09-23 2 views
0

У меня возникла проблема с интеграцией Neteller API для перевода денег с учетной записи пользователя на наш торговый счет. Я успешно получил accessToken (используя тип субсидии auth_code), однако при попытке использовать transferIn я получаю сообщение об ошибке Учетные данные аутентификации являются недействительными.NETELLER TransferIn: учетные данные недействительны

Вот мой код:

//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" => "[email protected]" 
    ), 
    "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" } } 

я упускаю что-нибудь в завиток postfields трансферин?

Спасибо!

ответ

0

Вы не должны использовать тип субсидии auth_code, правильный - client_credentials. Это подробно описано на стр. 41 новейшего руководства REST API, которое вы можете скачать из своей учетной записи продавца >> вкладка «Разработчик» >> «Документация».

Просто уточнить - поток auth_code получает авторизацию от пользователя (например, для подписных платежей, дополнительной информации профиля учетной записи и т. Д.). Хотя он будет работать и для платежей, он добавит еще 2 шага к потоку и может стать убийцей конверсии.

Кроме того, я обнаружил некоторые проблемы в вашем коде, который вы должны также рассмотреть следующие вопросы:

  1. Сумма, которую вы пытаетесь депозит слишком мал - вам нужно конвертировать сумму сделки в наименьшей валюте перед отправкой его в API. Например, вы хотите запросить депозит за 5 долларов США, наименьшая единица валюты за доллар США - центами, что составляет 1/100 доллара, поэтому вам необходимо отправить $ 5 * 100 = 500 в API. Важно отметить, что валюты HUF, KRW и JPY не имеют субъединиц, поэтому сумма должна быть отправлена ​​в API как есть (без необходимости преобразования).

  2. verificationCode для тестовой учетной записи USD 270955. Эта информация доступна на странице 153 руководства REST API.

Пожалуйста, попробуйте реализовать поток типа client_credentials гранта и разместить здесь, если у вас возникнут какие-либо вопросы, я постараюсь вам помочь. Кроме того, вы можете добавить меня в Skype (это в моем профиле).

Смежные вопросы