if($bRet){
if($r1_Code=="1"){ # 需要比较返回的金额与商家数据库中订单的金额是否相等,只有相等的情况下才认为是交易成功.
# 并且需要对返回的处理进行事务控制,进行记录的排它性处理,防止对同一条交易重复发货的情况发生. if($r9_BType=="1"){
echo "交易成功";
echo  "<br />在线支付页面返回";
}elseif($r9_BType=="2"){
#如果需要应答机制则必须回写流,以success开头,大小写不敏感.
echo "success";
//echo "<br />交易成功";
//echo  "<br />在线支付服务器返回";
mysql_connect("localhost","root","root");
mysql_select_db("yeepay");
mysql_query("set names gbk");
mysql_query("update users set users_payin=1 where users_order_num='".$_REQUEST['r6_Order']."'");
}
}}else{
echo "交易信息被篡改";
}
这是成功或易宝服务器调用页面,支付成功后数据库里面的users_payin 不会被置1,但是我再次支付成功后会把前一次记录的users_payin置1.
比如:第三次支付成功后 数据库记录了支付用户信息,但是没有吧支付情况置1,当进行第四次交易的时候,会把第三次交易的支付情况置1,而第四次依然没有没有置1。支付的时候每次都支付成功了。
上面的会写流是怎么回事?
在线等,请大家帮帮忙。

解决方案 »

  1.   

    原因找到了,服务器点对点通信延迟太大了,收到服务器传来的信息基本都在1分钟之后。这个正常么?
      

  2.   


    通信延迟 , 一分钟有点久, 
    ------------------------------先来确定是本身网速问题, 还是程序方面造成的在发送的页面加一个时间的参数, 传过来你接受页面, 对比一下看看用了多少时间 ?
      

  3.   

    易宝支付后不系统设置里可以设置返回时间的吧。