php中的交换机间quickteller API集成
我必须在我的web应用程序中添加interswitch支付方法,但我收到错误消息 下面是我的代码php中的交换机间quickteller API集成,php,curl,Php,Curl,我必须在我的web应用程序中添加interswitch支付方法,但我收到错误消息 下面是我的代码 function billersCategories() { $nonce=$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyz"), 0, 60); $date = new DateTime(); $timestamp=$date->getTimestamp();
function billersCategories()
{
$nonce=$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyz"), 0, 60);
$date = new DateTime();
$timestamp=$date->getTimestamp();
// Signature
$httpMethod = "GET";
$url='https://sandbox.interswitchng.com/api/v2/quickteller/categorys';
$clientId = "IKIA9D98ABCDEFGHIFAKEID1E09104959B9755C41E1";
$clientSecretKey = "d5uAr+U8QhSv8vQtKPDIUI62327Fsfsfsf65=";
$signatureCipher = $httpMethod."&".$url."&".$timestamp."&".$nonce."&".$clientId."&".$clientSecretKey;
$signature = base64_encode($signatureCipher);
$data = array("TerminalID" => "9APY556261");
$data_string = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type:application/json',
'Authorization:InterswitchAuth SUtJQTUyNTBERkY1NkU5MzM2OUM0RkRBRjMxQTQ3QTg1RkNDODYyRTRDOUU=',
'Signature:'.$signature,
'Nonce:'.$nonce,
'Timestamp:'.$timestamp,
'SignatureMethod:SHA512'
));
$result = curl_exec($ch);
echo curl_getinfo($ch) . '<br/>';
echo curl_errno($ch) . '<br/>';
echo curl_error($ch) . '<br/>';
var_dump($result);
}
函数billersCategories()
{
$nonce=$randomNum=substr(str_shuffle(“0123456789abcdefghijklmnopqrstvwxyz”),0,60);
$date=新的日期时间();
$timestamp=$date->getTimestamp();
//签名
$httpMethod=“GET”;
$url='1https://sandbox.interswitchng.com/api/v2/quickteller/categorys';
$clientId=“ikia9d98abcdefghifakeid1e091049b9755c41e1”;
$clientSecretKey=“d5uAr+U8QHSV8VQTKPDIUI62327FSF65=”;
$signatureCipher=$httpMethod.&“$url.”和“$timestamp.”和“$nonce.”和“$clientId.”和“$clientSecretKey;
$signature=base64_编码($signatureecipher);
$data=数组(“TerminalID”=>“9APY556261”);
$data\u string=json\u encode($data);
$ch=curl\u init($url);
curl_setopt($ch,CURLOPT_VERBOSE,true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
卷曲设置($ch,卷曲设置桩,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch,CURLOPT_HTTPHEADER,数组(
'内容类型:application/json',
'授权:Interswitcouth Sutjqtuyntberky1nku5MzM2oum0RkrbRjMXqtqtqtg1RknodyRktrDuu=',
“签名:”.$Signature,
“Nonce:”。$Nonce,
“时间戳:”。$Timestamp,
'签名方法:SHA512'
));
$result=curl\u exec($ch);
echo curl_getinfo($ch)。“
”;
回音旋度($ch)。“
”;
回波旋度误差($ch)。“
”;
var_dump($结果);
}
但我收到以下错误
“此资源不支持HTTP方法”,我尝试了HTTP方法POST,但出现了相同的错误,我是API新手,请有人帮助我解决此问题。使用此方法,请填写以下内容 在变量中 -$clientId -$clientSecretKey 在页眉处 -末日的
<?php
$nonce=$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyz"), 0, 60);
$date = new DateTime();
$timestamp=$date->getTimestamp();
$httpMethod = "GET";
$clientId = "YOUR_OWN_ID";
$clientSecretKey = "YOUR_OWN_CLIENT_SECRET_KEY";
$resourceUrl='https://sandbox.interswitchng.com/api/v2/quickteller/categorys';
$resourceUrl = strtolower($resourceUrl);
$resourceUrl = str_replace('http://', 'https://', $resourceUrl);
$encodedUrl = urlencode($resourceUrl);
$transactionParams = "1";
$httpMethod = "GET";
$signatureCipher = $httpMethod . '&' . $encodedUrl . '&' . $timestamp . '&' . $nonce . '&' . $clientId . '&' . $clientSecretKey;
if (!empty($transactionParams) && is_array($transactionParams)) {
$parameters = implode("&", $transactionParams);
$signatureCipher = $signatureCipher . $parameters;
}
$signature = base64_encode(sha1($signatureCipher, true));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$resourceUrl);
// curl_setopt($ch, CURLOPT_POST, 1);
// curl_setopt($ch, CURLOPT_POSTFIELDS,$vars); //Post Fields
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$headers = [
'Content-Type:application/json',
'Authorization:InterswitchAuth SUtJQTAzREM3RDY5NUREMzZFQURFNTQxNEE2Nzg1MUJCMUZFQ0Y5MUIxRjg=',
'Signature:'.$signature,
'Nonce:'.$nonce,
'Timestamp:'.$timestamp,
'SignatureMethod:SHA1',
'TerminalID:YOUR_ASSIGNED_TERMINAL_ID'
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$server_output = curl_exec ($ch);
curl_close ($ch);
echo $server_output;
?>
这对我来说很有效,希望将来能帮助别人我相信手册会帮助你解决这个问题错误代码是E77,但这甚至不在文档中没有适当的文档和适当的支持