WHMCS 获取发票 PDF
WHMCS get invoice PDF
我正在尝试使用 API 方法将我所有的 WHMCS 发票从 WHMCS 导入到 c# 应用程序。当我尝试下载 PDF 文档时出现问题。没有 API 方法可以做到这一点,我无法在没有登录的情况下调用 dl.php 页面。
我无法使用 WHMCS API 方法以管理员身份登录,也无法使用客户端登录,因为(显然)我不知道他们的密码,我只有他们的 MD5 密码。
有什么解决办法吗?
谢谢
根据 this page,这是无需登录即可下载发票的方法。
创建一个 php 文件,比方说,gen_invoice_pdf.php,并将其放在根 whmcs 目录中。
将此代码添加到文件中:
<?php
include __DIR__ . '/init.php';
include __DIR__ . '/includes/invoicefunctions.php';
use WHMCS\Auth;
$user = filter_var($_GET['us'], FILTER_SANITIZE_STRING);
$pass = filter_var($_GET['pw'], FILTER_SANITIZE_STRING);
$id = filter_var($_GET['id'], FILTER_SANITIZE_NUMBER_INT);
$authAdmin = new Auth;
if ($authAdmin->getInfobyUsername($user) && $authAdmin->comparePassword($pass)) {
$isValid = true;
} else {
$isValid = false;
}
if (!$isValid) {
die('Access Denied');
}
if ($id > 0) {
$pdfdata = pdfInvoice($id);
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename=invoice_$id.pdf");
echo $pdfdata;
}
要下载发票 ID:5,请访问 url:
http://whmcs-example.com/gen_invoice_pdf.php?id=5&us=myuser&pw=mypass
注意:任何人都可以访问 url,您可以设置页面接受来自特定 IP 地址的连接,例如。
更新:
添加了 WHMCS 管理员身份验证,仅适用于 WHMCS >= 5.3.9,检查:Admin Password Hashing。
我正在尝试使用 API 方法将我所有的 WHMCS 发票从 WHMCS 导入到 c# 应用程序。当我尝试下载 PDF 文档时出现问题。没有 API 方法可以做到这一点,我无法在没有登录的情况下调用 dl.php 页面。 我无法使用 WHMCS API 方法以管理员身份登录,也无法使用客户端登录,因为(显然)我不知道他们的密码,我只有他们的 MD5 密码。
有什么解决办法吗?
谢谢
根据 this page,这是无需登录即可下载发票的方法。
创建一个 php 文件,比方说,gen_invoice_pdf.php,并将其放在根 whmcs 目录中。
将此代码添加到文件中:
<?php
include __DIR__ . '/init.php';
include __DIR__ . '/includes/invoicefunctions.php';
use WHMCS\Auth;
$user = filter_var($_GET['us'], FILTER_SANITIZE_STRING);
$pass = filter_var($_GET['pw'], FILTER_SANITIZE_STRING);
$id = filter_var($_GET['id'], FILTER_SANITIZE_NUMBER_INT);
$authAdmin = new Auth;
if ($authAdmin->getInfobyUsername($user) && $authAdmin->comparePassword($pass)) {
$isValid = true;
} else {
$isValid = false;
}
if (!$isValid) {
die('Access Denied');
}
if ($id > 0) {
$pdfdata = pdfInvoice($id);
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename=invoice_$id.pdf");
echo $pdfdata;
}
要下载发票 ID:5,请访问 url:
http://whmcs-example.com/gen_invoice_pdf.php?id=5&us=myuser&pw=mypass
注意:任何人都可以访问 url,您可以设置页面接受来自特定 IP 地址的连接,例如。
更新:
添加了 WHMCS 管理员身份验证,仅适用于 WHMCS >= 5.3.9,检查:Admin Password Hashing。