查询支付分订单

更新时间:2024.12.10
||

当商户创建支付分订单成功后当商户创建支付分订单成功后,可以通过该接口查询订单状态,可参考支付分订单状态流转图做业务逻辑处理。

接口说明

支持商户:【普通商户】

请求方式:【GET】/v3/payscore/serviceorder

请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

     【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看

请求参数

Header  HTTP头参数

 Authorization  必填 string

请参考签名认证生成认证信息


 Accept  必填 string

请设置为application/json


query  查询参数

 out_order_no  选填   string(32)

【商户服务订单号】商户系统内部服务订单号,商户在创建支付分接口中填入的out_order_no参数,调用支付分查单接口时out_order_no字段和query_id字段必填一个(不允许都填写或都不填写)。


 service_id  必填 string(32)

【服务ID】商户支付分服务的唯一标识,由32位数字组成。支付分产品权限审核通过后,微信支付运营会向商户提供该ID。


 appid  必填   string(32)

【公众账号id】是微信开放平台和微信公众平台为开发者的应用程序(APP、小程序、公众号)提供的一个唯一标识。 开发者需要先在微信开放平台或微信公众平台中申请ID,然后在商户平台中绑定,详见直连商户与AppID账号关联管理。完结订单和取消订单需要和创单传入的appid保持一致。


 query_id  选填   string(512)

【查单ID】商户调起支付分小程序确认订单页后,用户回到商户前端时会返回query_id参数。调用支付分查单接口时out_order_no字段和query_id字段必填一个(不允许都填写或都不填写)。

请求示例

curl
Java
Go

GET

1curl -X GET \
2  https://api.mch.weixin.qq.com/v3/payscore/serviceorder?out_order_no=1234323JKHDFE1243252&service_id=2002000000000558128851361561536&appid=wxd678efh567hg6787&query_id=15646546545165651651 \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" 
5

应答参数
折叠全部参数

200 OK

 out_order_no  必填   string(32)

【商户服务订单号】商户系统内部服务订单号,商户在创建支付分接口中填入的out_order_no参数,调用支付分查单接口时out_order_no字段和query_id字段必填一个(不允许都填写或都不填写)。


 service_id  必填   string(32)

【服务ID】商户支付分服务的唯一标识,由32位数字组成。支付分产品权限审核通过后,微信支付运营会向商户提供该ID。


 appid  必填   string(32)

【公众账号ID】是微信开放平台和微信公众平台为开发者的应用程序(APP、小程序、公众号)提供的一个唯一标识。 开发者需要先在微信开放平台或微信公众平台中申请ID,然后在商户平台中绑定,详见直连商户与AppID账号关联管理。完结订单和取消订单需要和创单传入的appid保持一致。


 mchid  必填   string(32)

【商户号】调用支付分创单接口提交的商户号,商户号需开通支付分产品权限,且与appid有绑定关系,详见直连商户与AppID账号关联管理


 service_introduction  必填   string(20)

【服务信息】用于介绍本订单所提供的服务 ,长度不能超过20个字符(汉字、数字、字母、特殊符号都按照1个字符计算)。


 state  必填   string(32)

【服务订单状态】表示支付分订单状态
CREATED:商户已创建服务订单
DOING:服务订单进行中
DONE:服务订单完成(终态)
REVOKED:商户取消服务订单(终态)
EXPIRED:服务订单已失效,"商户已创建服务订单"状态超过30天未变动,则订单失效(终态)
该状态需结合collection.state字段和state_description字段一起判断,具体可参考支付分订单状态流转图


 state_description  选填   string(32)

【订单状态说明】此参数用于对服务订单处于DOING状态时的附加说明,非DOIING状态将不会返回该参数。具体状态如下:
USER_CONFIRM:用户已确认状态,表示用户成功确认订单后所处状态。
MCH_COMPLETE:商户已完结状态,指商户调用完结接口成功后至扣款成功前的状态。
该状态需结合collection.state字段和state字段一起判断,具体可参考支付分订单状态流转图


 post_payments  选填   array[object]

【后付费项目】用于展示订单后付费项目明细,商户需要按照所属行业规程传参,详见post_payments(后付费项目)字段传参说明

属性

 name  选填   string(20)

【付费名称】不能超过20个字符,需严格按照post_payments(后付费项目)字段传参说明传参。


 amount  选填   integer

【付费金额】付费项目金额,整型,大于等于0(等于0时表示不需要扣费),单位为分。需严格按照post_payments(后付费项目)字段传参说明传参。


 description  选填   string(30)

【付费说明】对付费项目的详细说明,不超过30个字符,需严格按照post_payments(后付费项目)字段传参说明传参。


 count  选填   integer

