Проверка кода покупки Envato в PHP: методы и примеры

Чтобы проверить код покупки Envato с помощью PHP, вы можете использовать Envato Market API. Ниже приведены два метода, которые можно использовать с примерами кода:

Метод 1: использование cURL

function verifyPurchaseCode($purchaseCode) {
    $apiUrl = 'https://api.envato.com/v3/market/author/sale';

    $headers = array(
        'Authorization: Bearer YOUR_API_TOKEN',
        'User-Agent: YOUR_USER_AGENT'
    );
    $data = array(
        'code' => $purchaseCode
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);
    // Process the response
    $result = json_decode($response, true);

    // Check if the purchase code is valid
    if (isset($result['buyer'])) {
        return 'Valid purchase';
    } else {
        return 'Invalid purchase';
    }
}

Метод 2: использование HTTP-клиента Guzzle (требуется библиотека Guzzle)

use GuzzleHttp\Client;
function verifyPurchaseCode($purchaseCode) {
    $apiUrl = 'https://api.envato.com/v3/market/author/sale';
    $headers = array(
        'Authorization' => 'Bearer YOUR_API_TOKEN',
        'User-Agent' => 'YOUR_USER_AGENT'
    );
    $data = array(
        'code' => $purchaseCode
    );
    $client = new Client(['headers' => $headers]);
    $response = $client->post($apiUrl, ['form_params' => $data]);
    // Process the response
    $result = json_decode($response->getBody(), true);
    // Check if the purchase code is valid
    if (isset($result['buyer'])) {
        return 'Valid purchase';
    } else {
        return 'Invalid purchase';
    }
}

Обратите внимание, что в обоих методах вам необходимо заменить 'YOUR_API_TOKEN'на ваш фактический токен API Envato и 'YOUR_USER_AGENT'на строку пользовательского агента, которая идентифицирует ваш приложение.