查询支付分订单API

最新更新时间:2020.05.25 版本说明


用于查询单笔微信支付分订单详细信息。

接口说明

适用对象:直连商户

请求URL:https://api.mch.weixin.qq.com/v3/payscore/serviceorder

请求方式:GET

接口规则:https://wechatpay-api.gitbook.io/wechatpay-api-v3

前置条件:商户下单已受理后


path 指该参数为路径参数

query 指该参数需在请求URL传参

body 指该参数需在请求JSON传参


请求参数

参数名 变量 类型[长度限制] 必填 描述
商户服务订单号 out_order_no string[1,32] 二选一 query 商户系统内部服务订单号(不是交易单号),与创建订单时一致
示例值:1234323JKHDFE1243252
回跳查询ID query_id string[1,64] query 微信侧回跳到商户前端时用于查单的单据查询id。详见章节“小程序跳转接口,回跳商户接口”。
商户单号与回跳查询id必填其中一个.不允许都填写或都不填写。
示例值:15646546545165651651
服务ID service_id string[1,32] query 该服务ID有本接口对应产品的权限
示例值:500001
公众账号ID appid string[1,32] query 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系,此参数需在本系统先进行配置。
示例值:wxd678efh567hg6787

请求示例


URL: “https://api.mch.weixin.qq.com/v3/payscore/serviceorder?service_id=500001
             &out_order_no=8416518464133&appid=wxd678efh567hg6787” 

或 

URL: “https://api.mch.weixin.qq.com/v3/payscore/serviceorder?service_id=500001
             &query_id=brnbonve1465wq3q2&appid=wxd678efh567hg6787” ;
                        

{
JAVA示例代码
}
    

返回参数

参数名 变量 类型[长度限制] 必填 描述
公众账号ID appid string[1,32] 调用接口提交的公众账号ID
示例值:wxd678efh567hg6787
商户号 mchid string[1,32] 调用接口提交的商户号
示例值:1230000109
服务ID service_id string[1,32] 调用该接口提交的服务ID
示例值:500001
商户服务订单号 out_order_no string[1,32] 调用接口提交的商户服务订单号
示例值:1234323JKHDFE1243252
服务信息 service_introduction string[1,20] 服务信息用于介绍本订单所提供的服务,当参数长度超过20个字符时,报错处理。
示例值:某某酒店
服务订单状态 state string[1,32] 表示当前单据状态
枚举值:
CREATED:商户已创建服务订单;
DOING:服务订单进行中;
DONE:服务订单完成;
REVOKED:商户取消服务订单; 
EXPIRED:服务订单已失效,"商户已创建服务订单"状态超过30天未变动,则订单失效
示例值:CREATED
订单状态说明 state_description string[1,32] 对服务订单"进行中"状态的附加说明:
USER_CONFIRM:用户确认
MCH_COMPLETE:商户完结
示例值:MCH_COMPLETE
商户收款总金额 total_amount int64 总金额,大于等于0的数字,单位为分,只能为整数,详见支付金额
此参数需满足:总金额=后付费项目金额之和-后付费商户优惠项目金额之和,且小于等于订单风险金额。取消订单时,该字段必须为0。
示例值:40000
+后付费项目 post_payments array 后付费项目列表,最多包含100条付费项目
参数名 变量 类型[长度限制] 必填 描述
付费项目名称 name string[1,20] 当参数长度超过20个字符时,报错处理
示例值:就餐费用, 服务费
金额 amount int64 此付费项目总金额,大于等于0,单位为分,等于0时代表不需要扣费
如果填写了“付费项目名称”,则amount或description必须填写其一,或都填 。
示例值:40000
计费说明 description string[1,30] 描述计费规则,当参数长度超过30个字符时,报错处理
示例值:就餐人均100元,服务费:100/小时
付费数量 count uint32 付费项目的数量
示例值:4
+后付费商户优惠 post_discounts array 后付费商户优惠,最多包含30条付费项目
参数名 变量 类型[长度限制] 必填 描述
优惠名称 name string[1,20] 优惠名称说明
示例值:满20减1元
优惠说明 description string[1,30] 优惠使用条件说明
如果填写了name(优惠名称)和description(优惠说明)其中一个字段内容,则另一个字段也必须填写
示例值:不与其他优惠叠加
优惠金额 amount int64 优惠金额
示例值:100
付费数量 count uint 付费项目的数量
示例值:2
+订单风险金 risk_fund

object

