支付相关接口说明

138 阅读4分钟

记录支付日志接口

用于商户平台里,用户支付相关操作的日志记录,以便问题追溯。

下单接口

  1. 先创建商户平台订单,存入数据库
  2. 组装微信支付参数,然后调用微信支付统一下单 API,获取微信支付二维码
  3. 保存微信支付二维码到数据库

支付回调接口

  1. 此接口路径要与微信支付下单时其中一个参数“回调通知 URL”路径一致
  2. 进行签名验证,以防止黑客伪造微信返回的信息
  3. 采用数据锁进行并发控制,以避免函数重入造成的数据混乱。
  4. 先根据用户 ID 和订单号筛选不需要处理的订单,进行处理重复通知情况
  5. 如果签名通过,则更新商户平台订单信息,记录支付日志,应答微信,如果签名不通过,应答微信签名验证失败

支付订单查询接口

根据商户订单号,查询订单支付状态、订单信息等,用于商家进行主动查询,比如商家没有收到微信回调通知

  1. 组装微信支付参数
  2. 调用微信支付统一取消订单 API

定时监测核实订单支付状态接口

为了防止商户平台万一没收到微信回调通知的情况,因为商户平台不收到微信回调通知,商户平台无法确定用户是否已经支付成功。

  1. 创建定时任务,每 N 秒查询一次创建超过 5 分钟并且未支付的订单
  2. 调用微信支付查单接口,获取微信支付端的订单状态
  3. 如果确认订单已支付,更新商户平台订单信息,记录支付日志
  4. 如果确认订单未支付,则调用关单接口并更新商户平台订单信息,记录支付日志

取消订单接口

微信支付下单后,但没有付款,用户点击取消订单

  1. 组装微信支付参数
  2. 调用微信支付统一取消订单 API

申请退款接口

微信支付下单后,用户点击申请退款

  1. 创建商户平台退款单记录
  2. 组装微信支付参数,调用微信支付统一退款 API
  3. 更新商户平台订单信息以及商户平台退款单信息

退款回调接口

  1. 此接口路径要与微信支付退款时其中一个参数“回调通知 URL”路径一致
  2. 进行签名验证,以防止黑客伪造微信返回的信息
  3. 采用数据锁进行并发控制,以避免函数重入造成的数据混乱。
  4. 先根据用户 ID 和订单号筛选不需要处理的订单,进行处理重复通知情况
  5. 如果签名通过,则更新商户平台订单信息以及商户平台退款单信息

退款查询接口

根据退款单号,查询订单退款状态、订单信息等,用于商家进行主动查询,比如商家没有收到微信回调通知

  1. 组装微信支付参数
  2. 调用微信支付统一取消订单 API

定时监测核实订单退款状态接口

为了防止商户平台万一没收到微信回调通知的情况,因为商户平台不收到微信回调通知,商户平台无法确定用户是否已经退款成功。

  1. 创建定时任务,每 N 秒查询一次创建超过 5 分钟并且未成功退款的订单
  2. 调用微信支付查单接口,获取微信支付端的订单状态
  3. 如果确认订单退款成功,更新商户平台订单信息,更新商户平台退款单信息
  4. 如果确认订单退款异常,更新商户平台订单信息,更新商户平台退款单信息

获取微信支付账单地址接口

包含交易账单以及资金账单,支持按天查询

  1. 组装微信支付参数
  2. 调用微信支付统一取消订单 API

下载微信支付账单接口

  1. 获取账单地址
  2. 组装微信支付参数
  3. 调用微信支付统一取消订单 API