При продаже цифровых продуктов на таких платформах, как Envato, важно проверять коды покупки, чтобы гарантировать, что только авторизованные пользователи смогут получить доступ к вашему продукту и использовать его. В этой статье мы рассмотрим несколько методов проверки кодов покупки Envato с помощью PHP. Мы предоставим примеры кода для каждого метода, чтобы помочь вам легко реализовать процесс проверки.
Метод 1: Проверка API Envato
API Envato позволяет разработчикам проверять коды покупок непосредственно на серверах Envato. Вот пример того, как проверить код покупки с помощью Envato API:
$purchaseCode = 'YOUR_PURCHASE_CODE';
$apiUrl = 'https://api.envato.com/v3/market/author/sale?code=' . $purchaseCode;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $apiUrl,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_ENVATO_API_TOKEN'
]
]);
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response, true);
if ($result['status'] === 'success') {
// Purchase code is valid
// Perform necessary actions
} else {
// Purchase code is invalid
// Handle the error accordingly
}
Метод 2: проверка кода покупки с помощью библиотеки Envato Toolkit
Envato предлагает официальную PHP-библиотеку под названием «Envato Toolkit», которая упрощает процесс проверки кодов покупки. Вот пример использования библиотеки Envato Toolkit:
require_once 'path/to/envato-toolkit-library/autoload.php';
$purchaseCode = 'YOUR_PURCHASE_CODE';
$apiKey = 'YOUR_ENVATO_API_KEY';
$envato = new \Envato\Envato($apiKey);
$verificationResult = $envato->verifyPurchase($purchaseCode);
if ($verificationResult->isValid()) {
// Purchase code is valid
// Perform necessary actions
} else {
// Purchase code is invalid
// Handle the error accordingly
}
Метод 3: проверка кода покупки с помощью регулярного выражения
Вы также можете проверить код покупки с помощью регулярных выражений. Этот метод полезен, если вы не хотите зависеть от внешних API или библиотек. Вот пример:
$purchaseCode = 'YOUR_PURCHASE_CODE';
$pattern = '/^([a-fA-F0-9]{36})$/';
if (preg_match($pattern, $purchaseCode)) {
// Purchase code is valid
// Perform necessary actions
} else {
// Purchase code is invalid
// Handle the error accordingly
}
Метод 4. Проверка кода покупки с помощью идентификатора товара.
Если у вас есть доступ к идентификатору товара, связанному с кодом покупки, вы можете проверить его, сравнив его с ожидаемым идентификатором товара. Вот пример:
$purchaseCode = 'YOUR_PURCHASE_CODE';
$expectedItemId = 12345;
$parts = explode('-', $purchaseCode);
$itemId = end($parts);
if ($itemId == $expectedItemId) {
// Purchase code is valid
// Perform necessary actions
} else {
// Purchase code is invalid
// Handle the error accordingly
}
Метод 5: Проверка кода покупки с помощью базы данных
Если у вас есть база данных действительных кодов покупки, вы можете проверить код, запросив базу данных. Вот пример использования MySQL:
$purchaseCode = 'YOUR_PURCHASE_CODE';
// Assuming you have a "purchase_codes" table with a "code" column
$query = "SELECT COUNT(*) as count FROM purchase_codes WHERE code = '$purchaseCode'";
$result = mysqli_query($connection, $query);
$row = mysqli_fetch_assoc($result);
if ($row['count'] > 0) {
// Purchase code is valid
// Perform necessary actions
} else {
// Purchase code is invalid
// Handle the error accordingly
}
Проверка кодов покупки Envato имеет решающее значение для защиты ваших цифровых продуктов. В этой статье мы рассмотрели пять различных методов проверки кодов покупки Envato с помощью PHP. Вы можете выбрать метод, который лучше всего соответствует вашим требованиям, и реализовать предоставленные примеры кода, чтобы только авторизованные пользователи могли получить доступ к вашим продуктам и использовать их.
Не забудьте настроить фрагменты кода в соответствии с вашими конкретными потребностями, например добавить обработку ошибок и интеграцию с логикой вашего приложения.
Применяя эти методы, вы можете улучшить аспекты безопасности и лицензирования своих программных приложений, обеспечивая более безопасный и надежный пользовательский опыт.