订单风险金信息
参数名 变量 类型[长度限制] 必填 描述
风险金名称 name string[1,64] 枚举值:
【先免模式】(评估不通过可交押金)可填名称为
DEPOSIT:押金
ADVANCE:预付款
CASH_DEPOSIT:保证金
【先享模式】(评估不通过不可使用服务)可填名称为
ESTIMATE_ORDER_COST:预估订单费用
示例值:ESTIMATE_ORDER_COST
风险金额 amount int64 1、数字,必须>0(单位分)
2、风险金额≤每个服务ID的风险金额上限
3、当商户优惠字段为空时,付费项目总金额≤服务ID的风险金额上限 (未填写金额的付费项目,视为该付费项目金额为0)
示例值:10000
风险说明 description string[1,30] 文字,不超过30个字
示例值:就餐的预估费用
+服务时间段 time_range

object

服务时间范围
参数名 变量 类型[长度限制] 必填 描述
服务开始时间 start_time string[1,14] 用户端展示用途。
用户下单时确认的服务开始时间(比如用户今天下单,明天开始接受服务,这里指的是明天的服务开始时间)。
支持三种格式:yyyyMMddHHmmss、yyyyMMdd和 OnAccept
● 传入20091225091010表示2009年12月25日9点10分10秒。
● 传入20091225默认认为时间为2009年12月25日。
● 传入OnAccept表示用户确认订单成功时间为【服务开始时间】。
根据传入时间精准度进行校验
1)若传入时间精准到秒,则校验精准到秒。
2)若传入时间精准到日,则校验精准到日。
示例值:20091225091010
服务开始时间备注 start_time_remark string[1,20] 服务开始时间备注说明,服务开始时间有填时,可填写服务开始时间备注,不超过20个字符,超出报错处理。
示例值:开始租借日期
服务结束时间 end_time string[1,14] 用户端展示用途,支持两种格式:yyyyMMddHHmmss和yyyyMMdd
  1. ● 传入20091225091010表示2009年12月25日9点10分10秒。
  2. ● 传入20091225默认认为时间为2009年12月25日。
根据传入时间精准度进行校验
1、若传入时间精准到秒,则校验精准到秒。
2、若传入时间精准到日,则校验精准到日。
示例值:20091225121010
服务结束时间备注 end_time_remark string[1,20] 服务结束时间备注说明,服务结束时间有填时,可填写服务结束时间备注,不超过20个字符,超出报错处理。
示例值:结束租借日期
+服务位置 location

object

服务使用信息
参数名 变量 类型[长度限制] 必填 描述
服务开始地点 start_location string[1,50] 开始使用服务的地点,不超过50个字符,超出报错处理;
示例值:嗨客时尚主题展餐厅
服务结束位置 end_location string[1,50] 结束使用服务的地点,不超过50个字符,超出报错处理
示例值:嗨客时尚主题展餐厅
商户数据包 attach string[1,256] 商户数据包可存放本订单所需信息,需要先urlencode后传入。
当商户数据包总长度超出256字符时,报错处理。商户接收回包是根据场景,决定是否需要做安全过滤(XSS/CSRF)。
示例值:Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald
商户回调地址 notify_url string[1,255] 商户接收用户确认订单和扣款成功回调通知的地址
示例值:https://api.test.com
微信支付服务订单号 order_id string[1,64] 微信支付服务订单号,每个微信支付服务订单号与商户号下对应的商户服务订单号一一对应
示例值:15646546545165651651
是否需要收款 need_collection bool 条件选填 是否需要收款,非0元完结后返回
true:微信支付分代收款
false:无需微信支付分代收款
示例值:true
+收款信息 collection object 条件选填 收款信息,非0元完结后返回
参数名 变量 类型[长度限制] 必填 描述
收款状态 state string[1,32] USER_PAYING:待支付
USER_PAID:已支付
示例值:USER_PAID
总收款金额 total_amount int64 总金额,大于等于0的数字,单位为分,只能为整数,详见支付金额
此参数需满足:总金额=付费项目金额之和-商户优惠项目金额之和,且小于等于订单风险金额 。未使用服务、取消订单时,该字段必须为0。
示例值:50000
待收金额 paying_amount int64 等待用户付款金额,只能为整数,详见支付金额
示例值:40000
已收金额 paid_amount int64 用户已付款的金额,只能为整数,详见支付金额
示例值:10000
+收款明细列表 details array 收款明细列表
参数名 变量 类型[长度限制] 必填 描述
收款序号 seq

int

从1开始递增
示例值:1
单笔收款金额 amount int64 单笔收款动作的金额,只能为整数,详见支付金额
示例值:10000
收款成功渠道 paid_type string[1,32] NEWTON:微信支付分
MCH:商户渠道
示例值:NEWTON
收款成功时间 paid_time string[1,14] 支付成功时间,支持两种格式:yyyyMMddHHmmss和yyyyMMdd
  1. 1、传入20091225091010表示2009年12月25日9点10分10秒
  2. 2、传入20091225默认认为时间为2009年12月25日0点0分0秒
