Discuz教程网

[已解决]dzx2.0支付宝充值返回问题

[复制链接]
authicon qqiccc 发表于 2011-6-7 19:26:05 | 显示全部楼层 |阅读模式
在dz论坛无人理睬,求助于学习网


教程中说

2.3 返回数据处理
打开return_url(页面跳转同步通知)文件和notify_url(服务器异步通知)文件,分别在代码示例中注释指定位置增加商家网站自己的订单处理业务程序代码,即“//验证成功”这个判断中。

不知道怎么加网站自己的订单处理业务程序代码
求高手帮忙

以下是return_url文件

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

*************************页面功能说明*************************
* 该页面可在本机电脑测试
* 可放入HTML等美化页面的代码、商户业务逻辑程序代码
* 该页面可以使用PHP开发工具调试,也可以使用写文本函数AlipayFunction.logResult,该函数已被默认关闭,见alipay_notify_class.php中的函数verifyReturn

* TRADE_FINISHED(表示交易已经成功结束,为普通即时到帐的交易状态成功标识);
* TRADE_SUCCESS(表示交易已经成功结束,为高级即时到帐的交易状态成功标识);
*/

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=gb2312">
<?php
//计算得出通知验证结果
$alipayNotify = new AlipayNotify($aliapy_config);
$verify_result = $alipayNotify->verifyReturn();
if($verify_result) {//验证成功
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//请在这里加上商户的业务逻辑程序代码

//——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
    //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表
    $out_trade_no = $_GET['out_trade_no']; //获取订单号
    $trade_no  = $_GET['trade_no'];  //获取支付宝交易号
    $total_fee  = $_GET['total_fee'];  //获取总价格

    if($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
  //判断该笔订单是否在商户网站中已经做过处理(可参考“集成教程”中“3.4返回数据处理”)
   //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
   //如果有做过处理,不执行商户的业务程序
    }
    else {
      echo "trade_status=".$_GET['trade_status'];
    }
  
echo "验证成功<br />";
echo "trade_no=".$trade_no;

//——请根据您的业务逻辑来编写程序(以上代码仅作参考)——

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
else {
    //验证失败
    //如要调试,请看alipay_notify.php页面的return_verify函数,比对sign和mysign的值是否相等,或者检查$veryfy_result有没有返回true
    echo "验证失败";
}
?>
        <title>支付宝即时到帐接口</title>
</head>
    <body>
    </body>
</html>



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


*************************页面功能说明*************************
* 创建该页面文件时,请留心该页面文件中无任何HTML代码及空格。
* 该页面不能在本机电脑测试,请到服务器上做测试。请确保外部可以访问该页面。
* 该页面调试工具请使用写文本函数AlipayFunction.logResult,该函数已被默认关闭,见alipay_notify_class.php中的函数verifyNotify
* 如果没有收到该页面返回的 success 信息,支付宝会在24小时内按一定的时间策略重发通知

* TRADE_FINISHED(表示交易已经成功结束,为普通即时到帐的交易状态成功标识);
* TRADE_SUCCESS(表示交易已经成功结束,为高级即时到帐的交易状态成功标识);
*/
require_once("alipay.config.php");
require_once("lib/alipay_notify.class.php");
//计算得出通知验证结果
$alipayNotify = new AlipayNotify($aliapy_config);
$verify_result = $alipayNotify->verifyNotify();
if($verify_result) {//验证成功
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//请在这里加上商户的业务逻辑程序代

//——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
    //获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表
    $out_trade_no = $_POST['out_trade_no'];     //获取订单号
    $trade_no  = $_POST['trade_no'];      //获取支付宝交易号
    $total_fee  = $_POST['total_fee'];   //获取总价格
    if($_POST['trade_status'] == 'TRADE_FINISHED' ||$_POST['trade_status'] == 'TRADE_SUCCESS') {    //交易成功结束
  //判断该笔订单是否在商户网站中已经做过处理(可参考“集成教程”中“3.4返回数据处理”)
   //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
   //如果有做过处理,不执行商户的业务程序
        
  echo "success";  //请不要修改或删除
        //调试用,写文本函数记录程序运行情况是否正常
        //AlipayFunction.logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
    }
    else {
        echo "success";  //其他状态判断。普通即时到帐中,其他状态不用判断,直接打印success。
        //调试用,写文本函数记录程序运行情况是否正常
        //AlipayFunction.logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
    }
//——请根据您的业务逻辑来编写程序(以上代码仅作参考)——

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
else {
    //验证失败
    echo "fail";
    //调试用,写文本函数记录程序运行情况是否正常
    //AlipayFunction.logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
}
?>




最佳答案
avatar
2011-6-14 16:54:41
qqiccc 发表于 2011-6-8 12:31
充论坛交易积分的 充值也跳转回来,但是dz不给加积分

不是可以设置一种交易币的吗? 支付宝可以购买交易币的



上一篇:7.2 版主已阅的颜色以及个人中心用户组介绍的颜色
下一篇:请问xweibo_v2.0怎么和网站之间账号绑定
authicon dly 发表于 2011-6-7 20:38:11 | 显示全部楼层
你这主要是支付宝的问题吧,不太算DZ吧,你是想用支付宝充值什么东西?
authicon  楼主| qqiccc 发表于 2011-6-8 12:31:53 | 显示全部楼层
dly 发表于 2011-6-7 20:38
你这主要是支付宝的问题吧,不太算DZ吧,你是想用支付宝充值什么东西?

充论坛交易积分的 充值也跳转回来,但是dz不给加积分
authicon dly 发表于 2011-6-14 16:54:41 | 显示全部楼层    本楼为最佳答案   
qqiccc 发表于 2011-6-8 12:31
充论坛交易积分的 充值也跳转回来,但是dz不给加积分

不是可以设置一种交易币的吗? 支付宝可以购买交易币的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-7-1 21:05

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表