我们的移动应用需要接入国内主流的三大移动支付接口:
- 银联手机支付
- 支付宝手机支付
- 微信移动支付
让我有机会了解了这三种支付接口的流程和开发,我们服务器端使用的是Golang,没有官方的库可以使用,不过庆幸的时官方都提供了加密和签名的说明,这样我们就可以自己实现加密和签名来调用支付接口。
银联手机支付
银联提供了测试的接口,当你在银联上注册成功后,会收到测试接口的相关信息,通过测试接口可以很方便的进行测试。
银联的移动支付接口调用流程是这样的:
- 签名订单信息
- 调用支付接口来获取TN
- 手机控件针对TN进行支付
- 手机接口返回
- 回调接口收到支付确认
微信手机支付
微信支付和银联支付流程类似,他也需要先签名自己的订单信息,然后向微信支付拿到一个prepay_id
,区别在拿到prepay_id
后服务器端还需要对这个prepay_id
做签名,然后才能发送给手机端,手机端调用支付控件时,需要这样的签名作为参数。
微信移动支付流程:
- 签名订单信息
- 获取预付单
prepay_id
- 签名
prepay_id
- 手机控件调用支付接口
Comments: