我需要帮助来实施 paytm 支付网关。我在 android 应用程序中实现网关,我已经正确编码,我没有错误,沙箱键工作正常,我也收到了响应,但随后 paytm 向我发送了一个名为“检查状态 API.php”的文件并说这对我来说我引用了我的电子邮件
对于交易状态 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。