Я настраиваю подписку Paypal — сначала я создаю токен, мой пример кодирования можно увидеть здесь:
function testing(){
$urltoken = "https://api.sandbox.paypal.com/v1/oauth2/token";
$header_token = array(
'Accept'=>'application/json',
'Accept-Language'=>'en_US',
);
$request_body_token = array(
'client_id'=>'xxxxxxxxxxxxxxxxxxxxxx',
'secret'=>'xxxxxxxxxxxxxxxxxxxx',
'grant_type'=>'client_credentials',);
$take_from_token = wp_remote_request($urltoken, array('method' => 'POST', 'timeout' => 20, 'headers' => $header_token,'body'=>$request_body_token));
var_dump($take_from_token);
}
Это ошибка ответа, которую я получаю:
array(5) { ["headers"]=> array(8) { ["server"]=> string(17) "Apache-Coyote/1.1" ["proxy_server_info"]=> string(57) "host=slcsbplatformapiserv3001.slc.paypal.com;threadId=850" ["paypal-debug-id"]=> string(13) "09c6fcdc16b91" ["server_info"]=> string(139) "identitysecuretokenserv:v1.oauth2.token&CalThreadId=133&TopLevelTxnStartTime=14c459ad0be&Host=slcsbidensectoken502.slc.paypal.com&pid=28506" ["date"]=> string(29) "Mon, 23 Mar 2015 07:48:35 GMT" ["content-type"]=> string(16) "application/json" ["content-length"]=> string(2) "75" ["connection"]=> string(5) "close" } ["body"]=> string(75) "{"error":"invalid_client","error_description":"Invalid client credentials"}" ["response"]=> array(2) { ["code"]=> int(401) ["message"]=> string(12) "Unauthorized" } ["cookies"]=> array(0) { } ["filename"]=> NULL }
Попробуйте установить для параметра «mode» значение «live». Если для этого параметра задано значение по умолчанию, он использует «песочницу» и не может использовать действительные учетные данные.
В противном случае попробуйте запустить этот тест через cURL:
curl -v -u "client_id:test" "https://api.sandbox.paypal.com/v1/oauth2/token" -X POST -d "response_type=token&grant_type=client_credentials"
Не забудьте заменить идентификатор клиента (проверьте выше) своим.
Других решений пока нет …