查询订单支付状态
更新时间:2024.12.27第三方小程序通过查询本接口获知订单支付状态
注意
推荐做法:
- 强烈建议:在客户端支付完成后跳回小程序时,会带上支付结果,此时小程序可通过本接口查询确认支付是否成功
- 强烈建议:后台在通过后台接口创建订单后周期查询,(小程序创建订单到面对面下单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,后续基于线上支付时间分布可能有调整)
- 建议:在用户查看小程序订单详情时,而状态是未支付时,后台查支付状态
- 建议:在前端页面提供给商家查询按钮,他在个人微信收到收款通知,但小程序中订单状态还是未支付时,可以主动触发小程序中订单状态查询
- 建议:有买家手动关闭未支付订单的按钮,关闭后不再周期查询,减少无效查询
# 接口说明
支持商户: 【普通服务商】
请求方式: 【POST】
请求URL: "https://api.weixin.qq.com/wxa/business/f2f/queryorderinfo"
# 请求参数
- Authorization 必填请参考 签名认证
生成认证信息 - Accept 必填请设置为
application/json
- Content-Type 必填请设置为
application/json
Header HTTP头参数
- access_token 必填【接口调用凭证】
1、调用接口的凭证,获取方式参见《auth.getAccessToken》文档 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html
。
2、HTTPS方式调用时,该参数必填;云调用时无此参数。
Query 查询参数
- confirm_token 选填【创建订单凭证】
支付时,通过“创建订单”接口获得的confirm_token。 - out_request_no 选填【请求号】
1、与创建订单接口中的out_request_no(请求号)参数一致。
2、请求号为一次支付的唯一幂等ID,可使用小程序内部单号。要求此参数由数字、大小写字母_-|*@组成。
Body 包体参数
请求示例
POST
# 应答参数
- state 必填【订单支付状态】
SUCCESS—支付成功;
REFUND—转入退款;
NOTPAY—未支付;
CLOSED—已关闭;
PAYERROR--支付失败(其他原因,如银行返回失败) - order_id 选填【二维码收款订单号】
微信支付系统中的订单号,与用户微信账单中的单号一致 - amount 选填【支付金额】
小程序提交给微信支付的订单需支付金额 - create_time 选填【创建订单时间】
小程序通过服务端API CreateOrderInfo创建订单的时间 - pay_time 选填【支付时间】
付款方实际支付的时间 - appid 选填【小程序AppID】
创建订单的小程序的AppID - payer_openid 选填【付款方OpenID】
发起付款的用户,在本小程序AppID下的OpenID - payee_openid 选填【收款方OpenID】
付款方在小程序中选购商品或服务对应的用户,在本小程序AppID下的OpenID - attach 选填【附加数据】
1、小程序订单的附加数据,原样返回创建订单时小程序传入的附加数据,可作为自定义参数使用。
2、非必填参数,小程序可选择是否要使用 - coupon_amount 选填【代金券金额】
当支付使用代金券时该字段存在。代金券金额<=订单金额,现金支付金额+代金券金额+收款方折扣金额=订单总金额 - payee_discount_amount 选填【收款方折扣金额】
当支付使用收款方折扣时该字段存在。收款方折扣金额<=订单金额,现金支付金额+代金券金额+收款方折扣金额=订单总金额 - payee_amount 选填【收款方实收金额】
当state=SUCCESS时,该字段存在。收款方实收金额<=订单总金额,收款方实收金额=订单总金额-收款方折扣金额-信用卡手续费金额 - errcode 必填【错误码】
成功时为0,其它错误码含义详见下方错误码列表 - errmsg 必填【错误信息】
错误原因的简要描述
200OK
应答示例
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 | 订单凭证不合法 | 核实订单与小程序的关系 |
文档是否有帮助