Как завершить эту процедуру PayPal - PullRequest
0 голосов
/ 30 января 2019

У меня есть код переднего плана из API-интерфейса Paypal.После классической отправки PayPal возвращает данные в функции onAuthorize.Я поместил туда функцию Ajax для загрузки результатов на мой сервер, поэтому после успешного подтверждения транзакции я сохраню идентификатор транзакции с некоторыми другими деталями для моих целей.

Как я могу подтвердить загруженные данные?У меня есть следующий код конца.

public function paypal_check_payment($payment_id, $payer_id, $token, $user_id)
{
    $baseUrl  = 'https://api.sandbox.paypal.com/v1/';
    $cID = 'mpla mpla ';
    $cSec = 'mpla mpla';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $baseUrl . 'oauth2/token');
    curl_setopt($ch, CURLOPT_HEADER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_USERPWD, $cID . ":" . $cSec);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
    $result = curl_exec($ch);
    $accessToken = NULL;

    if (empty($result)) {
        return FALSE;
    } else {

        $json = json_decode($result);
        $accessToken = $json->access_token;
        $curl = curl_init($baseUrl . 'payments/payment/' . $payment_id);
        curl_setopt($curl, CURLOPT_POST, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_HEADER, FALSE);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($curl, CURLOPT_HTTPHEADER, array(
            'Authorization: Bearer ' . $accessToken,
            'Accept: application/json',
            'Content-Type: application/xml'
        ));
        $response = curl_exec($curl);
        $result = json_decode($response);
        curl_close($ch);
        curl_close($curl);
        return $result;
    }

}

Проблема с этим кодом в том, что он возвращается.Все предыдущие транзакции и поле со следующим идентификатором.Следующая попытка, когда я отправляю новую покупку, возвращает снова предыдущие транзакции, включая идентификатор первой транзакции.

Я надеюсь, что меня поняли.Скажите, пожалуйста, для получения дополнительных инструкций

...