'微易支付宝支付', 'payId' => '商户号', //'merchantAppId'=> '商户APPID', 'payKey'=> '商户密钥', ); $config = array( 'payId' => array( 'INPUT_TYPE' => '0', ), //商户编号 /*'merchantAppId' => array( 'INPUT_TYPE' => '0', ), //商户APPID*/ 'payKey' => array( 'INPUT_TYPE' => '0', ), //商户私钥 ); /* 模块的基本信息 */ if (isset($read_modules) && $read_modules == true) { $module['class_name'] = 'Vyi'; /* 名称 */ $module['name'] = $payment_lang['name']; /* 支付方式:1:在线支付;0:线下支付 2:仅wap支付 3:仅app支付 4:兼容wap和app*/ $module['online_pay'] = '4'; /* 配送 */ $module['config'] = $config; $module['lang'] = $payment_lang; $module['reg_url'] = 'http://pay.vyipay.cn/'; return $module; } // 支付模型 require_once(APP_ROOT_PATH.'system/libs/payment.php'); class Vyi_payment implements payment { public function get_payment_code($payment_notice_id) { $pay = array(); $pay['is_wap'] = 1;// $pay['class_name'] = "Vyi"; $pay['url'] = SITE_DOMAIN . APP_ROOT . '/mapi/index.php?ctl=pay&act=get_display_code&pay_code=Vyi¬ice_id=' . $payment_notice_id; $pay['sdk_code'] = array("pay_sdk_type" => "yjwap", "config" => array( "url" => SITE_DOMAIN . APP_ROOT . '/mapi/index.php?ctl=pay&act=get_display_code&pay_code=Vyi¬ice_id=' . $payment_notice_id, "is_wap" => 1 ) ); return $pay; } public function response($request) { } public function notify($request) { $payment = $GLOBALS['db']->getRow("select id,config from " . DB_PREFIX . "payment where class_name='Vyi'"); $config = unserialize($payment['config']); //require_once(APP_ROOT_PATH.'system/payment/Ispay/Ispay.class.php'); //$Ispay = new ispayService($config['payId'], $config['payKey']); //require_once("lib/vpay_notify.class.php"); require_once(APP_ROOT_PATH.'system/payment/Vyi/vpay_notify.class.php'); //商户ID $alipay_config['partner'] = $config['payId']; //商户KEY $alipay_config['key'] = $config['payKey']; //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ //签名方式 不需修改 $alipay_config['sign_type'] = strtoupper('MD5'); //字符编码格式 目前支持 gbk 或 utf-8 $alipay_config['input_charset']= strtolower('utf-8'); //访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http $alipay_config['transport'] = 'http'; //计算得出通知验证结果 $alipayNotify = new AlipayNotify($alipay_config); $verify_result = $alipayNotify->verifyNotify(); if($verify_result) {//验证成功 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //请在这里加上商户的业务逻辑程序代 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— //获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表 //商户订单号 $out_trade_no = $_GET['out_trade_no']; //微易支付交易号 $trade_no = $_GET['trade_no']; //交易状态 $trade_status = $_GET['trade_status']; //支付方式 $type = $_GET['type']; if ($_GET['trade_status'] == 'TRADE_SUCCESS') { $payment_notice_sn = $out_trade_no; $outer_notice_sn = $trade_no; $payment_notice = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment_notice where notice_sn = '" . $payment_notice_sn . "'"); require_once APP_ROOT_PATH . "system/libs/cart.php"; $rs = payment_paid($payment_notice['notice_sn'],$outer_notice_sn); if($rs['status']==1){ echo 'SUCCESS'; } else { echo 'callbackSign fail!'; } } //——请根据您的业务逻辑来编写程序(以上代码仅作参考)—— echo "success"; //请不要修改或删除 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } else { //验证失败 echo "fail"; } //设置时区 //date_default_timezone_set('Asia/Shanghai'); //接受ISPAY通知返回的支付渠道 /*$Array['payChannel'] = $request['payChannel']; //(支付通道) //接受ISPAY通知返回的支付金额 $Array['Money'] = $request['Money']; //(单位分) //接受ISPAY通知返回的订单号 $Array['orderNumber'] = $request['orderNumber']; //(商户订单号) //接受ISPAY通知返回的附加数据 $Array['attachData'] = $request['attachData']; //(商户自定义附加数据) //接受ISPAY通知返回的回调签名 $Array['callbackSign'] = $request['callbackSign']; //(详情查看ISPAY开发文档) //回调签名校验 if($Ispay->callbackSignCheck($Array)){ //回调请求校验 (有效预防商户泄露payKey导致回调签名遭到破解的另一种校验方式,弊端会影响回调的成功率,要求安全性建议开启。) 开启请将下方注释//去掉 //if(!$Ispay->callbackRequestCheck($Array)){echo "fail!";exit;} //<--------------------------商户业务代码写在下方--------------------------> $payment_notice_sn = $request['orderNumber']; $outer_notice_sn = ''; $payment_notice = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment_notice where notice_sn = '" . $payment_notice_sn . "'"); require_once APP_ROOT_PATH . "system/libs/cart.php"; $rs = payment_paid($payment_notice['notice_sn'],$outer_notice_sn); if($rs['status']==1){ echo 'SUCCESS'; } else { echo 'callbackSign fail!'; } //<--------------------------商户业务代码写在上方--------------------------> //下方输出是告知ISPAY服务器业务受理成功,请不要修改下方输出内容,否则会导致重复通知,ISPAY服务器会在24小时内通知8次,输出SUCCESS则不再进行通知 //echo "SUCCESS"; }else{ echo "callbackSign fail!"; exit; } */ } function get_display_code(){ } public function display_code($payment_notice_id) { $payment_notice = $GLOBALS['db']->getRow("select * from ".DB_PREFIX."payment_notice where id = ".$payment_notice_id); $money = round($payment_notice['money'],2); $payment_info = $GLOBALS['db']->getRow("select id,config,logo from ".DB_PREFIX."payment where id=".intval($payment_notice['payment_id'])); $config = unserialize($payment_info['config']); $order_sn = $payment_notice['notice_sn']; //require_once 'lib/Ispay.class.php'; require_once(APP_ROOT_PATH.'system/payment/Vyi/vpay_submit.class.php'); //$Ispay = new ispayService($config['payId'], $config['payKey']); //支付通道 if (isset($_GET['payChannel'])) { $Request['payChannel'] = $_GET['payChannel']; } else { $Request['payChannel'] = "alipay"; } $m_config = load_auto_cache("m_config"); $title_name = $m_config['ticket_name']; if($title_name=='') $title_name = '虚拟印币'; if(empty($title_name)) { $title_name = "充值".round($payment_notice['money'],2)."元"; } //商户ID $alipay_config['partner'] = $config['payId']; //商户KEY $alipay_config['key'] = $config['payKey']; //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ $alipay_config['type'] = "wxpay"; //签名方式 不需修改 $alipay_config['sign_type'] = strtoupper('MD5'); //字符编码格式 目前支持 gbk 或 utf-8 $alipay_config['input_charset']= strtolower('utf-8'); //访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http $alipay_config['transport'] = 'http'; //支付API地址 $alipay_config['apiurl'] = 'http://pay.vyipay.cn/'; //构造要请求的参数数组,无需改动 $parameter = array( "pid" => trim($alipay_config['partner']), "notify_url" => 'http://live.huangjiaxiuchang.com/callback/payment/vyi_notify.php', "return_url" => 'http://live.huangjiaxiuchang.com/callback/payment/vyi_response.php', "out_trade_no" => $order_sn, "name" => $title_name, "money" => $money, ); //建立请求 $alipaySubmit = new AlipaySubmit($alipay_config); $html_text = $alipaySubmit->buildRequestForm($parameter); return $html_text; $Request['type'] = "wxpay"; /*$post_url = "http://pay.vyipay.cn/submit.php"; //商户编号 $Request['pid'] = $config['payId']; //随机生成订单号 $Request['out_trade_no'] = $order_sn; //异步通知地址 $Request['notify_url'] = SITE_DOMAIN . '/callback/payment/vyi_notify.php'; //客户端同步跳转通知地址 $Request['Return_url'] = SITE_DOMAIN .'/callback/payment/vyi_response.php'; //订单标题 $Request['name'] = $title_name; //交易金额(单位分) $Request['money'] = intval($money * 100); //签名(加密算法详见开发文档) $Request['sign'] = $Ispay -> Sign($Request); //加密方式 $Request['sign_type'] = "MD5"; //附加数据(没有可不填) //$Request['attachData'] = ""; $payLinks = '
'; $payLinks .= ''; $payLinks .= ''; $payLinks .= ''; $payLinks .= ''; $payLinks .= ''; $payLinks .= ''; $payLinks .= ''; $payLinks .= ''; $payLinks .= ''; $payLinks .= '
'; $payLinks .= ''; return $payLinks;*/ } } ?>