长话短说,本文根据支付宝官方说明文档,简单总结下,并且说明下开发过程碰到的问题以及该如何解决。
整合步骤:
1 登录商家服务网站,下载开发包,地址:https://b.alipay.com/order/techService.htm, 下方选择“移动支付”
2 下载的开发包里面包含整合文档《支付宝钱包支付接口开发包2.0标准版.pdf》《支付宝钱包支付接口开发包2.0标准版接入与使用规则.pdf》
3 开发人员都请先看下《支付宝钱包支付接口开发包2.0标准版.pdf》 第2点交易流程:
流程说明(以 Android 平台为例):
(1) 第 第 2 步 调用支付接口:此消息就是本接口所描述的开发包提供的支付对象
PayTask,将商户订单信息传进pay方法唤起支付宝收银台,订单格式具体参
见“5 请求参数说明”。
(2) 第 第 3 步:钱包支付开发包将会按照商户 App 提供的参数发送支付请求。
(3) 第 第 5 步 : 异步发送支付通知: 钱包支付服务器端发送异步通知消息给商户服务
器端,参见“7 服务器异步通知参数说明”。
(4) 第 第 7 步 接口返回支付结果:商户应用客户端通过当前调用支付的Activity的
Handler对象,通过它的回调函数获取支付结果,参见“6 同步通知参数说
明”。
(1) 构造订单数据并签名
商户客户端根据支付宝钱包支付开发包的接口规则, 通过程序生成得到签名结果及
要传输给支付宝钱包支付开发包的数据集合。
(2) 发送请求数据
把构造完成的数据集合传递给支付宝钱包支付开发包。
(3) 支付宝钱包支付开发包对请求数据进行处理
支付宝钱包支付开发包将请求数据根据业务规则包装后传递给支付宝服务端, 服务
端得到这些集合后, 会先进行安全校验等验证, 一系列验证通过后便会处理完成这
次发送过来的数据请求。
(4) 返回处理的结果数据
对于处理完成的交易, 支付宝会以两种方式把数据分别反馈给商户应用和商户服务
器。
? 在手机客户端上,开发包客户端直接把处理的数据结果反馈给商户客户端;
? 支付宝服务器主动发起通知,调用商户在请求时设定好的页面路径(参数
notify_url,如果商户没设定,则不会进行该操作)。
(5) 对获取的返回结果数据进行处理
商户在客户端同步通知接收模块或服务端异步通知接收模块获取支付宝返回的结
果数据后,可以结合商户自身业务逻辑进行数据处理(如:订单更新、自动充值到
会员账号中等)。同步通知结果仅用于结果展示,入库数据需以异步通知为准。
4 关于交易流程其实跟银联支付大同小异,如果不明白可以看下银联的交易流程:http://www.cnblogs.com/jager/p/4846376.html
5 理解完交易流程,接着建议先把开发包里面官方提供的alipay_demo运行起来,然后就差不多成功一半了,demo里面需要配置商户PID,商户收款账号,商户私钥pkcs8格式,关于如何生成私钥可以参考:https://cshall.alipay.com/support/help_detail.htm?help_id=397433&keyword=%25C8%25E7%25BA%25CE%25C9%25FA
6 接着看《支付宝钱包支付接口开发包2.0标准版接入与使用规则.pdf》5.2开发包集成流程