当前正在运行此软件包:“btcpayserver/btcpayserver-greenfield-php”:“^2.8” 我不断收到此错误:
错误:POST 到 https://mainnet.demo.btcpayserver.org/api/v1/stores/__STORE_ID/invoices 时出错。得到响应 (401): {"code":"unauthenticated","message":"访问此端点需要身份验证"} 警告:第 79 行 D:\xampp\htdocs\my_app\file.php 中的数组到字符串转换 数组
当我运行下面的代码时,我没有看到数组到字符串的转换来自:
use BTCPayServer\Client\Invoice;
use BTCPayServer\Client\InvoiceCheckoutOptions;
use BTCPayServer\Util\PreciseNumber;
public function createInvoice($amount, $orderId, $buyerEmail)
{
// Create a basic invoice.
try {
$client = new Invoice($this->host, $this->apiKey);
$result =
$client->createInvoice(
$this->storeId,
$this->currency,
PreciseNumber::parseString($amount),
$orderId,
$buyerEmail
);
return $result;
} catch (\Exception $e) {
echo "Error: " . $e->getMessage();
echo $e->getTrace();
}
}
实施:
require_once "vendor/autoload.php";
use Dotenv\Dotenv;
$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();
$ObjBtcServer = new \MyApp\CryptoDepositClasses\BTCPayServerClass();
print_r($ObjBtcServer->createInvoice(amount: '600', orderId: "#303", buyerEmail: '[email protected]'));
任何人都可以帮我解决这个问题吗?
我从仪表板和 API 中获取了商店 ID,但尚未进行身份验证。
解决方案似乎是等待大约 24 小时才能显示该选项,因为我一开始直到第二天才看到它。 我之前使用的 API 来自商店级别
我在菜单上找到了它 帐户 > API 密钥 > 生成密钥 并给予它您想要给予的适当授权级别
现在代码工作正常,数组到字符串的转换来自我打印请求结果的方式;我应该这样称呼它:
$结果 = 新发票(..., ...);
$result->getData(): // 修复此处