支付宝手机网页支付

本节主要描述支付宝手机网站支付,开发网址: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个字符信息,进行核对与验证,结束此次通知流程。 
注意: 
如果商户反馈给支付宝的字符不是success7个字符,支付宝服务器会不断重发通知,直到超过24小时22分钟。一般情况下 25 小时以内完成次通知(通知的间隔频率一般是:2m,10m,10m,1h,2h,6h,15h)。  

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


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值