Застрял в авторизации / аутентификации с помощью curl при настройке экспресс-проверки с использованием nvp

Я пытаюсь начать работу с установкой экспресс-проверки с использованием nvp.
Я настроил бизнес-аккаунт в песочнице и сгенерировал учетные данные подписи доступа API.

$this->NVPCredentials   =   'USER=' . credentials['username'];
$this->NVPCredentials   .=  '&PWD=' . credentials['password'];
$this->NVPCredentials   .=  '&VERSION=108.0';
$this->NVPCredentials   .=  '&SIGNATURE=' . credentials['signature'];

завернул учетные данные, как показано выше + все детали, необходимые для платежных реквизитов для создания строки nvp, а ниже — вызов curl

$curl = curl_init('https://api-3t.sandbox.paypal.com/nvp');
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $Request);

$ Request содержит переданную строку nvp.

Я убедился, что все обязательные поля установлены, но я всегда получаю 10002 | Ошибка аутентификации / авторизации | У вас нет прав для выполнения этого вызова API

Я подумал, что это проблема с подписью, поэтому я удалил подпись и вместо этого создал файл сертификата, загрузил его из учетной записи песочницы и использовал вместо этого, но все равно та же ошибка. Неважно, что я меняю, всегда выдает одну и ту же ошибку.

curl_setopt ($ curl, CURLOPT_SSLCERT, $ pathtocertpem);

У меня заканчиваются идеи вещей, чтобы попробовать. Пожалуйста, не стесняйтесь спрашивать более подробную информацию, и, если кто-нибудь знает, что я могу делать не так, пожалуйста, не стесняйтесь. Это будет с благодарностью.

С Уважением,

Дево

0

Решение

Мне удалось решить проблему, передав массив вместо nvpstring для curl, а затем с помощью функции http_build_query для форматирования всех параметров

curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($Request))

это, кажется, добилось цели.

0

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

Других решений пока нет …

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