'epay_account', 'type' => 'text', 'value' => ''), array('name' => 'epay_key', 'type' => 'text', 'value' => '') ); return; } /** * 类 */ class epay { /** * 构造函数 * * @access public * @param * * @return void */ function epay() { } function __construct() { $this->epay(); } /** * 生成支付代码 * @param array $order 订单信息 * @param array $payment 支付方式信息 */ function get_code($order, $payment) { if (!defined('EC_CHARSET')) { $charset = 'utf-8'; } else { $charset = EC_CHARSET; } $parameter=array(); $parameter['MerNo']=$payment['epay_account']; $parameter['MD5key']=$payment['epay_key']; $parameter['Amount']= $order['order_amount']; $parameter['BillNo']= time().str_pad($order['log_id'], 10, "0", STR_PAD_LEFT); $parameter['ReturnURL'] = $GLOBALS['ecs']->url() . 'respond.php'; $parameter['NotifyURL'] = $GLOBALS['ecs']->url() . 'respond.php'; $parameter['PaymentType']= ""; $parameter['PayType']= "CSPAY";//CSPAY:网银支付; $sign_params = array( 'MerNo' => $parameter['MerNo'], 'BillNo' => $parameter['BillNo'], 'Amount' => $parameter['Amount'], 'ReturnURL' => $parameter['ReturnURL'], ); $sign_str = ""; ksort($sign_params); foreach ($sign_params as $key => $val) { $sign_str .= sprintf("%s=%s&", $key, $val); } $parameter['MD5info']= strtoupper(md5($sign_str. strtoupper(md5($parameter['MD5key'])))); $parameter['MerRemark']='epay'; $parameter['products']='IphoneNike'; $button ='
'; foreach($parameter as $key=>$val) { $button .=''; } $button .='

'; return $button; } /** * 响应操作 */ function respond() { $payment = get_payment('epay'); $md5sign =''; $BillNo = $_POST["BillNo"]; $Amount = $_POST["Amount"]; $Succeed = $_POST["Succeed"]; $MD5info = $_POST["MD5info"]; $Result = $_POST["Result"]; $MerNo = $_POST['MerNo']; $MD5key = $payment['epay_key']; $MerRemark = $_POST['MerRemark']; //自定义信息返回 $sign_params = array( 'MerNo' => $MerNo, 'BillNo' => $BillNo, 'Amount' => $Amount, 'Succeed' => $Succeed ); $sign_str = ""; ksort($sign_params); foreach ($sign_params as $key => $val) { $sign_str .= sprintf("%s=%s&", $key, $val); } $md5sign= strtoupper(md5($sign_str. strtoupper(md5($MD5key)))); if($md5sign==$MD5info && $Succeed!='88') { return false; } elseif($md5sign==$MD5info && $Succeed=='88') { /* 改变订单状态 */ $order_sn=substr($BillNo,-10); $order_sn=intval($order_sn); order_paid($order_sn); return true; } else { return false; } } } ?>