<?php
/**
 *  取得某支付方式信息
 *  @param  string  $code   支付方式代码
 */
function get_payment($code)
{
    $sql = "SELECT * FROM payment_type WHERE pay_code = '$code' AND status = 1";
    $payment = $GLOBALS['db']->getRow($sql);

    if ($payment)
    {
        $config_list = unserialize($payment['pay_config']);

        foreach ($config_list AS $config)
        {
            $payment[$config['name']] = $config['value'];
        }
    }

    return $payment;
}

/**
 * 检查支付的金额是否与订单相符
 *
 * @access  public
 * @param   string   $log_id      支付编号
 * @param   float    $money       支付接口返回的金额
 * @return  true
 */
function check_money($log_id, $money)
{
    $sql = "SELECT amount FROM onlinepay  WHERE oid = '$log_id'";
    $amount = $GLOBALS['db']->getOne($sql);

    if ($money == $amount)
    {
        return true;
    }
    else
    {
        return false;
    }
}
//网上支付返回
function online_pay_return($log_id, $pay_status = 1, $note = ''){
	$log_id = intval($log_id);
	if ($log_id <= 0) return "参数出错";
	/* 取得要修改的支付记录信息 */
	$sql = "SELECT * FROM onlinepay  WHERE oid = '$log_id'";
	$pay_log = $GLOBALS['db']->getRow($sql);
	if(!$pay_log) return "找不到该log记录";

	if($pay_log[payresult]) return 1; //如果是已经支付了, 直接返回
		
	/* 修改此次支付操作的状态为已付款 */
	 $sql = "UPDATE onlinepay  SET payresult = '1', datetime=NOW() WHERE oid = '$log_id'";
	 $GLOBALS['db']->query($sql);

	 /* 更新会员预付款的到款状态 */
	$sql="insert into financial set OnlineID='$log_id',UserName='$pay_log[UserName]',Amount='".abs($pay_log[amount])."',iStatus=1,About='网上支付(".$pay_log[paymode].")预付款($note)',dtCreate=now()";
	$GLOBALS['db']->query($sql);

	return 1;
}


/**
 * 取得返回信息地址
 * @param   string  $code   支付方式代码
 */
function return_url($code)
{
    return 'http://' . $_SERVER[HTTP_HOST] . '/user/onlinepay_result.php?code=' . $code. '&';
}
?>