查询订单支付状态

更新时间:2024.12.02

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

注意

推荐做法:

  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"

请求参数

HRADER 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,可使用小程序内部单号。要求此参数由数字、大小写字母_-|*@组成。

请求示例

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/f2fminiprogram/orderinfo/query?access_token=ACCESS_TOKEN \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Content-Type: application/json" \
6  -d '{
7    "confirm_token" : "AAR9o3oBAAABAAAAAACcVFuxWuzKgy90C7CfXiAAAAAnBTsSQzkr56J5EMO7tdtVJMDN0H0hoskk0/wgPrsYjC5OhHIRGOsBg6q2Zq0vei6/4C87U2LN88+mnlguzO9/DKb6CYbzY0g=",
8    "out_request_no" : "12345678901234567890"
9  }'

应答参数

200 OK

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)

【错误信息】
错误原因的简要描述

应答示例

1{
2  "state" : "SUCCESS",
3  "order_id" : "1800008552202001120000971476941015",
4  "amount" : 1,
5  "create_time" : "2015-05-20T13:29:35+08:00",
6  "pay_time" : "2015-05-20T13:29:35+08:00",
7  "appid" : "wxb5950f5d226l",
8  "payer_openid" : "onqOjjmo8wmTOOtSKwXtGjg9Gb58",
9  "payee_openid" : "onqOjjmo8wmTOOtSKwXtGjg9Gb58",
10  "attach" : "attach info:xxx",
11  "coupon_amount" : 100,
12  "payee_discount_amount" : 100,
13  "payee_amount" : 100
14}

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

200

269215744

参数错误

根据错误提示,传入正确参数

200

269215758

系统错误

请使用相同参数稍后重新调用

200

269215753

该订单不存在

核实参数后重试

200

269215754

订单凭证不合法

核实订单与小程序的关系

 

 

更多技术问题
技术咨询
反馈
咨询
目录
置顶