<?php if (!class_exists('EnvatoApi2')) { class EnvatoApi2 { // Bearer, no need for OAUTH token, change this to your bearer string // https://build.envato.com/api/#token private static $bearer = "X6PVbSWXCD9moqGgkRuNEOuxFn1ApyGU"; static function getPurchaseData($code) { //setting the header for the rest of the api $bearer = 'bearer ' . self::$bearer; $header = array(); $header[] = 'Content-length: 0'; $header[] = 'Content-type: application/json; charset=utf-8'; $header[] = 'Authorization: ' . $bearer; $verify_url = 'https://api.envato.com/v1/market/private/user/verify-purchase:' . $code . '.json'; $response = wp_remote_get( $verify_url . '?code=' . $code, [ 'headers' => [ 'Authorization' => 'Bearer ' . self::$bearer, 'Content-type' => 'application/json; charset=utf-8', 'Access-Control-Allow-Origin'=> "*", ], ] ); $body = wp_remote_retrieve_body($response); if ($body != "") { return json_decode($body); } else { return false; } } static function verifyPurchase($code) { $verify_obj = self::getPurchaseData($code); // Check for correct verify code if ( (false === $verify_obj) || !is_object($verify_obj) || !isset($verify_obj->{"verify-purchase"}) || !isset($verify_obj->{"verify-purchase"}->item_name) ) return -1; // If empty or date present, then it's valid if ( $verify_obj->{"verify-purchase"}->supported_until == "" || $verify_obj->{"verify-purchase"}->supported_until != null ) return $verify_obj->{"verify-purchase"}; // Null or something non-string value, thus support period over return 0; } } } ?>