前些日子有幸接触了支付宝服务窗的开发,总的来说,和微信的服务窗开发很像,老大确定的用HTML5+CSS3开发,来写一下自己的总结,Java方向。

后台用的servlet+jdbc的方式,因为功能很少,操作不多,逻辑处理也不多,就算套用大框架,也用不到那么全面的功能。总结主要说一下和支付宝相关的代码,其他部分暂可一带而过。

公私钥

首先,开发支付宝服务窗要有客户与支付宝谈成协议之后,在支付宝服务窗页面用指定的账户登录后,第一步要做的,就是激活开发者模式。这里需要用到的三个值,支付宝公钥、开发者公钥、开发者私钥,支付宝公钥是开发者模式页面提供的,开发者公私钥是用支付宝提供的工具计算生成的,其中,私钥要再进一步转化成pkcs8格式,才能进行java开发,当然,所有的这些都是用支付宝工具生成,按照给定的指定输入到cmd窗口就可以。

支付宝网关和开发者网关

这两个概念要区分,支付宝网关是支付宝提供的网关地址,开发者网关是需要由我们开发部署的网关地址,那么我们做的就是一个servlet,部署到外网服务器上之后,就可以与支付宝网关交换数据,以达到激活网关的效果。

激活开发者模式

开发者网关并非一定要servlet,只不过我们写java后台,用servlet来与支付宝交互数据很方便。开发者模式的激活,要求开发者网关直接返回一个支付宝指定的消息,这条消息具体应该如何编写,公私钥以及如何签名,在支付宝的开发文档里都有详细写明,这里不再进一步描述。按照要求写好返回消息之后,在开发者模式页面填写相关信息,就会提示激活成功。

菜单配置

支付宝服务窗口所有按钮的反应模式,都由link out alipay 这三种反应模式,即参数中的actionType

link:顾名思义,直接弹出一个页面,支付宝不做任何消息操作,也不接收任何传值的行为,弹出的页面地址由配置菜单时指定,写在actionParam中。

out:当菜单中的反应模式配置为out时,即支付宝要发送一个消息到开发者网关,由开发者网关识别消息并进行响应,此时actionParam中配置的参数为开发者自己指定的字符串(如:actionParam:ZFB_01),如果开发者网关对这个消息不做任何响应,那么支付宝手机钱包会报出网络异常的提示。

alipay:这种方式是调用支付宝已开发好了的服务,只能在开发者平台上配置,如地图功能等,但是说实话,感觉不好用。。。地图不如自己写页面来的方便。

支付宝消息

支付宝所有消息,都有request和response构成,成对出现,而且有特定的格式,如果request发送之后没有response,则会报出网络异常的错误。

每一种request和response都有指定的格式,有必填项,有可选项,response有一个最简短的构造方式,不做任何处理,只是回复一下支付宝,可适用于大部分情况,具体构造形式需参考支付宝开发文档。

执行流程参考

那么当我们配置好开发者网关之后,servlet是这样执行的,当支付宝发送请求到我们的开发者网关,发送的request,既是servlet方法中的request,servlet中的request是由HttpServletRequest包装,为了方便我们获取,对request的解析,用了专门的方法:

[java] view plaincopy
  1. Map<String, String> params = new HashMap<String, String>();
  2. if(null != request){
  3. Set<String> paramsKey = request.getParameterMap().keySet();
  4. for(String key : paramsKey){
  5. params.put(key, request.getParameter(key));
  6. }
  7. }

这样做的好处是,将request中请求的具体内容变成一个较好操作的map对象,方便我们处理。

那么,按照上面的做法,我们获得了一个map对象,其中包含着支付宝发送来的请求,然后,我们需要根据请求的内容来判定此条请求是用来做什么的(比如:绑定,解绑,点击菜单等),那么我们需要一个分配器来解析这条请求的内容,有了分配器的众多的if else之后,对应的业务逻辑可以包装在执行器中,比如我获取到一个账户绑定的请求之后,我需要用执行器去解析这个请求的内容,识别为绑定请求之后,再进入对应的执行器, 由执行器同步返回一个账户绑定的response。

来源:http://blog.csdn.net/u012103056/article/details/40339585

