www.gusucode.com > OurPHP傲派企业+电商建站系统PHP版 v1.6.1源码程序 > ourphp_v1.6.1.20160606/function/api/alipay_webpay/return_url.php

    <?php
/* * 
 * 功能:支付宝页面跳转同步通知页面
 * 版本:3.3
 * 日期:2012-07-23
 * 说明:
 * 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
 * 该代码仅供学习和研究支付宝接口使用,只是提供一个参考。

 *************************页面功能说明*************************
 * 该页面可在本机电脑测试
 * 可放入HTML等美化页面的代码、商户业务逻辑程序代码
 * 该页面可以使用PHP开发工具调试,也可以使用写文本函数logResult,该函数已被默认关闭,见alipay_notify_class.php中的函数verifyReturn
 */
 
require_once("../../../config/ourphp_code.php");
require_once("../../../config/ourphp_config.php");
require_once("ourphpapi.php");
require_once("alipay.config.php");
require_once("lib/alipay_notify.class.php");
?>
<!DOCTYPE HTML>
<html>
    <head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
//计算得出通知验证结果
date_default_timezone_set('Asia/Shanghai'); //设置时区
$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyReturn();
if($verify_result) {//验证成功
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//请在这里加上商户的业务逻辑程序代码
	
	//——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
    //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表

	//商户订单号

	$out_trade_no = $_GET['out_trade_no'];

	//支付宝交易号

	$trade_no = $_GET['trade_no'];

	//交易状态
	$trade_status = $_GET['trade_status'];

	//金额
	$total_fee = $_GET['total_fee'];
	
	//备注
	$body = $_GET['body'];

    if($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
		//判断该笔订单是否在商户网站中已经做过处理
		//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
		//如果有做过处理,不执行商户的业务程序
    }
    else {
      echo "trade_status=".$_GET['trade_status'];
    }
		
	//OURPHP 账户充值逻辑
	//支付验证
	$ourphppay = explode('|',$body);
	if(md5($ourphppay[1].$ourphp_safecode) != $ourphppay[2]){
		echo '支付验证出错!~';
		exit;
	}
	
	//判断此订单是否存在,如果存在证明已充值过.
	$query=mysql_query("SELECT id FROM `ourphp_userpay` WHERE `OP_Uservoucherone` = '".$out_trade_no."' && `OP_Uservouchertwo` = '".$trade_no."'");
	$num=mysql_num_rows($query);
	
	if($num > 0){
		//订单已存在!
	
	}else{
		
		//获取会员账号
		$query=mysql_query("SELECT `OP_Useremail` FROM `ourphp_user` WHERE `id` = ".$ourphppay[1]);
		$rs=mysql_fetch_array($query);
		//写入充值记录
		$query=mysql_query("insert into `ourphp_userpay` set `OP_Useremail` = '".$rs[0]."',`OP_Usermoney` = '".$total_fee."',`OP_Usercontent` = '订单号:".$out_trade_no."<br />交易号:".$trade_no."<br />交易状态:".$trade_status."<br />用户备注:".$ourphppay[0]."',`OP_Useradmin` = '用户在线充值',`time` = '".date("Y-m-d H:i:s")."',`OP_Uservoucherone` = '".$out_trade_no."',`OP_Uservouchertwo` = '".$trade_no."'");
		//写入充值金额
		$query=mysql_query("update `ourphp_user` set `OP_Usermoney` = `OP_Usermoney` + '".$total_fee."' where `id` = ".$ourphppay[1]);
		//充值成功
		echo "充值成功,3秒跳回会员中心!";
		echo '<meta http-equiv="Refresh" content="2;URL='.$ourphp_webpath.'client/user/" />';
	
	}
	
}
else {
    //验证失败
    //如要调试,请看alipay_notify.php页面的verifyReturn函数
    echo "验证失败";
}
?>
        <title>支付宝纯网关接口</title>
	</head>
    <body>
    </body>
</html>