Files
qipai/docs/api-changelog/2026-06-25-M08-A-recharge-wechat.md
T

2.0 KiB

M08-A 充值微信支付 API

  • POST /app-api/recharge/orders/:rechargeOrderId/wechat-prepay

    • 鉴权:顾客登录态,需 profile.read
    • 行为:校验充值单属于当前用户,读取微信支付配置和当前用户 openid,创建 JSAPI 预支付。
    • 返回:rechargeOrderIdrechargeNoamountCentstimeStampnonceStrpackagesignTypepaySign
  • POST /app-api/recharge/wechat/notify

    • 鉴权:微信支付平台证书签名和 AES-GCM 资源解密。
    • 行为:按 out_trade_no 定位充值单,校验金额,写入 qipai_payment_callbacks 幂等记录,成功后给钱包现金/赠送余额入账。
    • 隐私:通知 payload 入库前移除 payer 等敏感对象。

M08-A 权益与余额下单抵扣

  • POST /app-api/orders/reserve

    • 新增可选 benefits 对象:couponGrantIdpackageHoldingIdpackageMinutespackageCreditCentsclientRequestId
    • 行为:只接受权益 ID 和请求幂等号,不接受客户端自报总价;后端按报价、权益规则和剩余量重新计算 discountCentspackageCreditCents 与订单 totalCents
    • 返回:保留原订单预占结构,新增 benefitReservation,包含冻结状态、抵扣金额、套餐抵扣金额、分钟和使用记录。
  • POST /app-api/payments

    • provider 继续支持 WECHATTEST,新增顾客端 BALANCE 实际扣款闭环。
    • BALANCE 行为:按当前订单应付金额创建支付单,在同一事务内从门店钱包按赠送余额优先、现金余额补足扣款;成功后支付单状态为 SUCCEEDED,订单满足金额时推进为 PAID 并确认冻结权益。
    • WECHAT/TEST 成功路径:支付通知或测试回调成功后统一确认冻结优惠券和套餐;重复通知保持幂等。
  • POST /app-api/orders/:orderId/cancel

    • 行为补充:订单取消释放房间预占和访问权限时,同时释放仍处于 FROZEN 的优惠券和套餐持有记录。