【付费数量】后付费项目的数量,为整型。相同的后付费项目建议合并计算amount和count


 post_discounts  选填   array[object]

【商户优惠】用于展示订单优惠项目明细,最多30条,完结订单时传的收款总金额需满足计算条件(收款总金额=后付费项目amount和-优惠项目amount和)

属性

 name  选填   string(20)

【优惠名称】用于描述优惠项目,不超过20个字符,同一单多个优惠项目名称不可重复。


 description  选填   string(30)

【优惠说明】用于描述优惠项目使用条件,不超过30个字符。


 amount  选填   integer

【优惠金额】优惠金额


 count  选填   integer

【优惠数量】整型,用于描述优惠项目使用数量,例如用户使用了两张同一活动优惠券,则count填2。


 risk_fund  选填   object

【服务风险金】本笔订单的风险金额描述

属性

 name  必填   string(30)

【风险名称】
(1)、在先免模式下:只能传以下枚举值:
DEPOSIT:代表押金
ADVANCE:代表预付款
CASH_DEPOSIT:代表保证金
示例:若在充电宝场景传入"DEPOSIT",当用户确认订单后,UI界面会显示“租借充电宝免押金XX元”。
(2)、先享模式:只能传“ESTIMATE_ORDER_COST”,代表订单预估费用。
详细说明参考先免模式和先享模式产品介绍


 amount  必填   integer

【风险金额】这笔订单的风险金额,风险金额大小会影响评估,理论上金额越高评估通过率越低,商户按照实际场景传入即可,评估不通过是正常风控拦截。
1、该值为整型,必须>0,单位为分。
2、该金额必须小于等于“服务ID风险金额”,“服务ID风险金额”上限具体请与微信支付运营确认。
3、在先免模式下,服务订单结束后,订单的total_amount(真实收款金额)必须小于等于此处的风险金额;在先享模式下,服务订单结束后,订单的total_amount(真实收款金额)只需小于等于“服务ID风险金额”即可。


 description  选填   string(30)

【风险说明】用于描述说明该风险金,不能超过30字符。


 total_amount  选填   integer

【总金额】订单最终收款总金额,整型,单位为分,商户调用完结订单接口和修改订单金额接口传入,受服务ID风险金额上限影响,服务ID风险金额上限具体请与BD确认。
先免模式:total_amount<=创单risk_fund.amount(押金金额)<=服务ID风险金额上限。
先享模式:total_amount<=服务ID风险金额上限。
需满足计算条件:total_amount = 后付费项目金额(post_payments.amount总和) - 优惠项目金额(post_discounts.amount总和),例如商户后付费项目金额总和为10元,优惠项目金额总和为2元,则订单收款总金额为8元。


 need_collection  选填   boolean

【是否需要收款】订单是否需要收款,固定返回true需收款。


 collection  选填   Collection

【收款信息】订单收款信息,仅在调用完结订单后返回(若完结订单 total_amount 等于 0 元,则不返回此字段)。

属性

 state  必填   string(32)

【收款状态】
USER_PAYING:待支付
USER_PAID:已支付
该状态需结合state字段和state_description字段一起判断,具体可参考支付分订单状态流转图


 total_amount  选填   integer

【总收款金额】订单最终收款总金额,整型,单位为分,商户调用完结订单接口和修改订单金额接口传入,受服务ID风险金额上限影响,服务ID风险金额上限具体请与BD确认。
先免模式:total_amount<=创单risk_fund.amount(押金金额)<=服务ID风险金额上限。
先享模式:total_amount<=服务ID风险金额上限。
需满足计算条件:total_amount = 后付费项目金额(post_payments.amount总和) - 优惠项目金额(post_discounts.amount总和),例如商户后付费项目金额总和为10元,优惠项目金额总和为2元,则订单收款总金额为8元。


 paying_amount  选填   integer

【待收金额】用户待支付金额,完结成功后收款成功前,等于订单收款总金额total_amount。收款成功后为0。


 paid_amount  选填   integer

【已收金额】用户已支付金额,完结成功后收款成功前为0,收款成功后等于订单收款总金额total_amount。


 details  选填   array[Detail]

【收款明细列表】收款明细列表。

属性

seq  选填   integer

【收款序号】收款明细编号,从1开始递增


 amount  选填   integer

【单笔收款金额】本次实际收款金额


 paid_type  选填   string(32)

【收款成功渠道】NEWTON:微信支付分渠道,通过微信支付分渠道自动扣款或用户在支付分订单页主动支付后返回。
MCH:商户渠道,用户通过其他渠道支付后,商户调用同步服务订单信息接口成功后返回。
该状态需结合state字段和collection.state字段一起判断,具体可参考支付分订单状态流转图


 paid_time  选填   string(32)

