前言
这篇文章主要讲诉系统调用支付宝手机网页即时交易接口后支付宝返回的同步通知。
支付宝对商户的请求数据处理完成后,会将处理的结果数据通过系统程序控制客户端页面自动跳转的方式通知给商户网站。这些处理结果数据就是页面跳转同步通知参数。支付宝以GET方式访问商户网站(参数call_back_url,在“手机网页即时到账授权接口(alipay.wap.trade.create.direct)”中指定)。
html同步返回特性
- 支付宝处理完请求的数据后,当前界面会自动刷新,立刻显示处理结果;
- 处理一次请求,当前界面只跳转回来一次,即只返回一次处理结果;
- 由于没有参数return_url来设置页面跳转同步通知页面文件路径,因此显示处理结果的页面文件所在位置是在支付宝的服务器中,即当前页面路径地址是以支付宝的域名为开头;
- 该步骤可在本机电脑调试,无需到服务器上;
- 处理结果显示的格式是html格式;
- 可对这个html格式的处理结果进行html远程解析,使之能在支付宝处理结果时获取到相关处理结果数据,并对这个结果界面进行商户的业务逻辑处理;
- 本地电脑或商户服务器的配置上需支持html远程解析,如:需要支持SSL;
- 页面跳转后,浏览器地址栏中的链接仅在一分钟内有效,超过一分钟该链接地址会失效,导致该页面中商户编写的业务逻辑程序无法完成处理。
页面跳转同步通知页面特性
- 买家在支付成功后会看到一个支付宝提示交易成功的页面,该页面会停留几秒,然后会自动跳转回商户指定的同步通知页面(参数call_back_url)。
- 该页面中获得参数的方式,需要使用GET方式获取,如request.QueryString("out_trade_no")、$_GET[‘out_trade_no‘]。
- 该方式仅仅在买家付款完成以后进行自动跳转,因此只会进行一次。
- 该方式不是支付宝主动去调用商户页面,而是支付宝的程序利用页面自动跳转的函数,使用户的当前页面自动跳转。
- 该方式可在本机而不是只能在服务器上进行调试。
- 返回URL只有一分钟的有效期,超过一分钟该链接地址会失效,验证则会失败。
- 设置页面跳转同步通知页面(call_back_url)的路径时,不要在页面文件的后面再加上自定义参数。例如: 错误的写法:http://www.alipay.com/alipay/return_url.php?xx=11 正确的写法:http://www.alipay.com/alipay/return_url.php
- 由于支付宝会对页面跳转同步通知页面(call_back_url)的域名进行合法有效性校验,因此设置页面跳转同步通知页面(call_back_url)的路径时,不要设置成本机域名,也不能带有特殊字符(如“!”),如:
- 错误的写法:
- http://localhost/alipay/return_url.php http://localhost:80/alipay/return_url.php
- http://商户自定义地址/alipay/return!url.do
- 正确的写法:
- 能够正常访问的域名地址:http://商户自定义地址/alipay/return_url.php
- 能够正常访问的IP地址:http://121.1.1.255/alipay/return_url.ph
- http://localhost/alipay/return_url.php http://localhost:80/alipay/return_url.php
- http://商户自定义地址/alipay/return!url.do
- 能够正常访问的域名地址:http://商户自定义地址/alipay/return_url.php
- 能够正常访问的IP地址:http://121.1.1.255/alipay/return_url.ph
授权接口html同步返回参数说明
时间: 2024-10-12 22:08:49