<?php $orderType = substr('000000' . $pa_MP, -6); try { $key = '4B40A73D'; $des = new DesComponent($key); $merchantID = $des->encrypt("990340148160000"); // $parameters = array('merchantID' => $merchantID); $username = $client->Attendance($parameters); $res = get_object_vars($username); // print_r(get_object_vars($username))."<br/>";exit; // print_r($res);exit; $workKey = $des->decrypt(isset($res['Key']) ? $res['Key'] : ''); $desC = new DesComponent($workKey); $Pan = $desC->encrypt($card); $Mobile = $desC->encrypt($telphone); $IDCard = $desC->encrypt($idCard); //$tranAmt=$desC->encrypt('000000000001'); $tranAmt = substr('000000000000' . $p3_Amt * 100, -12); $tranAmt = $desC->encrypt($tranAmt); $addition = array('hzn', 'ahhf'); $backAddition = array('N00002', ''); //测试卡号:6225880296988018 //$productInfo=iconv('GBK','UTF-8','升级真爱一生网钻石会员'); //echo $Pan.'<br>'.$Mobile.'<br>'.$IDCard.'<br>'.$tranAmt.'<br>'.$transDateTime.'<br>'.$sysTraceNum.'<br>'.$p5_Pid.'<br>'.$pa_MP.'<br>'; $param = array('Pan' => $Pan, 'Mobile' => $Mobile, 'productInfo' => $p5_Pid, 'tranAmt' => $tranAmt, 'tranDateTime' => $transDateTime, 'currencyType' => '156', 'merchantID' => '990340148160000', 'sysTraceNum' => $sysTraceNum, 'OrderType' => $orderType, 'IDCard' => $IDCard, 'addition' => $addition, 'backAddition' => $backAddition); $result = $client->PayTransNoResult($param); } catch (SoapFault $fault) { // echo "Fault! code:",$fault->faultcode,", string: ",$fault->faultstring; MooMessage('您的支付请求发送意外错误,请重新提交你的支付请求。', 'index.php?n=payment&h=govip');
function telPay($idCard, $telphone, $card, $bank, $name = '') { global $_MooClass, $dbTablePre, $uid, $user_arr, $paymoney, $paymoney2, $payment_code, $activitytime1, $activitytime2, $urltestkey, $timestamp, $cardType, $memcached, $p3_Amt, $text; if (empty($uid)) { header("login.html"); } set_time_limit(0); ini_set('soap.wsdl_cache_enabled', 0); //禁止wsdl缓存 ini_set('soap.wsdl_cache_ttl', 0); $ws = "http://123.138.28.20:6699/Angelpay.asmx?wsdl"; $client = new SoapClient($ws, array('proxy_host' => "123.138.28.20", 'proxy_port' => 6699)); //=========================公共代码========================== //payment_new设置字段pay_type=3,电话支付方式 $res_sid = $_MooClass['MooMySQL']->getOne("select sid from {$dbTablePre}members_search where uid='{$uid}'", true); $sid = $res_sid['sid']; $channel = MooGetGPC('channel', 'string', 'P'); //$bank=MooGetGPC('bank', 'string','P'); $pay_type = array('pay', 'pay_diamond', 'city_star', 'pay_add_money', 'pay_platinum', 'pay_add_money_other', 'pay_cs', 'pay_sliver', 'pay_midsummer', 'pay_dusk', "pay_rlsl"); if (!in_array($channel, $pay_type)) { MooMessage('您选择的服务有误。', 'index.php?n=payment'); } $sendedPayCount = $memcached->get('telPay' . $uid); if (empty($sendedPayCount)) { $sendedPayCount = 0; } if ($sendedPayCount >= 10) { MooMessage('您今天累计已经发过支付请求10次', 'index.php?n=service'); } $p3_Amt = MooGetGPC('p3_Amt', 'int', 'P'); $text = MooGetGPC('text', 'string', 'P'); $merOrderNum = ''; $pa_MP = ''; $Pan = ''; $sysTraceNum = date('His'); $transDateTime = date('YmdHis'); $transDateTimeStamp = strtotime($transDateTime); $time = time(); $p2_Order = date('YmdHis', $time) . $uid; //$telbank=isset($tel_bankarr[$bank])?$tel_bankarr[$bank]:''; if ($channel == 'pay') { //note 高级会员 $p3_Amt = $paymoney['vip']; $p5_Pid = '真爱一生网高级会员'; // $p5_Pid=iconv("GB2312","UTF-8",'真爱一生网高级会员'); $pa_MP = '1'; //0钻石会员 1高级会员 2城市之星 $sql = "insert into {$dbTablePre}payment_new (uid,pay_type,pay_bank,order_id,status,pay_money,pay_service,apply_sid,pay_time,apply_time,contact,sysTraceNum,apply_note,Pan) values('{$uid}','3','{$bank}','{$p2_Order}','0','{$p3_Amt}','1','{$sid}','{$time}','{$time}','{$user_arr['telphone']}','{$sysTraceNum}','{$p5_Pid}','{$card}')"; $_MooClass['MooMySQL']->query($sql); } elseif ($channel == 'city_star') { $p3_Amt = $paymoney['citystar']; $p5_Pid = '真爱一生网城市之星'; // $p5_Pid=iconv("GB2312","UTF-8",'真爱一生网城市之星'); $pa_MP = '2'; //0钻石会员 1高级会员 2城市之星 $sql = "insert into {$dbTablePre}payment_new (uid,pay_type,pay_bank,order_id,status,pay_money,pay_service,apply_sid,pay_time,apply_time,contact,sysTraceNum,apply_note,Pan) values('{$uid}','3','{$bank}','{$p2_Order}','0','{$p3_Amt}','2','{$sid}','{$time}','{$time}','{$user_arr['telphone']}','{$sysTraceNum}','{$p5_Pid}','{$card}')"; $_MooClass['MooMySQL']->query($sql); } elseif ($channel == 'pay_diamond') { //note 钻石会员 $p3_Amt = $paymoney['diamond']; $p5_Pid = '真爱一生网钻石会员'; // $p5_Pid=iconv("GB2312","UTF-8",'真爱一生网钻石会员'); $pa_MP = '0'; $sql = "insert into {$dbTablePre}payment_new (uid,pay_type,pay_bank,order_id,status,pay_money,pay_service,apply_sid,pay_time,apply_time,contact,sysTraceNum,apply_note,Pan) values('{$uid}','3','{$bank}','{$p2_Order}','0','{$p3_Amt}','0','{$sid}','{$time}','{$time}','{$user_arr['telphone']}','{$sysTraceNum}','{$p5_Pid}','{$card}')"; $_MooClass['MooMySQL']->query($sql); } elseif ($channel == 'pay_add_money') { //note 补款高级升钻石 $p3_Amt = $paymoney['add_money']; $p5_Pid = '高级会员升级钻石会员'; // $p5_Pid=iconv("GB2312","UTF-8",'高级会员升级钻石会员'); $pa_MP = '5'; $sql = "insert into {$dbTablePre}payment_new (uid,pay_type,pay_bank,order_id,status,pay_money,pay_service,apply_sid,pay_time,apply_time,contact,sysTraceNum,apply_note,Pan) values('{$uid}','3','{$bank}','{$p2_Order}','0','{$p3_Amt}','5','{$sid}','{$time}','{$time}','{$user_arr['telphone']}','{$sysTraceNum}','{$p5_Pid}','{$card}')"; $_MooClass['MooMySQL']->query($sql); } elseif ($channel == 'pay_platinum') { $p3_Amt = $paymoney['platinum']; $p5_Pid = '真爱一生网铂金会员'; // $p5_Pid=iconv("GB2312","UTF-8",'真爱一生网铂金会员'); $pa_MP = '99'; $sql = "insert into {$dbTablePre}payment_new (uid,pay_type,pay_bank,order_id,status,pay_money,pay_service,apply_sid,pay_time,apply_time,contact,sysTraceNum,apply_note,Pan) values('{$uid}','3','{$bank}','{$p2_Order}','0','{$p3_Amt}','-1','{$sid}','{$time}','{$time}','{$user_arr['telphone']}','{$sysTraceNum}','{$p5_Pid}','{$card}')"; $_MooClass['MooMySQL']->query($sql); } elseif ($channel == 'pay_add_money_other') { //note 补款预付 $p3_Amt = $p3_Amt; $p5_Pid = '补款预付'; $pa_MP = '6'; $sql = "insert into {$dbTablePre}payment_other (uid,pay_type,pay_bank,order_id,status,pay_money,pay_service,apply_sid,apply_time,contact,note,sysTraceNum,apply_note,Pan) values('{$uid}','3','{$bank}','{$p2_Order}','0','{$p3_Amt}','6','{$sid}','{$time}','{$user_arr['telphone']}','{$text}','{$sysTraceNum}','{$p5_Pid}','{$card}')"; $_MooClass['MooMySQL']->query($sql); } switch ($pa_MP) { case '0': $title = '钻石会员'; $img = '<img src="module/payment/templates/default/images/pay03.gif" />'; break; case '1': $title = '高级会员'; $img = '<img src="module/payment/templates/default/images/pay02.gif" />'; break; case '2': $title = '城市之星'; $img = '<img src="module/payment/templates/default/images/pay01.gif" />'; break; case '6': $title = '补款预付'; $img = '<img src="module/payment/templates/default/images/pay_06.gif" /><span style="font-size:20px;position: relative;top: -6px; color:red; letter-spacing: -3px; font-family:楷体_GB2312; ">' . $text . '</span><img src="module/payment/templates/default/images/pay_06_a.gif" /><span style="font-size:20px;position: relative;top: -6px; color:red; font-family:楷体_GB2312;">' . $p3_Amt . '</span><img src="module/payment/templates/default/images/pay_06_b.gif" />'; break; case '99': $title = '真爱一生网铂金会员'; $img = '<img src="module/payment/templates/default/images/pay06.gif" /> '; break; case '5': $title = '高级会员升级钻石会员'; $img = '<img src="module/payment/templates/default/images/pay05.gif" />'; break; } //==================公共代码结束=================== $orderType = substr('000000' . $pa_MP, -6); try { $key = '4B40A73D'; $des = new DesComponent($key); $merchantID = $des->encrypt("990340148160000"); // $parameters = array('merchantID' => $merchantID); $username = $client->Attendance($parameters); $res = get_object_vars($username); // print_r(get_object_vars($username))."<br/>";exit; // print_r($res);exit; $workKey = $des->decrypt(isset($res['Key']) ? $res['Key'] : ''); $desC = new DesComponent($workKey); $Pan = $desC->encrypt($card); $Mobile = $desC->encrypt($telphone); $IDCard = $desC->encrypt($idCard); //$tranAmt=$desC->encrypt('000000000001'); $tranAmt = substr('000000000000' . $p3_Amt * 100, -12); $tranAmt = $desC->encrypt($tranAmt); $addition = array('hzn', 'ahhf'); $backAddition = array('N00002', ''); //测试卡号:6225880296988018 //$productInfo=iconv('GBK','UTF-8','升级真爱一生网钻石会员'); //echo $Pan.'<br>'.$Mobile.'<br>'.$IDCard.'<br>'.$tranAmt.'<br>'.$transDateTime.'<br>'.$sysTraceNum.'<br>'.$p5_Pid.'<br>'.$pa_MP.'<br>'; $param = array('Pan' => $Pan, 'Mobile' => $Mobile, 'productInfo' => $p5_Pid, 'tranAmt' => $tranAmt, 'tranDateTime' => $transDateTime, 'currencyType' => '156', 'merchantID' => '990340148160000', 'sysTraceNum' => $sysTraceNum, 'OrderType' => $orderType, 'IDCard' => $IDCard, 'addition' => $addition, 'backAddition' => $backAddition); $result = $client->PayTransNoResult($param); } catch (SoapFault $fault) { // echo "Fault! code:",$fault->faultcode,", string: ",$fault->faultstring; MooMessage('您的支付请求发送意外错误,请重新提交你的支付请求。', 'index.php?n=payment&h=govip'); } $PayTransNoResultResult = $result->PayTransNoResultResult; //返回值 //$merOrderNum=$result->merOrderNum;//订单号 $tranDateTime = date('Y-m-d', $result->tranDateTime); //交易日期 //echo $Serl_result;exit; //if(preg_match("/N00000/",$Serl_result)){ if ($PayTransNoResultResult == 'N00000') { $memcached->set('telPay' . $uid, ++$sendedPayCount, 0, 28800); //设置当日提交支付请求数 include MooTemplate('public/paytelReturn', 'module'); //header("Location: index.php?n=payment&h=telPaying&merOrderNum=$merOrderNum&tranDateTime=$tranDateTime&bank_type=$bank_type");exit; //确保重定向后,后续代码不会被执行 } else { get_errorInfo($uid, $telphone, $sid, $transDateTime, $pa_MP, $PayTransNoResultResult); MooMessage('您的支付请求失败,请重新提交您的支付请求。' . $PayTransNoResultResult, 'index.php?n=index&h=govip'); } }