我一直在尝试为我的 USAePay 帐户生成一个公共 API 密钥,以使用 PHP 与 USAePay 客户端 JS iFrame 一起使用。
CURL 请求不断返回错误代码 80:不允许来自此源的事务类型。
我尝试过使用和不使用 pin 以及使用 sandbox.usaepay 的两种测试模式。. . 并且在 URL 中没有沙箱的常规模式下(适当地更改控制台中的 SourceKey)。
我的 PHP 代码可能有问题,还是我缺少其他设置?
$seed = "abcdefghijklmnop";
$apikey = "mysourcekeyfromconsole";
$apipin = "1234";
$prehash = $apikey . $seed . $apipin;
$apihash = "s2/" . $seed . "/" . hash("sha256",$prehash);
$authKey = base64_encode($apikey . ':' . $apihash);
//print("Authorization: Basic " . $authKey);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.usaepay.com/api/v2/publickey",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET"
]);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
"Content-Type: application.json",
"Authorization: Basic " . $authKey
]);
$response = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);