支付宝和微信
1、支付宝app支付
2、支付宝二维码支付
3、跳转支付地址支付
4、支付宝WAP支付(H5)
5、微信app支付
6、微信二维码支付
7、微信公众号JSAPI支付
8、微信WAP支付(H5)
9、微信小程序支付
实现
构造pay对象
pay对象包含属性有:用户id、订单id(List)、支付金额、支付状态、支付类型(aliqr、aliurl、aliwap、aliapp)、支付订单的类型(具体由业务定义)、支付标题,即支付时显示的商品名称、商品信息、服务器异步通知页面路径(回调地址)、页面跳转同步通知页面路径
若是微信公众号支付,需加上openid,ip(微信支付所需的客户端ip),prepayId(用于发送模板消息)
入参支付
将pay对象传入,组装业务参数,调取第三方sdk进行支付。
回调
回调结果,支付成功,pay对象写入支付状态1并返回。
业务数据更新
根据回调结果以及是否返回pay对象,验证支付成功,进行业务数据更新。
主要是订单的记录,创建order并保存。业务数据更新成功后,pay对象写入支付状态2