<?php define('SCR', 'act_alipay_push'); require_once 'global.php'; S::gp(array('action')); require_once R_P . 'lib/activity/alipay.php'; $service = $action; $AlipayInterface = new AlipayInterface($service); if ($action == 'user_authentication') { //身份验证 $param = array('return_url' => "{$db_bbsurl}/act_alipay_receive.php?action={$action}"); ObHeader($AlipayInterface->alipayurl($param)); } elseif ($action == 'confirm_aa_detail_payment') { //订单支付 S::gp(array('actuid', 'tid', 'fromuid', 'actmid'), GP, 2); $memberdb = $db->get_one("SELECT am.uid,am.username,am.ifpay,am.isrefund,am.out_trade_no,am.totalcash,am.ifanonymous,t.authorid FROM pw_activitymembers am LEFT JOIN pw_threads t USING(tid) WHERE am.actuid=" . S::sqlEscape($actuid)); L::loadClass('ActivityForBbs', 'activity', false); $postActForBbs = new PW_ActivityForBbs($data); $data = array(); $memberdb['authorid'] == $winduid && Showmsg('act_toalipay_authorid'); //发起人无法替别人支付 $isAdminright = $postActForBbs->getAdminRight($memberdb['authorid']); if ($memberdb['isrefund'] || $memberdb['ifanonymous'] && !$isAdminright && $memberdb['uid'] != $winduid) { //退款的无法支付、匿名但没有权限的无法支付 Showmsg('act_toalipay_error'); } $memberdb['ifpay'] != 0 && Showmsg('act_toalipay_payed'); //只有未支付状态才可以支付 if (!$memberdb['totalcash'] || !preg_match("/^(([1-9]\\d*)|0)(\\.\\d{0,2})?\$/", $memberdb['totalcash'])) { //费用错误 Showmsg('act_toalipay_cash_error');
/** * 返回是否实名认证 * @param int $uid 用户id * @return string T * @access private */ function user_query($uid) { $userService = L::loadClass('UserService', 'user'); /* @var $userService PW_UserService */ $userInfo = $userService->get($uid, false, false, true); $tradeinfo = $userInfo['tradeinfo']; $tradeinfo = unserialize($tradeinfo); $alipay = $tradeinfo['alipay']; $isBinded = $tradeinfo['isbinded']; $user_id = $tradeinfo['user_id']; if ($alipay && $isBinded == 'T' && $user_id) { require_once R_P . 'lib/activity/alipay.php'; $AlipayInterface = new AlipayInterface('user_query'); $param = array('user_id' => $user_id); require_once R_P . 'require/posthost.php'; $xml_parser = xml_parser_create(); $returnResult = PostHost($AlipayInterface->alipayurl($param), '', 'POST'); //获取XML值 xml_parse_into_struct($xml_parser, $returnResult, $arr_vals); xml_parser_free($xml_parser); foreach ($arr_vals as $value) { if ($value['tag'] == 'IS_SUCCESS') { $is_success = $value['value']; } elseif ($value['tag'] == 'SIGN') { $sign = $value['value']; } elseif ($value['tag'] == 'IS_CERTIFIED') { $is_certified = $value['value']; } } if ($is_success == 'T' && $is_certified == 'T') { $tradeinfo['iscertified'] = 'T'; $tradeinfo = addslashes(serialize($tradeinfo)); $userService = L::loadClass('UserService', 'user'); /* @var $userService PW_UserService */ $userService->update($uid, array(), array(), array('tradeinfo' => $tradeinfo)); return $is_certified; } } return 'F'; }