我想尝试让Advanced Installer通过Gumroad的许可证密钥API验证序列号,但不幸的是,Advanced Installer不允许我更改POST查询名称,因为它希望POST到包含以下内容的PHP文件:查询值。有没有办法将AI的sn
查询转换为license_key
?我已经合并了一个PHP文件,该文件将用户输入的密钥发送到该PHP文件,该文件将发送到gumroad的许可API
<?php
$request = new HttpRequest();
$request->setUrl('http://api.gumroad.com/v2/licenses/verify');
$request->setMethod(HTTP_METH_POST);
$request->setQueryData(array(
'product_permalink' => '[GUMROAD_PRODUCT_CODE]',
'license_key' => $sn
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
// server response codes
define('LICENSE_VALID', '200');
define('LICENSE_INVALID', '404');
function ServerResponse($is_valid, $posted_serial = '', $lang_id = 1033)
{
$msg_sep = "\n";
// load error messages from your database, using "$lang_id" for localization (optional)
if($posted_serial == '')
return LICENSE_INVALID . $msg_sep . "Missing Serial Number !";
if($is_valid == true)
return LICENSE_VALID;
else
return LICENSE_INVALID . $msg_sep . "Serial Number: " . $posted_serial . ' is invalid !';
}
else
{
// issue error response
echo ServerResponse(false);
die();
}
?>
答案 0 :(得分:0)
如果您正在使用Advanced Installer的串行验证功能,则似乎其串行验证功能可以执行POST的唯一POST参数是: sn ,用户名,公司,电子邮件,版本,语言ID 和 ai 。因此,根据他们的docs,我看不出您可以添加自己的post参数(license_key)。