function get_pay_url($charge_type, $pay_amount, $payment_config, $subject, $order_id, $model_id = null, $obj_id = null, $service = '', $sign_type = 'MD5', $show_url = 'index.php?do=user&view=finance&op=details') { global $_K, $uid, $username, $kekezu; $out_trade_no = "charge-{$charge_type}-{$uid}-{$obj_id}-{$order_id}-{$model_id}-" . time(); $return_url = $_K['siteurl'] . '/include/payment/yeepay/callback.php'; keke_order_class::create_order_charge('online_charge', 'yeepay', null, $obj_id, $uid, $username, $pay_amount, 'wait', '用户充值', $out_trade_no); $p1_MerId = $payment_config['seller_id']; $merchantKey = $payment_config['safekey']; $logName = "YeePay_HTML.log"; $reqURL_onLine = "https://www.yeepay.com/app-merchant-proxy/node"; $p0_Cmd = "Buy"; $p9_SAF = "0"; $p2_Order = $order_id; $p3_Amt = $pay_amount; $p4_Cur = "CNY"; $subject = 'kppwpay' . $order_id; $p5_Pid = mb_substr($subject, 0, 20, CHARSET); $p6_Pcat = ""; $p7_Pdesc = $p5_Pid; $p8_Url = $return_url; $pa_MP = $out_trade_no; $pd_FrpId = ""; $pr_NeedResponse = "1"; $hmac = getReqHmacString($p2_Order, $p3_Amt, $p4_Cur, $p5_Pid, $p6_Pcat, $p7_Pdesc, $p8_Url, $pa_MP, $pd_FrpId, $pr_NeedResponse); $form = <<<EOT <form id='yeepaysubmit' name='yeepaysubmit' action='{$reqURL_onLine}' method='post'> <input type='hidden' name='p0_Cmd'\t\t\t\t\tvalue='{$p0_Cmd}'> <input type='hidden' name='p1_MerId'\t\t\t\tvalue='{$p1_MerId}'> <input type='hidden' name='p2_Order'\t\t\t\tvalue='{$p2_Order}'> <input type='hidden' name='p3_Amt'\t\t\t\t\tvalue='{$p3_Amt}'> <input type='hidden' name='p4_Cur'\t\t\t\t\tvalue='{$p4_Cur}'> <input type='hidden' name='p5_Pid'\t\t\t\t\tvalue='{$p5_Pid}'> <input type='hidden' name='p6_Pcat'\t\t\t\t\tvalue='{$p6_Pcat}'> <input type='hidden' name='p7_Pdesc'\t\t\t\tvalue='{$p7_Pdesc}'> <input type='hidden' name='p8_Url'\t\t\t\t\tvalue='{$p8_Url}'> <input type='hidden' name='p9_SAF'\t\t\t\t\tvalue='{$p9_SAF}'> <input type='hidden' name='pa_MP'\t\t\t\t\t\tvalue='{$pa_MP}'> <input type='hidden' name='pd_FrpId'\t\t\t\tvalue='{$pd_FrpId}'> <input type='hidden' name='pr_NeedResponse'\tvalue='{$pr_NeedResponse}'> <input type='hidden' name='hmac'\t\t\t\t\t\tvalue='{$hmac}'> <button type='submit' class='hidden' name='v_action' value='确认付款' onClick='document.forms["yeepay"].submit();' style='display:none;'>确认付款</button> </form> <script>document.forms['yeepaysubmit'].submit();</script> EOT; return $form; }
public function index() { $this->CsdjUser->User_Login(); $id = (int) $this->uri->segment(4); //订单ID if ($id == 0) { msg_url(L('pay_01'), spacelink('pay')); } $row = $this->CsdjDB->get_row('pay', '*', $id); if (!$row || $row->uid != $_SESSION['cscms__id']) { msg_url(L('pay_02'), spacelink('pay')); } require_once CSCMSPATH . "pay/yeepay/yeepayCommon.php"; $p2_Order = $row->dingdan; $p3_Amt = $row->rmb; $p4_Cur = "CNY"; $p5_Pid = L('pay_03', array($_SESSION['cscms__name'])); $p6_Pcat = ''; $p7_Pdesc = $p5_Pid; $p8_Url = site_url("pay/ybpay/return_url"); $pa_MP = ''; $pd_FrpId = ''; $pr_NeedResponse = "1"; $hmac = getReqHmacString($p2_Order, $p3_Amt, $p4_Cur, $p5_Pid, $p6_Pcat, $p7_Pdesc, $p8_Url, $pa_MP, $pd_FrpId, $pr_NeedResponse); $button = '<form name="CsPayForm" method="post" style="text-align:left;" action="' . $reqURL_onLine . '" style="margin:0px;padding:0px" >'; $button .= "<input type='hidden' name='p0_Cmd' value='" . $p0_Cmd . "'/>"; $button .= "<input type='hidden' name='p1_MerId' value='" . $p1_MerId . "'/>"; $button .= "<input type='hidden' name='p2_Order' value='" . $p2_Order . "'/>"; $button .= "<input type='hidden' name='p3_Amt' value='" . $p3_Amt . "'/>"; $button .= "<input type='hidden' name='p4_Cur' value='" . $p4_Cur . "'/>"; $button .= "<input type='hidden' name='p5_Pid' value='" . $p5_Pid . "'/>"; $button .= "<input type='hidden' name='p6_Pcat' value='" . $p6_Pcat . "'/>"; $button .= "<input type='hidden' name='p7_Pdesc' value='" . $p7_Pdesc . "'/>"; $button .= "<input type='hidden' name='p8_Url' value='" . $p8_Url . "'/>"; $button .= "<input type='hidden' name='p9_SAF' value='" . $p9_SAF . "'/>"; $button .= "<input type='hidden' name='pa_MP' value='" . $pa_MP . "'/>"; $button .= "<input type='hidden' name='pd_FrpId' value='" . $pd_FrpId . "'/>"; $button .= "<input type='hidden' name='pr_NeedResponse' value='" . $pr_NeedResponse . "'/>"; $button .= "<input type='hidden' name='hmac' value='" . $hmac . "'/>"; $formstr = $button . '</form><script>document.CsPayForm.submit();</script>'; echo $formstr; }
/** * 生成支付代码 * @param array $order 订单信息 * @param array $payment 支付方式信息 */ function get_code($order,$payment){ require_once 'yeepaycommon.php'; $merchantKey = $payment['merchantKey']; // 密钥 $p0_Cmd='Buy'; $p1_MerId = $payment['p1_MerId']; // 商户号 $p2_Order = $order['order_sn']; //订单号 $p3_Amt=$order['order_amount']; $p4_Cur='CNY'; $p5_Pid=iconv("UTF-8","GB2312",$order['subject']); $p6_Pcat = iconv("UTF-8","GB2312",'真爱一生网服务'); $p7_Pdesc = iconv("UTF-8","GB2312",'升级会员'); $p8_Url =$payment['p8_Url']; $p9_SAF=0; $pa_MP = $order['order_type']; $pd_FrpId = ''; $pr_NeedResponse=1; $hmac = getReqHmacString($p0_Cmd,$p1_MerId,$p2_Order,$p3_Amt,$p4_Cur,$p5_Pid,$p6_Pcat,$p7_Pdesc,$p8_Url,$p9_SAF,$pa_MP,$pd_FrpId,$pr_NeedResponse,$merchantKey); $p5_Pid=urlencode($p5_Pid); $p6_Pcat=urlencode($p6_Pcat); $p7_Pdesc=urlencode($p7_Pdesc); $reqUrl='https://www.yeepay.com/app-merchant-proxy/node?p0_Cmd='.$p0_Cmd.'&p1_MerId='.$p1_MerId.'&p2_Order='.$p2_Order.'&p3_Amt='.$p3_Amt.'&p4_Cur='.$p4_Cur.'&p5_Pid='.$p5_Pid.'&p6_Pcat='.$p6_Pcat.'&p7_Pdesc='.$p7_Pdesc.'&p8_Url='.$p8_Url.'&p9_SAF='.$p9_SAF.'&pa_MP='.$pa_MP.'&pd_FrpId='.$pd_FrpId.'&pr_NeedResponse='.$pr_NeedResponse.'&hmac='.$hmac; return $reqUrl; }
/** * 生成支付代码 * @param array $order 订单信息 * @param array $payment 支付方式信息 */ function get_code($order, $payment) { include 'yeepaycommon.php'; $merchantKey = $payment['merchantKey']; // 密钥 $p0_Cmd = 'Buy'; $p1_MerId = $payment['p1_MerId']; // 商户号 $p2_Order = $order['order_sn']; //订单号 $p3_Amt = $order['order_amount']; $p4_Cur = 'CNY'; $p5_Pid = iconv("GB2312", "UTF-8", $order['subject']); $p6_Pcat = iconv("GB2312", "UTF-8", '真爱一生网服务'); $p7_Pdesc = iconv("GB2312", "UTF-8", '升级会员'); $p8_Url = $payment['p8_Url']; $p9_SAF = 0; $pa_MP = $order['order_type']; $pd_FrpId = '1000000-NET'; $pr_NeedResponse = 1; $hmac = getReqHmacString($p0_Cmd, $p1_MerId, $p2_Order, $p3_Amt, $p4_Cur, $p5_Pid, $p6_Pcat, $p7_Pdesc, $p8_Url, $p9_SAF, $pa_MP, $pd_FrpId, $pr_NeedResponse, $merchantKey); $reqUrl = "<html>\n<head>\n<title>please wait...</title>\n<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />\n</head>\n<body onLoad='document.yeepay.submit();'>\n<form name='yeepay' action='https://www.yeepay.com/app-merchant-proxy/node' method='post'>\n<input type='hidden' name='p0_Cmd'\t\t\t\t\tvalue='" . $p0_Cmd . "'>\n<input type='hidden' name='p1_MerId'\t\t\t\tvalue='" . $p1_MerId . "'>\n<input type='hidden' name='p2_Order'\t\t\t\tvalue='" . $p2_Order . "'>\n<input type='hidden' name='p3_Amt'\t\t\t\t\tvalue='" . $p3_Amt . "'>\n<input type='hidden' name='p4_Cur'\t\t\t\t\tvalue='" . $p4_Cur . "'>\n<input type='hidden' name='p5_Pid'\t\t\t\t\tvalue='" . $p5_Pid . "'>\n<input type='hidden' name='p6_Pcat'\t\t\t\t\tvalue='" . $p6_Pcat . "'>\n<input type='hidden' name='p7_Pdesc'\t\t\t\tvalue='" . $p7_Pdesc . "'>\n<input type='hidden' name='p8_Url'\t\t\t\t\tvalue='" . $p8_Url . "'>\n<input type='hidden' name='p9_SAF'\t\t\t\t\tvalue='0'>\n<input type='hidden' name='pa_MP'\t\t\t\t\t\tvalue='" . $pa_MP . "'>\n<input type='hidden' name='pd_FrpId'\t\t\t\tvalue='" . $pd_FrpId . "'>\n<input type='hidden' name='pr_NeedResponse'\tvalue='" . $pr_NeedResponse . "'>\n<input type='hidden' name='hmac'\t\t\t\t\t\tvalue='" . $hmac . "'>\n</form>\n</body>\n</html>"; return $reqUrl; }
$p6_Pcat = $_REQUEST['p6_Pcat']; # 商品描述 $p7_Pdesc = $_REQUEST['p7_Pdesc']; # 商户接收支付成功数据的地址,支付成功后易宝支付会向该地址发送两次成功通知. $p8_Url = $_REQUEST['p8_Url']; # 商户扩展信息 ##商户可以任意填写1K 的字符串,支付成功时将原样返回. $pa_MP = $_REQUEST['pa_MP']; # 支付通道编码 ##默认为"",到易宝支付网关.若不需显示易宝支付的页面,直接跳转到各银行、神州行支付、骏网一卡通等支付页面,该字段可依照附录:银行列表设置参数值. $pd_FrpId = $_REQUEST['pd_FrpId']; # 应答机制 ##默认为"1": 需要应答机制; $pr_NeedResponse = "1"; #调用签名函数生成签名串 $hmac = getReqHmacString($p2_Order, $p3_Amt, $p4_Cur, $p5_Pid, $p6_Pcat, $p7_Pdesc, $p8_Url, $pa_MP, $pd_FrpId, $pr_NeedResponse); ?> <html> <head> <title>To YeePay Page</title> </head> <body onLoad="document.yeepay.submit();"> <form name='yeepay' action='<?php echo $reqURL_onLine; ?> ' method='post'> <input type='hidden' name='p0_Cmd' value='<?php echo $p0_Cmd; ?> '>
function payment_bank() { global $_MooClass, $dbTablePre, $uid, $user_arr, $paymoney, $paymoney2, $payment_code, $activitytime1, $activitytime2, $urltestkey; if (empty($uid)) { header("location:index.php?n=login"); } $res_sid = $_MooClass['MooMySQL']->getOne("select sid from {$dbTablePre}members where uid='{$uid}'"); $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'); if (!in_array($channel, $pay_type)) { MooMessage('您选择的服务有误。', 'index.php?n=payment'); } if (empty($bank)) { if ($channel == 'pay_diamond') { MooMessage('请选择网上银行。', 'index.php?n=payment&h=channel_diamond'); } elseif ($channel == 'city_star') { MooMessage('请选择网上银行。', 'index.php?n=payment&h=city_star'); } elseif ($channel == 'pay_add_money') { MooMessage('请选择网上银行。', 'index.php?n=payment&h=add_money'); } else { MooMessage('请选择网上银行。', 'index.php?n=payment&h=channel'); } } $time = time(); $merchantKey = $payment_code['yeepay']['merchantKey']; $p0_Cmd = 'Buy'; $p1_MerId = $payment_code['yeepay']['p1_MerId']; $p2_Order = date('YmdHms', $time) . $uid; if ($channel == 'pay') { //note 高级会员 if ($time >= strtotime($activitytime1) && $time < strtotime($activitytime2)) { $p3_Amt = $paymoney2['vip']; } else { $p3_Amt = $paymoney['vip']; } $p5_Pid = iconv("UTF-8", "GB2312", '真爱一生网高级会员'); $pa_MP = '1'; //0钻石会员 1高级会员 2城市之星 if ($user_arr['s_cid'] == '1') { $sql = "insert into {$dbTablePre}payment_new (uid,pay_type,pay_bank,order_id,status,pay_money,pay_service,apply_sid,apply_time,contact) values('{$uid}','2','yeepay','{$p2_Order}','0','{$p3_Amt}','3','{$sid}','{$time}','{$user_arr['telphone']}')"; } else { $sql = "insert into {$dbTablePre}payment_new (uid,pay_type,pay_bank,order_id,status,pay_money,pay_service,apply_sid,apply_time,contact) values('{$uid}','2','yeepay','{$p2_Order}','0','{$p3_Amt}','1','{$sid}','{$time}','{$user_arr['telphone']}')"; } $_MooClass['MooMySQL']->query($sql); } elseif ($channel == 'city_star') { if ($time >= strtotime($activitytime1) && $time < strtotime($activitytime2)) { $p3_Amt = $paymoney2['citystar']; } else { $p3_Amt = $paymoney['citystar']; } $p5_Pid = iconv("UTF-8", "GB2312", '真爱一生网城市之星'); $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,apply_time,contact) values('{$uid}','2','yeepay','{$p2_Order}','0','{$p3_Amt}','2','{$sid}','{$time}','{$user_arr['telphone']}')"; $_MooClass['MooMySQL']->query($sql); } elseif ($channel == 'pay_diamond') { //note 钻石会员 if ($time >= strtotime($activitytime1) && $time < strtotime($activitytime2)) { $p3_Amt = $paymoney2['diamond']; } else { $p3_Amt = $paymoney['diamond']; } $p5_Pid = iconv("UTF-8", "GB2312", '真爱一生网钻石会员'); $pa_MP = '0'; $sql = "insert into {$dbTablePre}payment_new (uid,pay_type,pay_bank,order_id,status,pay_money,pay_service,apply_sid,apply_time,contact) values('{$uid}','2','yeepay','{$p2_Order}','0','{$p3_Amt}','0','{$sid}','{$time}','{$user_arr['telphone']}')"; $_MooClass['MooMySQL']->query($sql); } elseif ($channel == 'pay_add_money') { //note 补款 if ($time >= strtotime($activitytime1) && $time < strtotime($activitytime2)) { $p3_Amt = $paymoney2['add_money']; } else { $p3_Amt = $paymoney['add_money']; } $p5_Pid = iconv("UTF-8", "GB2312", '高级会员升级钻石会员'); $pa_MP = 5; $sql = "insert into {$dbTablePre}payment_new (uid,pay_type,pay_bank,order_id,status,pay_money,pay_service,apply_sid,apply_time,contact) values('{$uid}','2','yeepay','{$p2_Order}','0','{$p3_Amt}','5','{$sid}','{$time}','{$user_arr['telphone']}')"; $_MooClass['MooMySQL']->query($sql); } $p4_Cur = 'CNY'; $p6_Pcat = iconv("UTF-8", "GB2312", '真爱一生网服务'); $p7_Pdesc = iconv("UTF-8", "GB2312", '升级会员'); $p8_Url = $payment_code['yeepay']['p8_Url']; $p9_SAF = 0; $pd_FrpId = $bank; $pr_NeedResponse = 1; //启用应答机制 $merchantKey = $payment_code['yeepay']['merchantKey']; include "./module/payment/yeepaycommon.php"; //note 调用签名函数生成签名串 $hmac = getReqHmacString($p0_Cmd, $p1_MerId, $p2_Order, $p3_Amt, $p4_Cur, $p5_Pid, $p6_Pcat, $p7_Pdesc, $p8_Url, $p9_SAF, $pa_MP, $pd_FrpId, $pr_NeedResponse, $merchantKey); // echo $hmac;exit; $jump = "<html>\n<head>\n<title>please wait...</title>\n<meta http-equiv='Content-Type' content='text/html; charset=gb2312' />\n</head>\n<body onLoad='document.yeepay.submit();'>\n<form name='yeepay' action='https://www.yeepay.com/app-merchant-proxy/node' method='post'>\n<input type='hidden' name='p0_Cmd' value='" . $p0_Cmd . "'>\n<input type='hidden' name='p1_MerId' value='" . $p1_MerId . "'>\n<input type='hidden' name='p2_Order' value='" . $p2_Order . "'>\n<input type='hidden' name='p3_Amt' value='" . $p3_Amt . "'>\n<input type='hidden' name='p4_Cur' value='" . $p4_Cur . "'>\n<input type='hidden' name='p5_Pid' value='" . $p5_Pid . "'>\n<input type='hidden' name='p6_Pcat' value='" . $p6_Pcat . "'>\n<input type='hidden' name='p7_Pdesc' value='" . $p7_Pdesc . "'>\n<input type='hidden' name='p8_Url' value='" . $p8_Url . "'>\n<input type='hidden' name='p9_SAF' value='0'>\n<input type='hidden' name='pa_MP' value='" . $pa_MP . "'>\n<input type='hidden' name='pd_FrpId' value='" . $pd_FrpId . "'>\n<input type='hidden' name='pr_NeedResponse' value='" . $pr_NeedResponse . "'>\n<input type='hidden' name='hmac' value='" . $hmac . "'>\n</form>\n</body>\n</html>"; echo $jump; }
function eposSale(array $bizArray, $actionURL, $merchantKey, $logName) { // 调用签名函数生成签名串 $ReqHmacString = getReqHmacString($bizArray, $logName, $merchantKey); // 组成请求串 $actionHttpString = HttpClient::buildQueryString($bizArray) . "&pr_NeedResponse=1" . "&hmac=" . $ReqHmacString; // echo $actionURL."?".$actionHttpString;exit; // 记录发起支付请求的参数 logurl("发起请求", $actionURL . "?" . $actionHttpString, $logName); // 发起支付请求 $pageContents = HttpClient::quickPost($actionURL, $actionHttpString); if ($GLOBALS['uid'] == '20310462') { echo $pageContents . "<br>"; } // 记录收到的提交结果 logurl("请求回写", $pageContents, $logName); $result = explode("\n", $pageContents); for ($index = 0; $index < count($result); $index++) { $result[$index] = trim($result[$index]); if (strlen($result[$index]) == 0) { continue; } $aryReturn = explode("=", $result[$index]); $sKey = $aryReturn[0]; $sValue = $aryReturn[1]; if ($sKey == "r0_Cmd") { $r0_Cmd = $sValue; } elseif ($sKey == "r1_Code") { $r1_Code = $sValue; } elseif ($sKey == "r2_TrxId") { $r2_TrxId = $sValue; } elseif ($sKey == "r6_Order") { $r6_Order = $sValue; } elseif ($sKey == "errorMsg") { $errorMsg = $sValue; } elseif ($sKey == "hmac") { $hmac = $sValue; } /* else{ return $result[$index]; } */ } $hmac = iconv("UTF-8", "GB2312", $hmac); // 进行校验码检查 取得加密前的字符串 $sbOld = ""; // 加入业务类型 $sbOld = $sbOld . $r0_Cmd; // 加入支付结果 $sbOld = $sbOld . $r1_Code; // 加入易宝支付交易流水号 $sbOld = $sbOld . $r2_TrxId; // 加入商户订单号 $sbOld = $sbOld . $r6_Order; $sNewString = HmacMd5($sbOld, $merchantKey, $logName); logurl("订单号:" . $r6_Order, "本地生成HMAC:" . $sNewString . "返回HMAC:" . $hmac, $logName); $uid = substruid($r6_Order, 14); $money = $bizArray['p3_Amt']; global $_MooClass, $dbTablePre; $sql_getpayid = "SELECT max(id) id FROM {$dbTablePre}payment_new WHERE order_id='{$r6_Order}'"; $getpayid = $_MooClass['MooMySQL']->getOne($sql_getpayid, true); $id = $getpayid['id']; $sql_p = "SELECT pay_service FROM {$dbTablePre}payment_new WHERE id='{$id}'"; $payservice = $_MooClass['MooMySQL']->getOne($sql_p, true); // if($money=='1899'){ // $attach='0'; // }elseif($money=='1399'){ // $attach='1'; // }elseif($money=='1399.00'){ // $attach='2'; // }else{ // $attach='1'; // } // if ($payservice['pay_service'] == '0') { $attach = '0'; } elseif ($payservice['pay_service'] == '1' || $payservice['pay_service'] == '3') { $attach = '1'; } elseif ($payservice['pay_service'] == '2') { $attach = '2'; } else { $attach = '1'; } if ($GLOBALS['uid'] == '20310462') { echo $sNewString; exit; } // 校验码正确 if ($sNewString == $hmac) { if ($r1_Code == "1") { logurl("请求成功", "本地生成HMAC:" . $sNewString . "返回HMAC:" . $hmac, $logName); //返回信息 数组表示 $paytime = date("Y.m.d H:i:s"); $payurl = array('pay' => '1', 'out_trade_no' => $r6_Order, 'paytime' => $paytime, 'bank_type' => '易宝支付', 'trade_state' => '0', 'get_img' => '05.gif', 'img' => $attach, 'total_fee' => $bizArray['p3_Amt'], 'uid' => $uid); //会员ID $payurl = implode(',', $payurl); $payurl = $payurl . ',yeepay'; header("Location:./../../index.php?n=payment&h=payreturnurl&payurl=" . $payurl); return; } elseif ($r1_Code == "66") { $errorinfo = iconv("GB2312", "UTF-8", "订单金额过小!"); } elseif ($r1_Code == "30001") { $errorinfo = iconv("GB2312", "UTF-8", "填写信息格式有误!"); } elseif ($r1_Code == "3002") { $errorinfo = iconv("GB2312", "UTF-8", "创建订单异常!"); } elseif ($r1_Code == "3003") { $errorinfo = iconv("GB2312", "UTF-8", "创建交易异常!"); } elseif ($r1_Code == "3006") { $errorinfo = iconv("GB2312", "UTF-8", "提交失败!银行返回失败信息:{$errorMsg}!"); } elseif ($r1_Code == "3008") { $errorinfo = iconv("GB2312", "UTF-8", "卡号规则不符合!"); } elseif ($r1_Code == "3009") { $errorinfo = iconv("GB2312", "UTF-8", "卡号有误或不支持的银行!"); } elseif ($r1_Code == "3010") { $errorinfo = iconv("GB2312", "UTF-8", "查询信用卡类型出错!"); } elseif ($r1_Code == "3011") { $errorinfo = iconv("GB2312", "UTF-8", "日期格式错误!"); } elseif ($r1_Code == "-100") { $errorinfo = iconv("GB2312", "UTF-8", "未知错误!"); } else { $errorinfo = iconv("GB2312", "UTF-8", "提交失败,请检查后重新测试支付!"); } $trade_state = '1'; $payurl = array('pay' => '3', 'errorinfo' => $errorinfo, 'trade_state' => $trade_state); $payurl = implode(',', $payurl); $payurl = $payurl . ',yeepay'; header("Location:./../../index.php?n=payment&h=payreturnurl&payurl=" . $payurl); exit; } else { $trade_state = '1'; $errorinfo = iconv("GB2312", "UTF-8", "服务器出错!"); $payurl = array('pay' => '3', 'errorinfo' => $errorinfo, 'trade_state' => $trade_state); $payurl = implode(',', $payurl); $payurl = $payurl . ',yeepay'; header("Location:./../../index.php?n=payment&h=payreturnurl&payurl=" . $payurl); exit; } }
function pay_charge_yeepay($total_money, $charge_id, $title) { global $INI, $login_user; if ($total_money <= 0 || !$title) { return null; } require_once WWW_ROOT . '/order/yeepay/yeepayCommon.php'; $order_id = 'charge'; $p0_Cmd = 'Buy'; $p1_MerId = $INI['yeepay']['mid']; $p2_Order = $charge_id; $p3_Amt = $total_money; $p4_Cur = "CNY"; $p5_Pid = "ZuituGo-Charge({$total_money})"; $p6_Pcat = ''; $p5_Pdesc = "ZuituGo-Charge({$total_money})"; $p8_Url = $INI['system']['wwwprefix'] . '/order/yeepay/callback.php'; $p9_SAF = '0'; $pa_MP = ''; $pd_FrpId = strval($_REQUEST['pd_FrpId']); $pr_NeedResponse = '1'; $merchantKey = $INI['yeepay']['sec']; $hmac = getReqHmacString($p1_MerId, $p2_Order, $p3_Amt, $p4_Cur, $p5_Pid, $p6_Pcat, $p7_Pdesc, $p8_Url, $pa_MP, $pd_FrpId, $pr_NeedResponse, $merchantKey); return render('block_pay_yeepay', array('order_id' => $order_id, 'p0_Cmd' => $p0_Cmd, 'p1_MerId' => $p1_MerId, 'p2_Order' => $p2_Order, 'p3_Amt' => $p3_Amt, 'p4_Cur' => $p4_Cur, 'p5_Pid' => $p5_Pid, 'p6_Pcat' => $p6_Pcat, 'p7_Pdesc' => $p7_Pdesc, 'p8_Url' => $p8_Url, 'p9_SAF' => $p9_SAF, 'pa_MP' => $pa_MP, 'pd_FrpId' => $pd_FrpId, 'pr_NeedResponse' => $pr_NeedResponse, 'merchantKey' => $merchantKey, 'hmac' => $hmac)); }
function payment_bank() { global $_MooClass, $dbTablePre, $uid, $user_arr, $paymoney, $payment_code, $timestamp; if (empty($uid)) { header("login.html"); } $flag = true; $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_validateID', 'pay', 'pay_diamond', 'city_star', 'pay_add_money', 'pay_add_money_other', 'pay_platinum'); if (!in_array($channel, $pay_type)) { MooMessage('您选择的服务有误。', 'index.php?n=payment'); } $time = time(); $merchantKey = $payment_code['yeepay']['merchantKey']; $p0_Cmd = 'Buy'; $p1_MerId = $payment_code['yeepay']['p1_MerId']; $p2_Order = date('YmdHms', $time) . $uid; switch ($channel) { //note 高级会员 case 'pay': $p3_Amt = $paymoney['vip']; $p5_Pid = iconv("GB2312", "UTF-8", '真爱一生网高级会员'); $pa_MP = '1'; //0钻石会员 1高级会员 2城市之星 break; case 'city_star': $p3_Amt = $paymoney['citystar']; $p5_Pid = iconv("GB2312", "UTF-8", '真爱一生网城市之星'); $pa_MP = '2'; break; case 'pay_diamond': //note 钻石会员 $p3_Amt = $paymoney['diamond']; $p5_Pid = iconv("GB2312", "UTF-8", '真爱一生网钻石会员'); $pa_MP = '0'; break; case 'pay_add_money': //note 补款 $p3_Amt = $paymoney['add_money']; $p5_Pid = iconv("GB2312", "UTF-8", '高级会员升级钻石会员'); $pa_MP = 5; break; case 'pay_add_money_other': //note 补款 $p3_Amt = MooGetGPC('p3_Amt', 'integer', 'P'); $text = MooGetGPC('text', 'string', 'P'); $p5_Pid = iconv("GB2312", "UTF-8", $text); $pa_MP = 6; break; case 'pay_platinum': $p3_Amt = $paymoney['platinum']; $p5_Pid = iconv("GB2312", "UTF-8", '真爱一生网铂金会员'); $pa_MP = -1; break; case 'pay_validateID': $flag = false; $p3_Amt = 5.0; $p5_Pid = iconv("GB2312", "UTF-8", '身份通认证'); $pa_MP = 100; break; } if ($flag) { $sql = "insert into {$dbTablePre}payment_new (uid,pay_type,pay_bank,order_id,pay_money,pay_service,apply_sid,apply_time,contact) values('{$uid}','2','yeepay','{$p2_Order}','{$p3_Amt}','{$pa_MP}','{$sid}','{$time}','{$user_arr['telphone']}')"; $_MooClass['MooMySQL']->query($sql); $sid = $user_arr['sid']; $title = '您的会员' . $uid . '正在支付 '; //.$p5_Pid; $awoketime = $timestamp + 3600; $sql_remark = "insert into {$dbTablePre}admin_remark set sid='{$sid}',title='{$title}',content='{$title}',awoketime='{$awoketime}',dateline='{$timestamp}'"; $res = $_MooClass['MooMySQL']->query($sql_remark); } $p4_Cur = 'CNY'; $p6_Pcat = iconv("GB2312", "UTF-8", '真爱一生网服务'); $p7_Pdesc = iconv("GB2312", "UTF-8", '会员升级认证'); $p8_Url = $payment_code['yeepay']['p8_Url']; $p9_SAF = 0; $pd_FrpId = $bank; $pr_NeedResponse = 1; //启用应答机制 $merchantKey = $payment_code['yeepay']['merchantKey']; include "./module/payment/yeepaycommon.php"; //note 调用签名函数生成签名串 $hmac = getReqHmacString($p0_Cmd, $p1_MerId, $p2_Order, $p3_Amt, $p4_Cur, $p5_Pid, $p6_Pcat, $p7_Pdesc, $p8_Url, $p9_SAF, $pa_MP, $pd_FrpId, $pr_NeedResponse, $merchantKey); $jump = "<html>\n<head>\n<title>please wait...</title>\n<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />\n</head>\n<body onLoad='document.yeepay.submit();'>\n<form name='yeepay' action='https://www.yeepay.com/app-merchant-proxy/node' method='post'>\n<input type='hidden' name='p0_Cmd' value='" . $p0_Cmd . "'>\n<input type='hidden' name='p1_MerId' value='" . $p1_MerId . "'>\n<input type='hidden' name='p2_Order' value='" . $p2_Order . "'>\n<input type='hidden' name='p3_Amt' value='" . $p3_Amt . "'>\n<input type='hidden' name='p4_Cur' value='" . $p4_Cur . "'>\n<input type='hidden' name='p5_Pid' value='" . $p5_Pid . "'>\n<input type='hidden' name='p6_Pcat' value='" . $p6_Pcat . "'>\n<input type='hidden' name='p7_Pdesc' value='" . $p7_Pdesc . "'>\n<input type='hidden' name='p8_Url' value='" . $p8_Url . "'>\n<input type='hidden' name='p9_SAF' value='0'>\n<input type='hidden' name='pa_MP' value='" . $pa_MP . "'>\n<input type='hidden' name='pd_FrpId' value='" . $pd_FrpId . "'>\n<input type='hidden' name='pr_NeedResponse' value='" . $pr_NeedResponse . "'>\n<input type='hidden' name='hmac' value='" . $hmac . "'>\n</form>\n</body>\n</html>"; echo $jump; }
$needResponse = $jieqiPayset[JIEQI_PAY_TYPE]['needResponse']; //货币单位CNY $nodeAuthorizationURL = $jieqiPayset[JIEQI_PAY_TYPE]['payurl']; //货币单位CNY $merchantCallbackURL = $jieqiPayset[JIEQI_PAY_TYPE]['payreturn']; //货币单位CNY $messageType = $jieqiPayset[JIEQI_PAY_TYPE]['messageType']; //货币单位CNY $addressFlag = $jieqiPayset[JIEQI_PAY_TYPE]['addressFlag']; //货币单位CNY $merchant_url = $jieqiPayset[JIEQI_PAY_TYPE]['payreturn']; //商家接受支付结果的URL $commodity_info = urlencode(JIEQI_EGOLD_NAME); $pname = urlencode($_SESSION['jieqiUserName']); $keyValue = $jieqiPayset[JIEQI_PAY_TYPE]['paykey']; $mac = getReqHmacString($orderId, $amount, $cur, $productId, $productCat, $productDesc, $sMctProperties, $frpId, $needResponse); //对参数串进行私钥加密取得值 include_once JIEQI_ROOT_PATH . '/header.php'; include_once JIEQI_ROOT_PATH . '/lib/template/template.php'; $jieqiTpl =& JieqiTpl::getInstance(); $jieqiTpl->assign('url_pay', $jieqiPayset[JIEQI_PAY_TYPE]['payurl']); $jieqiTpl->assign('buyname', $_SESSION['jieqiUserName']); $jieqiTpl->assign('egold', $_REQUEST['egold']); $jieqiTpl->assign('egoldname', JIEQI_EGOLD_NAME); $jieqiTpl->assign('money', sprintf('%0.2f', $money / 100)); $jieqiTpl->assign('merchant_id', $merchantId); $jieqiTpl->assign('orderid', $orderId); $jieqiTpl->assign('amount', $amount); $jieqiTpl->assign('cur', $cur); $jieqiTpl->assign('merchant_url', $merchant_url); $jieqiTpl->assign('commodity_info', $commodity_info);