【收款成功时间】支付分订单支付成功时间,yyyyMMddHHmmss格式。


 transaction_id  选填   string(64)

【微信支付交易单号】通过支付分渠道收款成功后返回的微信支付订单号(通过微信支付分渠道自动扣款或用户在支付分订单页主动支付后返回),等于普通支付接口中的transaction_id,申请退款需使用该单号。


promotion_detail  选填   array[PromotionDetail]

【优惠功能】代金券信息,当订单支付时,有使用代金券时,该字段将返回所使用的代金券信息。

属性

coupon_id  必填   string(32)

【券ID】代金券id,单张代金券的编号


 name  选填   string(64)

【优惠名称】代金券名称,代金券活动的名称


 scope  选填   string(32)

【优惠范围】优惠活动中代金券的适用范围,分为两种类型:
1、GLOBAL:全场代金券-以订单整体可优惠的金额为优惠门槛的代金券;
2、SINGLE:单品优惠-以订单中具体某个单品的总金额为优惠门槛的代金券


 type  选填   string(32)

【优惠类型】代金券资金类型,优惠活动中代金券的结算资金类型,分为两种类型:
1、CASH:预充值-带有结算资金的代金券,会随订单结算给订单收款商户;
2、NOCASH:免充值-不带有结算资金的代金券,无资金结算给订单收款商户。


 amount  必填   integer

【优惠券面额】代金券优惠的金额


 stock_id  选填   string(32)

【活动ID】单张代金券所对应的批次号


 wechatpay_contribute  选填   integer

【微信出资】代金券有三种出资类型:微信出资、商户出资和其他出资。本参数将返回选择“微信出资类型”时的优惠券面额。
1、创建代金券后默认为商户出资类型。如需使用其他两种类型,请与相关行业运营进行沟通。
2、在 wechatpay_contribute、merchant_contribute 和 other_contribute 这三个字段中,仅有一个字段会返回出资金额。具体返回哪个字段取决于代金券批次的配置。


 merchant_contribute  选填   integer

【商户出资】代金券有三种出资类型:微信出资、商户出资和其他出资。本参数将返回选择“商户出资类型”时的优惠券面额。
1、创建代金券后默认为商户出资类型。如需使用其他两种类型,请与相关行业运营进行沟通。
2、在 wechatpay_contribute、merchant_contribute 和 other_contribute 这三个字段中,仅有一个字段会返回出资金额。具体返回哪个字段取决于代金券批次的配置。


 other_contribute  选填   integer

【其他出资】代金券有三种出资类型:微信出资、商户出资和其他出资。本参数将返回选择“其他出资类型”时的优惠券面额。
1、创建代金券后默认为商户出资类型。如需使用其他两种类型,请与相关行业运营进行沟通。
2、在 wechatpay_contribute、merchant_contribute 和 other_contribute 这三个字段中,仅有一个字段会返回出资金额。具体返回哪个字段取决于代金券批次的配置。


 currency  选填   string(32)

【优惠币种】代金券金额所对应的货币种类:CNY:人民币,境内商户号仅支持人民币。


  goods_detail  选填   array[GoodsDetail]

【单品列表】单品列表

属性

goods_id  必填   string(32)

【商品编码】商品编码


 quantity  选填   integer

【商品数量】商品数量


 unit_price  选填   integer

【商品价格】商品价格


 discount_amount  选填   integer

【商品优惠金额】商品优惠金额


 goods_remark  选填   string(128)

【商品备注】商品备注

 


time_range  选填   TimeRange

【服务时间】用于描述订单的服务开始和结束时间。

属性

 start_time  选填   string(14)

【服务开始时间】
1、商户提供服务的开始时间。例如,用户今天下单,商户明天提供服务,这里的时间指的是明天。
2、支持格式:"yyyyMMddHHmmss"、"yyyyMMdd" 和 "OnAccept"。
传入 20091225091010 表示 2009 年 12 月 25 日 9 点 10 分 10 秒。
传入 20091225 表示 2009 年 12 月 25 日 0 点 0 分 0 秒。
传入 OnAccept 表示用户确认订单成功时间为服务开始时间。
3、微信支付会根据传入时间的精度进行校验:
如果是 yyyyMMdd 格式,校验精确到日:start_time 必须晚于或等于商户调用创建订单接口的时间。
如果是 yyyyMMddHHmmss 格式,校验精确到秒:start_time 必须晚于调用创建订单接口的时间(考虑系统时差,建议预留一定误差)。


 end_time  选填   string(14)

