'聚宝付(WAP支付)', 'partner_id' => '商户号', ); $config = array( 'partner_id' => array( 'INPUT_TYPE' => '0', ), ); /* 模块的基本信息 */ if (isset($read_modules) && $read_modules == true) { $module['class_name'] = 'Jubaopay'; /* 名称 */ $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'] = ''; return $module; } require_once APP_ROOT_PATH . 'system/libs/payment.php'; class Jubaopay_payment implements payment { public function get_payment_code($payment_notice_id) { $pay = array(); $pay['is_wap'] = 1;// $pay['class_name'] = "Jubaopay"; $pay['url'] =SITE_DOMAIN.APP_ROOT.'/mapi/index.php?ctl=pay&act=get_display_code&pay_code=Jubaopay¬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=Jubaopay¬ice_id='.$payment_notice_id, "is_wap"=>1 ) ); return $pay; } public function notify($request) { $payment = $GLOBALS['db']->getRow("select id,config from " . DB_PREFIX . "payment where class_name='Jubaopay'"); $payment['config'] = unserialize($payment['config']); require_once APP_ROOT_PATH . "system/payment/Jubaopay/jubaopay.php"; $jubaopay=new jubaopay(APP_ROOT_PATH . "system/payment/Jubaopay/jubaopay.ini"); $message=$request["message"]; $signature=$request["signature"]; $jubaopay->decrypt($message); // 校验签名,然后进行业务处理 $result=$jubaopay->verify($signature); if($result==1) { $payment_notice_sn = $jubaopay->getEncrypt("payid"); $outer_notice_sn = $jubaopay->getEncrypt("orderNo"); $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"; // 像服务返回 "success"; } else { echo "pay failed"; // 像服务返回 "success" } } else { echo "verify failed";; } } public function response($request) { $payment = $GLOBALS['db']->getRow("select id,config from " . DB_PREFIX . "payment where class_name='Jubaopay'"); $payment['config'] = unserialize($payment['config']); require_once APP_ROOT_PATH . "system/payment/Jubaopay/jubaopay.php"; $jubaopay=new jubaopay(APP_ROOT_PATH . "system/payment/Jubaopay/jubaopay.ini"); $message=$request["message"]; $signature=$request["signature"]; $jubaopay->decrypt($message); // 校验签名,然后进行业务处理 $result=$jubaopay->verify($signature); if($result == 1) { $payment_notice_sn = $jubaopay->getEncrypt("payid"); $outer_notice_sn = $jubaopay->getEncrypt("orderNo"); $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 '
支付成功!关闭当前页面
'; } else { echo '
支付成功,回调失败!关闭当前页面
'; } } else { echo '
支付成功,回调失败!关闭当前页面
'; } } public function get_display_code() { } public function display_code($payment_notice_id) { if($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'])); $payment_info['config'] = unserialize($payment_info['config']); $m_config = load_auto_cache("m_config"); $title_name = $m_config['ticket_name']; if($title_name=='')$title_name = '虚拟印币'; $subject = msubstr($title_name,0,40); require_once APP_ROOT_PATH . "system/payment/Jubaopay/jubaopay.php"; $jubaopay=new jubaopay(APP_ROOT_PATH . "system/payment/Jubaopay/jubaopay.ini"); $payid=$payment_notice['notice_sn']; $partnerid=$payment_info['config']['partner_id']; $amount=$money; $payerName=$payment_notice['user_id']; $remark=$subject; $returnURL= 'http://live.huangjiaxiuchang.com/callback/payment/jubaopay_response.php'; // 可在商户后台设置 $callBackURL= 'http://live.huangjiaxiuchang.com/callback/payment/jubaopay_notify.php'; // 可在商户后台设置 $goodsName=$subject; ////////////////////////////////////////////////////////////////////////////////////////////////// //商户利用支付订单(payid)和商户号(mobile)进行对账查询 $jubaopay->setEncrypt("payid", $payid); $jubaopay->setEncrypt("partnerid", $partnerid); $jubaopay->setEncrypt("amount", $amount); $jubaopay->setEncrypt("payerName", $payerName); $jubaopay->setEncrypt("remark", $remark); $jubaopay->setEncrypt("returnURL", $returnURL); $jubaopay->setEncrypt("callBackURL", $callBackURL); $jubaopay->setEncrypt("goodsName", $goodsName); $jubaopay->interpret(); $message=$jubaopay->message; $signature=$jubaopay->signature; $payLinks = '
'; $payLinks .= ''; $payLinks .= ''; $payLinks .= '
'; $payLinks .= ''; return $payLinks; } else { return ''; } } }