<?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');
Beispiel #2
0
 /**
  * 返回是否实名认证
  * @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';
 }