Paytm退款API给出501-系统错误

时间:2018-10-09 09:30:50

标签: php paytm

我在php中使用paytm退款api。

这是我的代码:

$checkSum = "";
$paramList = array();            
// Create an array having all required parameters for creating checksum.
$paramList["MID"] = '**********';
$paramList["ORDERID"] = '*******'; //get during paytm transaction response
$paramList["TXNTYPE"] = 'REFUND';
$paramList["REFUNDAMOUNT"] = '50';
$paramList["TXNID"] = '***********'; // get during paytm transaction response
$paramList["REFID"] = 'REFID'.time();
//Here checksum string will return by getChecksumFromArray() function.
$checkSum = getRefundChecksumFromArray($paramList,PAYTM_MERCHANT_KEY);
$paramList["CHECKSUM"] = urlencode($checkSum);
$data_string = 'JsonData='.json_encode($paramList);
// initiate curl
$ch = curl_init();                    
$url = 'https://securegw-stage.paytm.in/refund/HANDLER_INTERNAL/REFUND';
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);  // tell curl you want to post something
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string); // define what you want to post
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return the output in string format
$headers = array();
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$output = curl_exec ($ch); // execute
$info = curl_getinfo($ch);
$data = json_decode($output, true);
print_r($data);

这是回应,我得到了:

Array ( [RESPCODE] => 501 [RESPMSG] => System Error. [STATUS] => PENDING ) 

我没有明白这个系统错误的含义。解决方案是什么?任何帮助将不胜感激。

先谢谢了。

2 个答案:

答案 0 :(得分:1)

根据错误doc错误501,是payTm内部的系统错误。 https://developer.paytm.com/docs/refund-status-api/

我猜您正在使用payTm登台服务器。您的身边没有错,建议您等待几个小时,然后重试。它会自动工作

答案 1 :(得分:0)

我遇到了同样的问题,因为我没有声明PAYTM_MERCHANT_KEY的值 在将其传递给getRefundChecksumFromArray

之前
$checkSum = getRefundChecksumFromArray($paramList,PAYTM_MERCHANT_KEY);

这行代码解决了它

define("PAYTM_MERCHANT_KEY", "your_key_goes_here");