支付宝公共服务窗开发总结相关推荐

  1. php支付宝接服务窗开发,支付宝服务窗配置教程

    百家CMS微商城V2.2版本新增支付宝服务窗对接功能,很多商城都不懂得怎么对接.官方发布这个对接教程,采用图文说明的方式帮助商家快速简单的配置好支付宝服务窗. 1.服务窗申请地址:fuwu.alipa ...

  2. JEECG支付宝服务窗开发培训视频

    为什么80%的码农都做不了架构师?>>>    JEECG支付宝服务窗开发培训视频 JEEWX 支付宝服务窗开发培训视频 讲师: 张加强 开课时间: 2016年12月06日开课 ** ...

  3. 蜻蜓设备+支付宝会员的开发笔记

    蜻蜓设备+支付宝会员的开发笔记 开发前准备 准备好要用的参数 一.上传会员卡模板需要的图片 二.创建会员卡模板 三.创建会员开卡表单模板 四.获取会员卡领卡投放链接 五.用户授权换取access_to ...

  4. 支付宝生活号开发(php)

    支付宝生活号开发(php) 鉴于支付宝生活号开发的Demo看起来比较乱,自己最近做了这个东西,所以就整理了一下,希望对你有点帮助! 激活开发者模式 class AlipayController ext ...

  5. PI Function Library 应用,公共UDF开发

    PI Function Library 应用,公共UDF开发 PI7.1以前开发时每一个SWCV namespace 都需要独立开发,不能实现程序员所常用的方法共用,7.1之后Function Lib ...

  6. 支付宝开放平台开发助手_支付宝:如何创建和接入支付宝电脑网站支付-新手必备...

    1.登录支付宝 1.打开支付宝官网,以"我是支付宝商家"用户登录 https://www.alipay.com/ 2.进入"产品中心",选择并申请支付类型 2. ...

  7. 【支付宝小程序控制硬件①】 申请个人支付宝小程序开发的个人账户,说说那些睬坑日志,集成mqtt协议在支付宝小程序,实现基本通讯!

    [支付宝小程序控制硬件①] 申请个人支付宝下程序开发的个人账户,认识支付宝小程序框架结构,做好智能控制第一步! 文章目录 一.前言: 二.回忆支付宝小程序移植的过程: 三.注册账号了解支付宝开发者工具 ...

  8. 支付宝移动支付开发错误集锦

    最近在做支付宝移动支付开发,在调起支付时总是报各种错,先后收到错误码ALI164,ALI38173等错误编码,其实当收到这些错误时多数是因为传入的参数和签名校验不正确.在开发时要注意以下几点: 1.用 ...

  9. 支付宝生活号开发中所遇到的困难及解决记录

    ヾ(๑╹◡╹)ノ" 写一篇文档记录下自己在支付宝生活号开发上遇到的一些困难. 作为一个第一次接触到支付宝生活号的小萌新,一开始是有点茫然无措的,啥都不懂怎么办呢? 当你是第一次开发生活号时, ...

最新文章

  1. 区块链开发指南_区块链钱包开发
  2. Ubuntu首次登入与在线求助man page总结
  3. 简明Python教程学习笔记_1_基本
  4. python递归查找_[Python]递归查找文件(最简洁)
  5. CSS可以实现可视化设计吗?要如何实现?
  6. sort降序shell_排序之希尔排序(shell sort)
  7. 1106 数组的复习 随堂笔记 c103
  8. Django主从数据库分离配置
  9. python右键弹出菜单编写_python实现应用程序在右键菜单中添加打开方式功能
  10. opencv中的图像拼接
  11. Java Drool规则引擎
  12. VUE项目配置UEditor集成秀米编辑器
  13. 盛世昊通上市美国纳斯达克,基建建设任重而道远
  14. 如何在电脑端免费下载歌曲?
  15. uni-app 分享给好友,生成小程序二维码海报
  16. html复选框打钩行变颜色,Excel 单元格打勾会变颜色,开发工具的复选框这样玩...
  17. Python实现EM
  18. 雷顿学院与与河北各地高校签署战略合作伙伴关系
  19. 概率论--贝叶斯法则
  20. 推荐系统实践读书笔记-02利用用户行为数据

热门文章

  1. 安徽大学计算机考研失败,回馈:2014年安徽大学计算机初试回忆题,我是雷锋,低调...
  2. Ranger中对hive添加policy字后,hive登录用户可用,hive密码不管用的问题解决,HiveServer2 Authentication Custom的编写
  3. 运维角度浅谈MySQL数据库优化(转自:2018-03-10 李振良 JAVA高级架构)
  4. 因为虚拟机导致的错误
  5. 表的插入、更新、删除、合并操作_21_合并表中数据
  6. Python基础概念_1_环境安装
  7. 深入浅出设计模式原则之接口隔离原则(ISP)
  8. 开发你的酷炫装备 Jetson TX1使用指南
  9. 用python简单处理图片(4):图像中的像素访问
  10. 056、macvlan网络结构分析(2019-03-25 周一)