PHP中的PayU交易状态API

问题描述

我正在尝试从payu api https://www.mylloyd.com/media/commercials/news_paper/integration_document_version_2_51.pdf第27页获取TXN详细信息

我试图将其整合到PHP

$key = "lm4WnvkL"; 
$salt = "QPQ969eJUB";
$command = "verify_payment";
$var1 = "OID12297670"; //merchant generated 
$txnid = "9084024418"; // payu generated id if needed
$authheader = "PWoH07ktmpG1f4c569tD/ndb7O2YesoYs3r64OTWZ2g=";//if needed

//hash formaula
$hash_str = $key  . '|' . $command . '|' . $var1 . '|' . $salt ;
$hash = strtolower(hash('sha512',$hash_str));
$r = array('key' => $key,'hash' =>$hash,'var1' => $var1,'command' => $command);
$qs= http_build_query($r);
$wsUrl = "https://test.payu.in/merchant/postservice.PHP?form=2";
//$wsUrl = "https://info.payu.in/merchant/postservice?form=2";

$c = curl_init();
curl_setopt($c,CURLOPT_URL,$wsUrl);
curl_setopt($c,CURLOPT_POST,1);
curl_setopt($c,CURLOPT_POSTFIELDS,$qs);
curl_setopt($c,CURLOPT_CONNECTTIMEOUT,30);
curl_setopt($c,CURLOPT_RETURNTRANSFER,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($c,CURLOPT_SSL_VERIFYPEER,0);
$o = curl_exec($c);
if (curl_errno($c)) {
  $sad = curl_error($c);
  throw new Exception($sad);
}
curl_close($c);

$valueSerialized = @unserialize($o);
if($o === 'b:0;' || $valueSerialized !== false) {
  print_r($valueSerialized);
}
print_r($o);

代码是我选择的表单 Transaction Status API in PHP for Payment Gateway

但是对于将输出作为json的理解我却得到了https://i.ibb.co/2v9s7sJ/image.png

由于付款有效,因此密钥和盐是有效的,因此您可以运行代码进行测试,我稍后将对其进行编辑

Array ( [isConsentPayment] => 0 [mihpayid] => 9084024418 [mode] => CC [status] => success [unmappedstatus] => captured [key] => lm4WnvkL [txnid] => OID12297670 [amount] => 65.00 [addedon] => 2020-10-01 21:46:59 [productinfo] => This is test [firstname] => Rohit Mahajan [lastname] => [address1] => [address2] => [city] => [state] => [country] => [zipcode] => [email] => rootand58@gmail.com [phone] => 9420241080 [udf1] => [udf2] => [udf3] => [udf4] => [udf5] => [udf6] => [udf7] => [udf8] => [udf9] => [udf10] => [hash] => ef0ae2368b4703dde6410aed45f13b3f5ef74c2853879305aa6388a600b47ed291fdc85c095dfa49e4741da9683d5cbca6bec14e5ae5e51434a8e52b557eb704 [field1] => 797028716857 [field2] => 674900 [field3] => 922807983480774 [field4] => QnVVWlM1S0ZFOUR2enJ5ZkRoVVc= [field5] => 05 [field6] => [field7] => AUTHPOSITIVE [field8] => [field9] => [giftCardissued] => true [PG_TYPE] => HDFCPG [encryptedPaymentId] => C63A737828F0D5FE1AFD9CF461992A27 [bank_ref_num] => 922807983480774 [bankcode] => VISA [error] => E000 [error_Message] => No Error [name_on_card] => Test [cardnum] => 401200XXXXXX1112 [cardhash] => This field is no longer supported in postback params. [amount_split] => { [payuMoneyId] => 250546370 [discount] => 0.00 [net_amount_debit] => 65 )

这是我完成交易后得到的响应,因此,如果上面的代码需要在此数组中添加任何字段,则

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)