查询订单支付状态

更新时间:2024.12.27

第三方小程序通过查询本接口获知订单支付状态

注意

推荐做法:

  1. 强烈建议:在客户端支付完成后跳回小程序时,会带上支付结果,此时小程序可通过本接口查询确认支付是否成功
  2. 强烈建议:后台在通过后台接口创建订单后周期查询,(小程序创建订单到面对面下单30min+面对面下单到支付30min=60min。建议查单间隔:10s、20s、30s、40s、50s、60s、80s、100s、2min、4min、6min、8min、10min、15min、20min、25min、30min、35min、40min、45min、50min、55min、60min、65min,后续基于线上支付时间分布可能有调整)
  3. 建议:在用户查看小程序订单详情时,而状态是未支付时,后台查支付状态
  4. 建议:在前端页面提供给商家查询按钮,他在个人微信收到收款通知,但小程序中订单状态还是未支付时,可以主动触发小程序中订单状态查询
  5. 建议:有买家手动关闭未支付订单的按钮,关闭后不再周期查询,减少无效查询

# 接口说明

支持商户: 【普通服务商】

请求方式: 【POST】

请求URL: "https://api.weixin.qq.com/wxa/business/f2f/queryorderinfo"

# 请求参数

    Header HTTP头参数
  • Authorization 必填 string
    请参考 签名认证 生成认证信息
  • Accept 必填 string
    请设置为 application/json
  • Content-Type 必填 string
    请设置为 application/json
    Query 查询参数
  • access_token 必填 string(512)
    【接口调用凭证】
    1、调用接口的凭证,获取方式参见《auth.getAccessToken》文档https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html
    2、HTTPS方式调用时,该参数必填;云调用时无此参数。
    Body 包体参数
  • confirm_token 选填 string(128)
    【创建订单凭证】
    支付时,通过“创建订单”接口获得的confirm_token。
  • out_request_no 选填 string(32)
    【请求号】
    1、与创建订单接口中的out_request_no(请求号)参数一致。
    2、请求号为一次支付的唯一幂等ID,可使用小程序内部单号。要求此参数由数字、大小写字母_-|*@组成。

请求示例

POST

# 应答参数

    200OK
  • state 必填 string(16)
    【订单支付状态】
    SUCCESS—支付成功;
    REFUND—转入退款;
    NOTPAY—未支付;
    CLOSED—已关闭;
    PAYERROR--支付失败(其他原因,如银行返回失败)
  • order_id 选填 string(64)
    【二维码收款订单号】
    微信支付系统中的订单号,与用户微信账单中的单号一致
  • amount 选填 integer
    【支付金额】
    小程序提交给微信支付的订单需支付金额
  • create_time 选填 string(32)
    【创建订单时间】
    小程序通过服务端API CreateOrderInfo创建订单的时间
  • pay_time 选填 string(32)
    【支付时间】
    付款方实际支付的时间
  • appid 选填 string(32)
    【小程序AppID】
    创建订单的小程序的AppID
  • payer_openid 选填 string(64)
    【付款方OpenID】
    发起付款的用户,在本小程序AppID下的OpenID
  • payee_openid 选填 string(64)
    【收款方OpenID】
    付款方在小程序中选购商品或服务对应的用户,在本小程序AppID下的OpenID
  • attach 选填 string(127)
    【附加数据】
    1、小程序订单的附加数据,原样返回创建订单时小程序传入的附加数据,可作为自定义参数使用。
    2、非必填参数,小程序可选择是否要使用
  • coupon_amount 选填 integer
    【代金券金额】
    当支付使用代金券时该字段存在。代金券金额<=订单金额,现金支付金额+代金券金额+收款方折扣金额=订单总金额
  • payee_discount_amount 选填 integer
    【收款方折扣金额】
    当支付使用收款方折扣时该字段存在。收款方折扣金额<=订单金额,现金支付金额+代金券金额+收款方折扣金额=订单总金额
  • payee_amount 选填 integer
    【收款方实收金额】
    当state=SUCCESS时,该字段存在。收款方实收金额<=订单总金额,收款方实收金额=订单总金额-收款方折扣金额-信用卡手续费金额
  • errcode 必填 int64
    【错误码】
    成功时为0,其它错误码含义详见下方错误码列表
  • errmsg 必填 string(128)
    【错误信息】
    错误原因的简要描述

应答示例

200 OK

# 错误码

# 公共错误码

状态码 错误码 描述 解决方案
400 PARAM_ERROR 参数错误 请根据错误提示正确传入参数
400 INVALID_REQUEST HTTP 请求不符合微信支付 APIv3 接口规则 请参阅 接口规则 (opens new window)
401 SIGN_ERROR 验证不通过 请参阅 签名常见问题 (opens new window)
500 SYSTEM_ERROR 系统异常,请稍后重试 请稍后重试

# 业务错误码

状态码 错误码 描述 解决方案
200 269215744 参数错误 根据错误提示,传入正确参数
200 269215758 系统错误 请使用相同参数稍后重新调用
200 269215753 该订单不存在 核实参数后重试
200 269215754 订单凭证不合法 核实订单与小程序的关系
反馈
咨询
目录

微信支付文档中心已升级,你当前所查看的是旧文档中心的内容,旧文档中心将于 2025年 3 月 31日 下线,请移步 [新文档中心] 查看相应的内容