支付宝手机网页支付

本节主要描述支付宝手机网站支付,开发网址: https://b.alipay.com/order/productDetail.htm?productId=2013080604609688 ,光找这个找了半天,呵呵

在网页中部有四个标签页,选择“技术集成”,下载集成开发包,里面有相关的技术文档和三种语言的代码示例。代码示例中几乎集成了所有的代码逻辑,客户端及服务端只需要将代码拷入自己的项目即可。

手机网页支付产品由手机网页即时到账授权接口(alipay.wap.trade.create.direct)、手机网页即时到账交易接口(alipay.wap.auth.authandexecute)两个接口组成。必须先调用手机网页即时到账授权接口(alipay.wap.trade.create.direct)获得授权令牌,再调用手机网页即时到账交易接口(alipay.wap.auth.authandexecute)完成付款。

在手机网页即时到账授权接口(alipay.wap.trade.create.direct)中,提交方式仅支持POST。在手机网页即时到账交易接口(alipay.wap.auth.authandexecute)中,提交方式仅支持GET,在webview中载入交易接口的url和请求参数即会转入支付宝网页的支付界面。具体接口和请求参数的说明和使用在开发文档上已经介绍的很详细了,如果还有不明白的地方可以直接参考代码Demo,Java示例可以直接导入到Eclipse中运行起来,可以直接演示整个支付流程。需要注意的地方就是,因为是手机端网页接入,在电脑上用浏览器演示的时候,会提示" 为保障用户账户安全,禁止非手机访问 ",我用的是chrome浏览器,直接装上修改uagent的插件,更改为Android或其它客户端ua即可使用。

支付宝处理完请求后,分两种方式返回处理结果。一种是页面跳转同步通知。一种为服务器异步通知。下面主要讲一下这两种方式的不同。

返回页面( return_url 文件)工作原理 (同步通知)

即:商户系统请求 / 支付宝响应交互模式  

1 、  构造请求数据  
商户通过提供的接口代码示例,通过代码示例的规则,程序构造与运算得到 sign 加密结果以及构造后的请求给支付宝的数据集合。 GET 方式下是 URL 地址链接, POST 方式下是支付宝网关地址及参数集合。 
2 、  发送请求数据  
把构造完成的数据集合,通过页面链接跳转或表单提交的方式传递给支付宝。  
3 、  请求的交易  
支付宝得到这些集合后,会先做安全校验等验证,一系列验证通过后便会处理完成这次发送过来的数据请求。  
4 、  返回相应数据  
支付宝对处理完成的交易,程序上自动进行重新构造成 URL 地址链接,以自动跳转的方式跳回商家在请求时设定好的页面路径地址(参数 return_url ,商家没设定,则不会跳回)。 
5 、  对相应的数据进行处理
商家的返回页面(参数 return_url 指定页面文件)得到支付宝返回的数据,把这些数据结合自身网站情况,进行数据处理(如:订单更新)。  返回页面( notify_url 文件)工作原理  (服务器异步通知)
即:支付宝主动通知交互模式(支付宝反馈数据)  

前提 :若要支付宝能主动通知,需商户在请求时设定好通知的页面路径(参数 notify_url ),且该页面文件完全空白,无任何字符。 
1 、  发起通知  
一旦交易状态发生变更(如:买家已付款,等待卖家发货),支付宝便会根据自动进行数据处理,并主动调用商户在请求时设定好通知的页面路径(参数 notify_url ) 
2 、  对通知数据进行处理  
商户网站收到支付宝发送过来的通知数据,把这些数据结合自身网站情况,进行数据处理,如:处理返回页(参数 return_url )漏掉的订单,做订单更新,即补单措施。 
3 、  在页面上输出 success  
商户网站处理完成所有的数据处理以后,即程序运行最后,返回写页面 “success” 7 个字符(页面上只允许输出 success ),以表示自己已经成功处理完成自己的业务。 
4 、  完成处理该次通知,不再发送通知  
支付宝得到商户反馈回来的 “success”7 个字符信息,进行核对与验证,结束此次通知流程。 
注意:  
如果商户反馈给支付宝的字符不是 success 7 个字符,支付宝服务器会不断重发通知,直到超过 24 小时 22 分钟。一般情况下  25  小时以内完成 次通知(通知的间隔频率一般是 :2m,10m,10m,1h,2h,6h,15h )。   

同步返回( return_url )和异步返回( notify_url )的区别【 return_url notify_url 参数必须是两个返回处理文件的绝对路径】?
答:同步返回处理( return_url ):是一种可视化的返回,浏览器页面跳转通知,只要支付成功,支付宝通过 get 方式跳转到这个地址,并且带有参数给这个页面。客户获取信息受到买家操作的影响。如果买家支付完
成后客户服务器响应比较慢,买家在显示支付宝提示的 即时到账支付成功 时关闭页面,那么客户网站是获取不到信息,我们这边称为 掉单 。而且这个返回处理是一次性调取,即支付成功后才调取同步返回处理。
异步返回处理( notify_url ):它的数据交互是通过服务器间进行数据交互 , 必须将其放置在服务器上 ( 公网 ) 测试,服务器 post 消息到异步返回处理页面,需要客户技术在异步返回处理页面处理相关的数据处理
,然后每一步操作都要返回给支付宝 success (不能包含其他的 HTML 脚本语言,不可以做页面跳转。)这个返回处理如果集成 OK ,那么基本不会出现掉单,因为支付宝会在 24 小时之内分 6~10 次将订单信息返回
个给客户网站,直到支付宝捕获 success
备注:同步返回处理则会受到买家操作的影响:
假如买家在操作的时候,支付宝完毕进入支付宝提示成功页面,这个时候由于服务器相应比较慢,那么买家有可能会关闭这个页面,这个时候您们就会接受不到支付宝返回的信息,还有有些网银支付后也不会调取支付宝的同步返
回处理页面,这样您在同步做数据处理同样接受不到数据。

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章