支付宝 return_url和notify_url问题 急!

beckjin 2014-01-14 11:18:43
支付成功后会过几秒返回return_url,可是用户在没跳转回去前就关闭了这个窗口,那我写在return_url文件内的逻辑就不会执行,导致可能付款成功了,一些数据没生效

我实现的功能是支付成功后会向数据库插入数据,找了一些资料说可以在notify_url加上同样的逻辑代码,但我有点疑惑,如果用户每关闭窗口,这样会不会执行两次啊

求大神帮忙,可以解答详细点,谢谢了!!
...全文
863 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
九亿渣女的梦 2016-09-26
  • 打赏
  • 举报
回复
为什么一直不执行notify_url文件,急急急!
md5e 2014-01-15
  • 打赏
  • 举报
回复
在接收时肯定要先判断订单状态,如果订单状态已发生改变,肯定就不能再执行另一个,直接返回 return_url 是支付宝支付成功后直接跳转(bug:但成功支付后,突然中断,那么网站这边就无法收到支付的通知(断网,成功后关闭浏览器等)) 为了修复上边出现的bug,所以引入了notify_url 主动告知的服务,但由于某种原因,使对方没有能接收到支付状态的,支付宝这边直接不停的向网站发出通知,直到网站返回给支付宝为"已收到"的信号为止
myhope88 2014-01-15
  • 打赏
  • 举报
回复
你就判断一下再更新下,一个是同步更新的url,一个是异步通知的url,逻辑都一样嘛,那个异步通知的url本来就是为了解决,付款成功时,直接关闭页面时的方案
wangyuping_2007 2014-01-14
  • 打赏
  • 举报
回复
不大明白,帮顶一下
种草德鲁伊 2014-01-14
  • 打赏
  • 举报
回复
return_url是用户操作完以后在浏览器跳转,这个地址一般只用来显示结果,notify_url是异步发送过来的,真正需要处理业务逻辑的地方
.支付宝接口中需要修改参数的文件有 alipay_config.asp 文件,index.asp;买家付款成功后反馈的页面时 return_url(页面跳转),notify_url(后台通知);alipayto 不用修改. alipay_config.asp 文件中 seller_email,key,partner 对应的分别是支付宝帐号,安全校验码和合作id ,怎么获取建 alipay_config.asp 注释说明. index.asp 页面,需要传递参数到这个页面,需要传递的参数是 subject(商品名称),body(商品说明),out_trade_no(外部商家订单号.为了方便测试,我在index.asp这个页面采用的是以日期的形式的数字字符串,这个订单号必须保证提交给支付宝的时候是唯一的,否则支付不了) 2. return_urlnotify_url 的区别及其操作. 买家付款成功后,如果接口中指定有return_url ,买家付完款后会跳到 return_url所在的页面,这个页面可以展示给客户看,这个页面只有付款成功才会跳转. notify_url: 服务器后台通知,这个页面是程序后台运行的(买家和卖家都看不到),买家付完款后,支付宝会调用notify_url这个页面所在的页面并把相应的参数传递到这个页面,这个页面根据支付宝传递过来的参数修改网站订单的状态,更新完订单后需要在页面上打印出一个success 给支付宝,如果反馈给支付宝的不是success,支付宝会继续调用这个页面. 流程: 买家付完款(trade_status=WAIT_SELLER_SEND_GOODS)--->支付宝通知notify_url--->如果反馈给支付宝的是success(表示成功,这个状态下不再反馈,如果不是继续通知,一般第一次发送和第二次发送的时间间隔是3分钟) 剩下的过程,卖家发货,买家确认收货,交易成功都是这个流程
只要是通过认证的支付宝帐户均可实现在线支付。方便快捷,设置好自己的帐户,就可以在线实时收款了。 内附ASP,PHP,NET示例 使用方法: 在获得到对应的接口代码后 1、打开Config.asp 配置文件好您的支付宝帐号,注意!!!必须是要通过身份认证的方能使用,收款手续费百分之三。 2、把ASP代码发布到IIS 服务器中,直接访问index.asp文件为网银行直连,访问alipay.asp是直接到就可以到支付宝的收银台 3、对支付成功的订单信息,进行数据库的操作。 返回的机制有两种: 一种 return_url 即时返回,此返回是get方式。 二种 notify_url 通知返回,此返回时post方式,进行服务器点对点的通知机制。 注意:返回的地址中不能自定义携带参数。例如 http://www.alipay.com/return_Alipay_Notify.asp?xx=test 更多有关返回机制及区别请查看文档。 4、如果获得返回信息 在指定的两种返回接收的文件中 get或post获得 例如:return_url:返回设置文件中的return_Alipay_Notify.asp, 商户网站中传递给支付宝的订单号码-------request("out_trade_no") , 价格-------request("price") notify_url:返回设置文件中的Alipay_Notify.asp, 商户网站中传递给支付宝的订单号码-------request("out_trade_no") , 价格-------request("price") 5、用这个你们开发的支付宝接口资金安全吗? 我们是正规合法注册的公司,是我们自己和支付宝签约后,为了方便更多的网友能便捷使用支付宝在线支付接口而开发的,并非赢利产品。付款是直接到达的您所设置的支付宝帐户的。 6、如果两种方式都设置,就要判断交易的订单是否有更新过,因为两种返回机制不同。可能同时返回、或者有先后,注意订单更新时候要判断订单不能个重复更新。 买家付完款(trade_status=TRADE_FINISHED)在此状 态下进行数据库的更新。并返回给支付宝success。若没有得到success。 如有疑问,请联系QQ:399051063.

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