记录支付日志接口
用于商户平台里,用户支付相关操作的日志记录,以便问题追溯。
下单接口
- 先创建商户平台订单,存入数据库
- 组装微信支付参数,然后调用微信支付统一下单 API,获取微信支付二维码
- 保存微信支付二维码到数据库
支付回调接口
- 此接口路径要与微信支付下单时其中一个参数“回调通知 URL”路径一致
- 进行签名验证,以防止黑客伪造微信返回的信息
- 采用数据锁进行并发控制,以避免函数重入造成的数据混乱。
- 先根据用户 ID 和订单号筛选不需要处理的订单,进行处理重复通知情况
- 如果签名通过,则更新商户平台订单信息,记录支付日志,应答微信,如果签名不通过,应答微信签名验证失败
支付订单查询接口
根据商户订单号,查询订单支付状态、订单信息等,用于商家进行主动查询,比如商家没有收到微信回调通知
- 组装微信支付参数
- 调用微信支付统一取消订单 API
定时监测核实订单支付状态接口
为了防止商户平台万一没收到微信回调通知的情况,因为商户平台不收到微信回调通知,商户平台无法确定用户是否已经支付成功。
- 创建定时任务,每 N 秒查询一次创建超过 5 分钟并且未支付的订单
- 调用微信支付查单接口,获取微信支付端的订单状态
- 如果确认订单已支付,更新商户平台订单信息,记录支付日志
- 如果确认订单未支付,则调用关单接口并更新商户平台订单信息,记录支付日志
取消订单接口
微信支付下单后,但没有付款,用户点击取消订单
- 组装微信支付参数
- 调用微信支付统一取消订单 API
申请退款接口
微信支付下单后,用户点击申请退款
- 创建商户平台退款单记录
- 组装微信支付参数,调用微信支付统一退款 API
- 更新商户平台订单信息以及商户平台退款单信息
退款回调接口
- 此接口路径要与微信支付退款时其中一个参数“回调通知 URL”路径一致
- 进行签名验证,以防止黑客伪造微信返回的信息
- 采用数据锁进行并发控制,以避免函数重入造成的数据混乱。
- 先根据用户 ID 和订单号筛选不需要处理的订单,进行处理重复通知情况
- 如果签名通过,则更新商户平台订单信息以及商户平台退款单信息
退款查询接口
根据退款单号,查询订单退款状态、订单信息等,用于商家进行主动查询,比如商家没有收到微信回调通知
- 组装微信支付参数
- 调用微信支付统一取消订单 API
定时监测核实订单退款状态接口
为了防止商户平台万一没收到微信回调通知的情况,因为商户平台不收到微信回调通知,商户平台无法确定用户是否已经退款成功。
- 创建定时任务,每 N 秒查询一次创建超过 5 分钟并且未成功退款的订单
- 调用微信支付查单接口,获取微信支付端的订单状态
- 如果确认订单退款成功,更新商户平台订单信息,更新商户平台退款单信息
- 如果确认订单退款异常,更新商户平台订单信息,更新商户平台退款单信息
获取微信支付账单地址接口
包含交易账单以及资金账单,支持按天查询
- 组装微信支付参数
- 调用微信支付统一取消订单 API
下载微信支付账单接口
- 获取账单地址
- 组装微信支付参数
- 调用微信支付统一取消订单 API