# 查询订单列表
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南。
接口英文名:getOrderList
可以通过支付时间、支付者openid或订单状态来查询订单列表。
# 1. 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/wxa/sec/order/get_order_list?access_token=ACCESS_TOKEN
# 云调用
调用方法:wxa.sec.order.getOrderList
出入参和 HTTPS 调用相同,调用方式可查看 云调用 说明文档。
# 第三方调用
- 本接口不支持第三方平台调用。
# 2. 请求参数
# 查询参数 Query String Parameters
| 参数名 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
| access_token | string | 是 | ACCESS_TOKEN | 接口调用凭证,可使用 access_token |
# 请求体 Request Payload
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pay_time_range | object | 否 | 支付时间所属范围。 |
| order_state | number | 否 | 订单状态枚举:(1) 待发货;(2) 已发货;(3) 确认收货;(4) 交易完成;(5) 已退款;(6) 资金待结算。 |
| openid | string | 否 | 支付者openid。 |
| last_index | string | 否 | 翻页时使用,获取第一页时不用传入,如果查询结果中 has_more 字段为 true,则传入该次查询结果中返回的 last_index 字段可获取下一页。 |
| page_size | number | 否 | 翻页时使用,返回列表的长度,默认为100。 返回参数 |
# Body.pay_time_range Object Payload
支付时间所属范围。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| begin_time | number | 否 | 起始时间,时间戳形式,不填则视为从0开始。 |
| end_time number | number | 否 | 结束时间(含),时间戳形式,不填则视为32位无符号整型的最大值。 |
# 3. 返回参数
# 返回体 Response Payload
| 参数名 | 类型 | 示例 | 说明 |
|---|---|---|---|
| errcode | number | 0 | 错误码 |
| last_index | string | - | 翻页时使用。 |
| has_more | boolean | - | 是否还有更多支付单。 |
| order_list | object | - | 支付单信息列表。 |
# Res.order_list Object Payload
支付单信息列表。
| 参数名 | 类型 | 说明 |
|---|---|---|
| transaction_id | string | 原支付交易对应的微信订单号。 |
| merchant_id | string | 支付下单商户的商户号,由微信支付生成并下发。 |
| sub_merchant_id | string | 二级商户号。 |
| merchant_trade_no | string | 商户系统内部订单号,只能是数字、大小写字母`_-*`且在同一个商户号下唯一。 |
| description | string | 以分号连接的该支付单的所有商品描述,当超过120字时自动截断并以 “...” 结尾。 |
| paid_amount | number | 支付单实际支付金额,整型,单位:分钱。 |
| openid | string | 支付者openid。 |
| trade_create_time | number | 交易创建时间,时间戳形式。 |
| pay_time | number | 支付时间,时间戳形式。 |
| order_state | number | 订单状态枚举:(1) 待发货;(2) 已发货;(3) 确认收货;(4) 交易完成;(5) 已退款;(6) 资金待结算。 |
| in_complaint | boolean | 是否处在交易纠纷中。 |
| shipping | object | 发货信息。 |
# Res.order_list.shipping Object Payload
发货信息。
| 参数名 | 类型 | 说明 |
|---|---|---|
| delivery_mode | number | 发货模式,发货模式枚举值:1、UNIFIED_DELIVERY(统一发货)2、SPLIT_DELIVERY(分拆发货) 示例值: UNIFIED_DELIVERY |
| logistics_type | number | 物流模式,发货方式枚举值:1、实体物流配送采用快递公司进行实体物流配送形式 2、同城配送 3、虚拟商品,虚拟商品,例如话费充值,点卡等,无实体配送形式 4、用户自提 |
| finish_shipping | boolean | 是否已完成全部发货。 |
| goods_desc | string | 在小程序后台发货信息录入页录入的商品描述。 |
| finish_shipping_count | number | 已完成全部发货的次数,未完成时为 0,完成时为 1,重新发货并完成后为 2。 |
| shipping_list | objarray | 物流信息列表,发货物流单列表,支持统一发货(单个物流单)和分拆发货(多个物流单)两种模式。 |
# Res.order_list.shipping.shipping_list(Array) Object Payload
物流信息列表,发货物流单列表,支持统一发货(单个物流单)和分拆发货(多个物流单)两种模式。
| 参数名 | 类型 | 说明 |
|---|---|---|
| tracking_no | string | 物流单号,示例值: "323244567777"。 |
| express_company | string | 同城配送公司名或物流公司编码,快递公司ID,参见获取运力 id 列表get_delivery_list 示例值: "DHL"。 |
| goods_desc | string | 使用上传物流信息 API 录入的该物流信息的商品描述。 |
| upload_time | number | 该物流信息的上传时间,时间戳形式。 |
| contact | object | 联系方式。 |
# Res.order_list.shipping.shipping_list(Array).contact Object Payload
联系方式。
| 参数名 | 类型 | 说明 |
|---|---|---|
| consignor_contact | string | 寄件人联系方式。 |
| receiver_contact | string | 收件人联系方式。 |
# 4. 注意事项
本接口无特殊注意事项
# 5. 代码示例
请求示例
{
"pay_time_range": {
"begin_time": 1670563531,
"end_time": 1670563531
},
"page_size": 2
}
返回示例
{
"errcode": 0,
"errmsg": "ok",
"order_list": [
{
"transaction_id": "fake-transid-20221209132531-0",
"merchant_trade_no": "fake-tradeno-20221209132531-0",
"merchant_id": "fake-mchid-123",
"sub_merchant_id": "",
"description": "",
"paid_amount": 4353,
"openid": "ogqztkPsejM9MQAFfwCQSCi4oNg3",
"trade_create_time": 1670563531,
"pay_time": 1670563531,
"order_state": 1,
"in_complaint": false,
"shipping": {}
},
{
"transaction_id": "fake-transid-20221209132531-1",
"merchant_trade_no": "fake-tradeno-20221209132531-1",
"merchant_id": "fake-mchid-123",
"sub_merchant_id": "",
"description": "",
"paid_amount": 29767,
"openid": "ogqztkPsejM9MQAFfwCQSCi4oNg3",
"trade_create_time": 1670563531,
"pay_time": 1670563531,
"order_state": 1,
"in_complaint": false,
"shipping": {}
}
],
"last_index": "092dd3cecbc6926301",
"has_more": true
}
# 6. 错误码
以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。
| 错误码 | 错误描述 |
|---|---|
| -1 | system error。系统繁忙,此时请开发者稍候再试 |
| 10060001 | 支付单不存在。请检查微信支付单号形式下 transaction_id 字段或商户侧单号形式下 mchid、out_trade_no 字段是否有误 |
| 10060002 | 支付单已完成发货,无法继续发货。请检查支付单发货情况 |
| 10060003 | 支付单已使用重新发货机会。支付单处于已发货状态时调用该API视为重新发货,仅可重新发货一次,请检查支付单发货情况 |
| 10060004 | 支付单处于不可发货的状态。请检查支付单状态 |
| 10060005 | 物流类型有误。按照文档中物流类型枚举填写该字段 |
| 10060006 | 非快递发货时不允许分拆发货。非快递发货时不允许分拆发货,请检查请求参数 |
| 10060007 | 分拆发货模式下必须填写 is_all_delivered 字段。请检查请求参数中的 is_all_delivered 字段 |
| 10060008 | 商品描述 item_desc 字段不能为空。用于发货信息录入场景时商品描述字段不能为空 |
| 10060009 | 商品描述 item_desc 字段太长。请检查商品描述字段 |
| 10060011 | last_index不合法。请检查last_index字段是否有误。 |
| 10060012 | 系统错误。系统繁忙,此时请开发者稍候再试 |
| 10060014 | 参数错误。根据错误原因描述修改参数 |
| 10060019 | 系统错误。系统繁忙,此时请开发者稍候再试 |
| 10060020 | 该笔支付单在没有任何商品描述的情况下不允许完成发货。请补充商品描述 item_desc |
| 10060023 | 发货信息未更新。支付单信息不变 |
| 10060024 | 物流信息列表太长。支付单物流信息列表长度不可大于 15 |
| 10060025 | 物流公司编码太长。请检查物流公司编码是否有误 |
| 10060026 | 物流单号太长.。请检查物流单号是否有误 |
| 10060031 | 该笔支付单不属于 openid 所指定的用户。请检查支付单号或 openid 是否有误 |
| 268485194 | 订单单号类型非法。按照文档中订单单号类型枚举填写该字段 |
| 268485195 | 微信支付单号形式下 transaction_id 字段不能为空。微信支付单号形式下 transaction_id 字段必须设置 |
| 268485196 | 商户侧单号形式下 mchid 字段不能为空。商户侧单号形式下 mchid 字段必须设置 |
| 268485197 | 商户侧单号形式下 out_trade_no 字段不能为空。商户侧单号形式下 out_trade_no 字段必须设置 |
| 268485216 | 上传时间非法,请按照 RFC 3339 格式填写。上传时间必须满足 RFC 3339 格式,如 2022-12-15T13:29:35.120+08:00 |
| 268485224 | 发货模式非法。按照文档中发货模式枚举设置该字段 |
| 268485226 | 物流单号不能为空。物流快递发货时物流单号必须填写 |
| 268485227 | 物流公司编码不能为空。物流快递发货时物流公司编码必须填写 |
| 268485228 | 统一发货模式下,物流信息列表长度必须为 1。统一发货模式下,物流信息列表长度必须为 1 |
# 7. 适用范围
本接口暂未明确可调用账号类型,或在业务中根据调用传参自行确定是否可调用,请以实际调用情况为准。