API разрешения Paypal. GetBasicPersonalData в php

Я получил «tokenSecret» и «токен ответа».

$apiCred_user = "XXXX.com"; $apiCred_pass = "XXXX"; $accessToken = "XXXXXXXXXXXXXXKl8OlQ"; $tokenSecret = "XXXXXXXXXXXXXsRg6ULs"; $url = "https://api.sandbox.paypal.com/nvp"; $auth = new AuthSignature(); $response = $auth->genSign($apiCred_user ,$apiCred_pass ,$accessToken,$tokenSecret,'POST',$url); $authString = "token=".$accessToken. ",signature=".$response['oauth_signature']. ",timestamp=".$response['oauth_timestamp']; 

Используя этот вызов, подпись получена. Мое сомнение, данный url используется для генерации signautre. Вызов правильный?

Чтобы получить результат из «GetBasicPersonalData» , я использовал этот ниже код

 $headers = array( "X-PAYPAL-REQUEST-DATA-FORMAT:NV", "X-PAYPAL-APPLICATION-ID: APP-80W284485P519543T", "X-PP-AUTHORIZATION: " .$authString, "X-PAYPAL-RESPONSE-DATA-FORMAT:json"); $url_api = "https://svcs.paypal.com/Permissions/GetBasicPersonalData"; $post_array = array( "attributeList"=>array("attribute"=>"http://axschema.org/contact/email"), "requestEnvelope.errorLanguage"=>"en_US"); $curl_session = curl_init(); curl_setopt($curl_session, CURLOPT_URL,$url_api ); curl_setopt($curl_session, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl_session, CURLOPT_POST, 1); curl_setopt($curl_session, CURLOPT_POSTFIELDS, http_build_query($post_array)); curl_setopt($curl_session, CURLOPT_CONNECTTIMEOUT,10); curl_setopt($curl_session, CURLOPT_TIMEOUT, 10); //curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, 0); $response = json_decode(curl_exec($curl_session)); curl_close($curl_session); 

Результатом ответа является «Ошибка»,

 {"responseEnvelope": {"timestamp":"2015-02-05T09:26:53.053-08:00","ack":"Failure","correlationId": "c74e091e7944e","build":"2210301"},"error": [{"errorId":"560022","domain":"PLATFORM","subdomain":"Application","severity":"Error","category":"Application","message":"The X-PAYPAL-APPLICATION-ID header contains an invalid value","parameter":["X-PAYPAL-APPLICATION-ID"]}]} 

Благодаря ! 123456

вы забыли просить разрешение пользователя на получение его личных данных.

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

 $data = array( 'scope' => array( '0' => 'REFUND', '1' => 'ACCESS_BASIC_PERSONAL_DATA' ), 'callback' => 'http://yoursite.com/page.php', // The success page 'requestEnvelope' => array( 'errorLanguage' => 'en_US' // Language used to display errors ) ); 

то вы получите правильный токен доступа и токен.

если вы все еще застряли, запросите полный код.