我需要帮助实现paytm支付网关 . 我在Android应用程序中实现网关,我已正确编码,我没有错误,沙箱键工作正常,我也得到了响应,但然后paytm发送给我一个文件命名'检查状态API.php'并说这对我来说我引用我的电子邮件
对于Transaction Status API,请使用MID和ORDER ID生成新的校验和,并将其传递到链接https://pguat.paytm.com/oltp/HANDLER_INTERNAL/getTxnStatus?JsonData={"MID":"MID","ORDERID “:”ORDERID“,”CHECKSUMHASH“:”CHECKSUMHASH“}在将校验和值传递给状态API之后,请对CHECKSUMHASH执行Url编码 .
我有一个附件这个文件
检查状态API.php
public function PaytmTransactionStatus($order_id){
header("Pragma: no-cache");
header("Cache-Control: no-cache");
header("Expires: 0");
require_once("lib/config_paytm.php");
require_once("lib/encdec_paytm.php");
$checkSum = "";
$data = array(
"MID"=>"DIY12386817555501617",// please use your own MID.
"ORDER_ID"=>$order_id,
);
$key = 'bKMfNxPPf_QdZppa';
$checkSum =getChecksumFromArray($data, $key);// Please use your own merchant key value.
$request=array("MID"=>'**************',
"ORDERID"=>$order_id,"CHECKSUMHASH"=>$checkSum);
$JsonData =json_encode($request);
$postData = 'JsonData='.urlencode($JsonData);
$url = "https://pguat.paytm.com/oltp/HANDLER_INTERNAL/getTxnStatus";
$HEADER[] = "Content-Type: application/json";
$HEADER[] = "Accept: application/json";
$args['HEADER'] = $HEADER;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $args['HEADER']);
$server_output = curl_exec($ch);
return json_decode($server_output,true);
我修改了MID和商家密钥并将其上传到服务器但是api无法运行它返回我在浏览器中编写的整个代码,但它应该返回json .
2 回答
使用此代码检查状态:
经过一些研究工作,我写了一些正常的东西