Example #1
0
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;
}
Example #2
0
 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;
 }
Example #3
0
	/**
	 * 生成支付代码
	 * @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;
	}
Example #4
0
 /**
  * 生成支付代码
  * @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;
 }
Example #5
0
$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;
?>
'>
Example #6
0
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;
}
Example #7
0
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;
    }
}
Example #8
0
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));
}
Example #9
0
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;
}
Example #10
0
 $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);