示例值:20091225091210
微信支付交易单号 transaction_id string[1,200] 结单交易单号,等于普通支付接口中的transaction_id,可以使用该订单号在APP支付->API列表->查询订单申请退款。只有单据状态为USER_PAID,且收款成功渠道为支付分渠道,收款金额大于0,才会返回结单交易单号。
示例值:15646546545165651651
+ 优惠功能 promotion_detail array 优惠功能
注:针对2020年5月27日10:00:00以后完结的订单生效
参数名 变量 类型[长度限制] 必填 描述
券ID coupon_id string[1,32] 券ID
示例值:123456
优惠名称 name string[1,64] 优惠名称
示例值:单品优惠-6
优惠范围 scope string[1,12] GLOBAL:全场代金券;
SINGLE:单品优惠
示例值:GLOBAL
优惠类型 type string[1,12] 枚举值:CASH:充值;
NOCASH:免充值。
示例值:CASH
优惠券面额 amount int 优惠券面额
示例值:100
活动ID stock_id string[1,32] 活动ID,批次ID
示例值:activity_id
微信出资 wechatpay_contribute int 微信出资
示例值:100
商户出资 merchant_contribute int64 商户出资
示例值:100
其他出资 other_contribute int64 其他出资
示例值:0
优惠币种 currency string CNY:人民币,境内商户号仅支持人民币
示例值:CNY
+ 单品列表 goods_detail array 单品列表
参数名 变量 类型[长度限制] 必填 描述
商品编码 goods_id string[1,32] 商品编码
示例值:M1006
商品数量 quantity uint32 商品数量
示例值:1
商品价格 unit_price int64 商品价格
示例值:1
商品优惠金额 discount_amount int64 商品优惠金额
示例值:0
商品备注 goods_remark string[1,128] 商品备注
示例值:商品备注信息
用户标识 openid string[1,128] 微信用户在商户对应appid下的唯一标识
示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o

返回示例


{
  "appid": "wxd678efh567hg6787",
  "mchid": "1230000109",
  "service_id": "500001",
  "out_order_no": "1234323JKHDFE1243252",
  "service_introduction": "某某酒店",
  "state": "DOING",
  "state_description": "MCH_COMPLETE",
  "total_amount": 3900,
  "post_payments": [
    {
      "name": "就餐费用服务费",
      "amount": 4000,
      "description": "就餐人均100元服务费:100/小时",
      "count": 1
    }
  ],
  "post_discounts": [
    {
      "name": "满20减1元",
      "description": "不与其他优惠叠加",
      "amount": 100
    }
  ],
  "risk_fund": {
    "name": "ESTIMATE_ORDER_COST",
    "amount": 10000,
    "description": "就餐的预估费用"
  },
  "time_range": {
    "start_time": "20091225091010",
    "end_time": "20091225121010"
  },
  "location": {
    "start_location": "嗨客时尚主题展餐厅",
    "end_location": "嗨客时尚主题展餐厅"
  },
  "attach": "Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald",
  "notify_url": "https://api.test.com",
  "order_id": "15646546545165651651",
  "need_collection": true,
  "collection": {
    "state": "USER_PAID",
    "total_amount": 3900,
    "paying_amount": 3000,
    "paid_amount": 900,
    "details": [
      {
        "seq": 1,
        "amount": 900,
        "paid_type": "NEWTON",
        "paid_time": "20091225091210",
        "transaction_id": "15646546545165651651"
      }
    ]
  }
}
                                

    http://2323weixin.qq.com
                                

错误码公共错误码

状态码 错误码 描述 解决方案
500 SYSTEM_ERROR 系统错误 5开头的状态码都为系统问题,请使用相同参数稍后重新调用
400 PARAM_ERROR 参数错误 根据错误提示,传入正确参数
403 NO_AUTH 商户信息不合法 登录商户平台核对,传入正确信息
429 FREQUENCY_LIMITED 频率超限 请求量不要超过接口调用频率限制
400 INVALID_REQUEST 请求参数符合参数格式,但不符合业务规则 请确认相同单号是否使用了不同的参数
404 ORDER_NOT_ EXIST 订单不存在 确认入参,传入正确单据
400 INVALID_ORDER_STATE 单据状态错误 确认操作是否符合流程
400 ORDER_CANCELED 单据已取消 当前状态无需操作
400 ORDER_DONE 订单已完成 当前状态无需操作

版本说明

关闭
V1.4
2020.05.25
1. 查询订单接口新增返回收款优惠信息(promotion_detail)、用户标识(openid)字段
V1.3
2020.04.22
1. 新增参数返回条件:need_collection,条件返回,非0元完结后返回;collection,条件返回,非0元完结后返回;notify_url,必填、order_id必填
V1.2
2020.03.05
1. 服务订单状态,枚举值:EXPIRED “状态超过1小时未变动,则订单失效”调整为“ED 状态超过30天未变动,则订单失效”
V1.1
2019.12.27
1. 服务时间段新增时间备注字段

技术咨询

反馈有奖