【服务结束时间】
1、商户提供服务的结束时间。例如,商户明天提供服务,3天后结束服务,这里的时间指的是3天后的时间。
2、支持格式:"yyyyMMddHHmmss"和"yyyyMMdd"。
传入 20091225091010 表示 2009 年 12 月 25 日 9 点 10 分 10 秒。
传入 20091225 表示 2009 年 12 月 25 日 0 点 0 分 0 秒。
3、微信支付会根据传入时间的精度进行校验:
如果是 yyyyMMddHH 格式,校验精确到日:end_time 必须晚于或等于 start_time。
如果是 yyyyMMddHHmmss 格式,校验精确到秒:end_time 必须晚于 start_time。
4、end_time必须和start_time时间格式一致,如果start_time使用OnAccept格式则end_time必须使用yyyyMMddHHmmss格式。


 start_time_remark  选填   string(20)

【服务开始时间备注】当有传入服务开始时间时,可添加备注说明,不超过20个字符。


 end_time_remark  选填   string(20)

【服务结束时间备注】当有传入服务结束时间时,可添加备注说明,不超过20个字符。


 location  选填   object

【服务位置】服务使用的开始位置和结束位置

属性

 start_location  选填   string(20)

【服务开始地点】用户开始使用服务的地点,不超过20个字符。


 end_location  选填   string(20)

【服务结束地点】用户结束使用服务的地点,不超过20个字符。


 attach  选填   string(256)

【附加数据】商户在创建订单时传入的自定义数据包,用户不可见。用于存放订单的商户自定义数据,需要先进行urlencode编码,总长度不超过256字符。确认订单回调和支付成功回调时会回传该字段给商户。


 notify_url  必填   string(256)

【商户回调地址】商户接收确认订单回调通知支付成功回调通知的地址,创单时传入,需按照notify-url填写注意事项规范填写。


 openid  选填   string(128)

【服务商公众号下的用户标识】用户在商户对应appid下的唯一标识。


 order_id  选填   string(64)

【微信支付服务订单号】支付分订单在微信侧的唯一标识,31位数字,开头由1000000000+年月日组成。

应答示例

200 OK

1{
2  "out_order_no" : "1234323JKHDFE1243252",
3  "service_id" : "2002000000000558128851361561536",
4  "appid" : "wxd678efh567hg6787",
5  "mchid" : "1230000109",
6  "service_introduction" : "XX充电宝",
7  "state" : "CREATED",
8  "state_description" : "MCH_COMPLETE",
9  "post_payments" : {
10    "name" : "就餐费用",
11    "amount" : 40000,
12    "description" : "就餐人均100元",
13    "count" : 4
14  },
15  "post_discounts" : [
16    {
17      "name" : "满20减1元",
18      "description" : "不与其他优惠叠加",
19      "amount" : 100,
20      "count" : 2
21    }
22  ],
23  "risk_fund" : {
24    "name" : "DEPOSIT",
25    "amount" : 10000,
26    "description" : "就餐的预估费用"
27  },
28  "total_amount" : 40000,
29  "need_collection" : true,
30  "collection" : {
31    "state" : "USER_PAID",
32    "total_amount" : 50000,
33    "paying_amount" : 40000,
34    "paid_amount" : 10000,
35    "details" : [
36      {
37        "seq" : 1,
38        "amount" : 10000,
39        "paid_type" : "NEWTON",
40        "paid_time" : "20091225091210",
41        "transaction_id" : "15646546545165651651"
42      }
43    ]
44  },
45  "time_range" : {
46    "start_time" : "20091225091010",
47    "end_time" : "20091225121010",
48    "start_time_remark" : "备注1",
49    "end_time_remark" : "备注2"
50  },
51  "location" : {
52    "start_location" : "嗨客时尚主题展餐厅",
53    "end_location" : "嗨客时尚主题展餐厅"
54  },
55  "attach" : "Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald",
56  "notify_url" : "https://api.test.com",
57  "openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
58  "order_id" : "0000300001201908301055157220022"
59}
60

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

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

400

INVALID_REQUEST

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

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

400

INVALID_ORDER_STATE

单据状态错误

确认操作是否符合流程

400

INVALID_REQUEST

请求参数符合参数格式,但不符合业务规则

请确认相同单号是否使用了不同的参数

400

ORDER_CANCELED

单据已取消

当前状态无需操作

400

ORDER_DONE

订单已完成

当前状态无需操作

403

NO_AUTH

商户信息不合法

登录商户平台核对,传入正确信息

404

ORDER_NOT_ EXIST

订单不存在

确认入参,传入正确单据

429

FREQUENCY_LIMITED

频率超限

请求量不要超过接口调用频率限制

500

SYSTEM_ERROR

系统错误

5开头的状态码都为系统问题,请使用相同参数稍后重新调用

 

 

元宝AI
反馈
目录
置顶