Neteller Rest Api

Я использовал API отдыха Neteller. Я изо всех сил пытался получить правильный ответ для ключа аутентификации, я надеялся, что кто-то может указать мне правильное направление.

$curl = curl_init();

curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_URL, "https://api.neteller.com/v1/oauth2/token?grant_type=client_credentials");
curl_setopt($curl, CURLOPT_USERPWD, "clientId:clientSecret");
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type:application/json", "Cache-Control:no-cache"));
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query("scope: default"));
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$serverOutput = curl_exec($curl);

echo $serverOutput;

Я получаю ответ «invalid_client». Я проверил clientId и секрет, и они верны

Спасибо
Каллум

2

Решение

Вы не отправляете параметры, но строка «clientId: clientSecret»:

Может быть, вы имеете в виду:

curl_setopt($curl, CURLOPT_USERPWD, "$clientId:$clientSecret");

Также вы можете вызывать неправильный URL, например, для тестовых сред вы должны позвонить:

curl_setopt($curl, CURLOPT_URL, "https://test.api.neteller.com/v1/oauth2/token?grant_type=client_credentials");
1

Другие решения

Я просто беру твой пример, и он работает на меня:

$username = 'MerchantXYZ';
$password = 'B81dff9bb4020a89e8ac44cdfdcecd702151182fdc952272661d290ab2e5849e31bb03deede';
$curl = curl_init();

curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_URL, "https://api.neteller.com/v1/oauth2/token?grant_type=client_credentials");
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type:application/json", "Cache-Control:no-cache"));
curl_setopt($curl, CURLOPT_POSTFIELDS, array("scope"=>"default"));
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$serverOutput = curl_exec($curl);

echo $serverOutput;

Ответ:

{«accessToken»: «B.AQBBBAAAUnzfOwkAAAAAAAEk-BRM0QBTOoehaumwlvdwjqX.EAAQ0NOOTDeY2aMHUCwH4YCugGUX4ro», «tokenType»: «Bearer», 300) истекает

С уважением.

1

Ваш CURLOPT_POSTFIELDS неверен как http_build_query() ожидает массив в качестве входных данных, но вы предоставляете строку.

Попробуйте изменить эту строку на:

curl_setopt($curl, CURLOPT_POSTFIELDS, array("scope"=>"default"));
0

При использовании потока client_credentials область действия не имеет значения. Это относится только к потоку authorization_grant, все помеченное как область «по умолчанию» не требует авторизации члена. Ресурсные поля со значением «default» будут возвращены с использованием базовых client_credentials без необходимости запрашивать разрешение у участника.

0
По вопросам рекламы [email protected]