# 查询订单
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南。
接口英文名:getOrder
该接口用于查询B2b订单信息。
# 1. 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/retail/B2b/getorder?access_token=ACCESS_TOKEN
# 云调用
- 本接口不支持云调用。
# 第三方调用
本接口支持第三方平台代商家调用。
该接口所属的权限集 id 为:158
服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。
# 2. 请求参数
# 查询参数 Query String Parameters
| 参数名 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
| access_token | string | 是 | ACCESS_TOKEN | 接口调用凭证,可使用 access_token、authorizer_access_token |
# 请求体 Request Payload
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mchid | string | 是 | 商户号 |
| out_trade_no | string | 否 | 商户订单号。长度限制[6,32]。商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一 示例值:1217752501201407033233368018(与order_id二选一填写) |
| order_id | string | 否 | B2b支付订单号。长度限制[1,32]。B2b支付生成的订单号 示例值:o202307291423123564754773(与out_trade_no二选一填写) |
# 3. 返回参数
# 返回体 Response Payload
| 参数名 | 类型 | 示例 | 说明 |
|---|---|---|---|
| appid | string | - | 小程序ID。长度限制[1,32]。商户申请的小程序对应的appid 示例值:wx8888888888888888 |
| mchid | string | - | 微信商户号。长度限制[1,32]。由微信支付生成并下发的商户号。 示例值:1230000109 |
| out_trade_no | string | - | 商户订单号。长度限制[6,32]。商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一 示例值:1217752501201407033233368018 |
| order_id | string | - | B2b支付订单号。长度限制[1,32]。B2b支付生成的订单号 示例值:o202307291423123564754773 |
| pay_status | string | - | 订单状态,长度限制[1,32]。枚举值 ORDER_INIT:订单初始化 ORDER_PRE_PAY:订单预下单成功,待支付 ORDER_PAY_SUCC:订单支付成功 ORDER_CLOSE:订单已关闭 ORDER_REFUND_PROCESSING:订单正在退款中 ORDER_REFUND:订单已有退款 示例值:ORDER_PAY_SUCC |
| pay_time | string | - | 支付完成时间。长度限制[1,32]。支付完成时间,标准北京时间,时区为东八区,格式为yyyy-MM-dd HH:mm:ss 示例值:2023-07-20 17:04:28 |
| attach | string | - | 附加数据。长度限制[1,128]。在查询API和支付通知中原样返回,可作为自定义参数使用,实际情况下只有支付完成状态才会返回该字段。 示例值:自定义数据 |
| payer_openid | string | - | 支付者。用户在直连商户appid下的唯一标识。 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o |
| amount | object | - | 订单金额。订单金额信息,仅支持人民币 |
| wxpay_transaction_id | string | - | 微信支付订单号。微信支付生成的订单号(合单支付场景不返回) 示例值:2123191423123564754773 |
| env | number | - | 订单环境。订单环境 0:正式环境 1:沙箱环境 示例值:0 |
| settle_status | number | - | 结算状态。长度限制[1,32]。枚举值 0:未结算 1:结算中 2:结算完成 示例值:0 |
| settle_finish_time | string | - | 结算完成时间。结算完成时间,当结算状态为结算完成时有返回,标准北京时间,时区为东八区,格式为yyyy-MM-dd HH:mm:ss 示例值:2025-01-01 00:00:00 |
| platform_profit_percent | number | - | 技术服务费率。技术服务费率,万分比(比如 60 指的是 0.60%),当结算状态为结算完成时有返回 示例值:60 |
| platform_profit_fee | number | - | 技术服务费。技术服务费,单位为分,当结算状态为结算完成时有返回 示例值:6 |
| bank_type | string | - | 银行类型。支付类型说明。仅支付方式为微信支付且订单支付成功后返回,格式为银行简码_具体类型(DEBIT借记卡/CREDIT信用卡/ECNY数字人民币),例如ICBC_DEBIT代表工商银行借记卡,非银行卡支付类型(例如余额/零钱通等)统一为OTHERS,具体请参考《银行类型对照表》。 示例值:ICBC_DEBIT |
| errcode | number | - | 错误码 |
| errmsg | string | ok | 错误信息 |
# Res.amount Object Payload
订单金额。订单金额信息,仅支持人民币
| 参数名 | 类型 | 说明 |
|---|---|---|
| order_amount | number | 订单总金额。订单总需支付金额,也即是真正下单总金额,单位为分 示例值:1300 |
| payer_amount | number | 用户支付金额。用户支付金额,单位为分(指使用优惠券的情况下,这里等于总金额-优惠券金额,目前暂不支持优惠券) 示例值:1300 |
| currency | string | 货币类型。货币类型,仅支持人民币"CNY" 示例值:CNY |
# 4. 注意事项
本接口无特殊注意事项
# 5. 代码示例
请求示例
{
"mchid": "1230000109",
"out_trade_no": "1217752501201407033233368018"
}
或
{
"mchid": "1230000109",
"order_id": "o202307291423123564754773"
}
返回示例
{
"appid": "wx8888888888888888",
"mchid": "1230000109",
"out_trade_no": "1217752501201407033233368018",
"order_id": "o202307291423123564754773",
"pay_status": "ORDER_PAY_SUCC",
"pay_time": "2023-07-20 17:04:28",
"attach": "",
"payer_openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
"amount": {
"order_amount": 1,
"payer_amount": 1,
"currency": "CNY",
},
"wxpay_transaction_id": "2123191423123564754773",
"env": 0
"errcode": 0,
"errmsg": "OK"
}
# 6. 错误码
以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。
| 错误码 | 错误描述 |
|---|---|
| 9403200 | 参数为空或非法 detail:[支付签名[pay_sig]校验失败] |
| 9403201 | 数据不存在。订单不存在,请检查入参 |
| 9403203 | 商户未完成建档 detail:[获取商户号信息失败,请确认商户号是否开通成功] |
# 7. 适用范围
本接口暂未明确可调用账号类型,或在业务中根据调用传参自行确定是否可调用,请以实际调用情况为准。