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>