查询支付分订单
更新时间:2024.12.09当商户创建支付分订单成功后,可以通过该接口查询订单状态,可具体可参考支付分订单状态流转图。
接口说明
支持商户:【从业机构(支付机构)】
请求方式:【GET】/v3/payscore/acquiringbank/serviceorder
请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点
【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看
请求参数
Header HTTP头参数
Authorization 必填 string
请参考签名认证生成认证信息
Accept 必填 string
请设置为application/json
query 查询参数
service_id 选填 string(32)
【服务ID】 商户支付分服务的唯一标识,由32位数字组成。支付分产品权限审核通过后,微信支付运营会向商户提供该ID。
sub_mchid 必填 string(32)
【子商户号】 从业机构下的子商户商户号,从业机构或者渠道商使用开户意愿确认接口生成。
channel_id 必填 string(32)
【渠道商商户号】从业机构下的渠道商商户号,需要从业机构登录服务商平台操作入驻,具体参考渠道商入驻流程方法。
out_order_no 选填 string(32)
【商户服务订单号】 商户系统内部服务订单号,要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。
query_id 选填 string(512)
【查单ID】 商户调起支付分小程序确认订单页后,用户回到商户前端时会返回query_id参数。调用支付分查单接口时out_order_no字段和query_id字段必填一个(不允许都填写或都不填写)。
请求示例
GET
应答参数
200 OK
out_order_no 必填 string(32)
【商户服务订单号】 商户系统内部服务订单号,要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。
service_id 必填 string(32)
【服务ID】 商户支付分服务的唯一标识,由32位数字组成。支付分产品权限审核通过后,微信支付运营会向商户提供该ID。
appid 必填 string(32)
【从业机构公众账号ID】 公众账号ID也称APPID,是微信公众平台为开发者提供的一个唯一标识,用于识别开发者的应用程序(小程序、公众号)。 开发者需要先在微信公众平台中申请ID,然后在服务商平台中绑定,详见服务商商户号与AppID账号关联管理。完结支付分订单和取消支付分订单需要和创单传入的appid保持一致。
mchid 必填 string(32)
【从业机构商户号】 调用支付分创单接口提交的从业机构商户号,需开通支付分产品权限,且与appid有绑定关系,详见服务商商户号与AppID账号关联管理。
sub_appid 选填 string(32)
【子商户公众账号ID】 公众账号ID也称APPID,是微信公众平台为开发者提供的一个唯一标识,用于识别开发者的应用程序(小程序、公众号)。需要从业机构登录服务商平台操作绑定,具体参考服务商为特约商户配置AppID(即sub_appid)操作方法。
sub_mchid 选填 string(32)
【子商户号】 从业机构下的子商户商户号,从业机构或者渠道商使用开户意愿确认接口生成。
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) 【风险名称】 (2)、先享模式:只能传“ 详细说明参考产品介绍-先免模式和先享模式。 amount 必填 integer 【风险金额】 这笔订单的风险金额,风险金额大小会影响评估,理论上金额越高评估通过率越低,商户按照实际场景传入即可,评估不通过是正常风控拦截。 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 选填 object
【收款信息】 订单收款信息,仅在调用完结支付分订单后返回(若完结订单 total_amount 等于 0 元,则不返回此字段)。
| 属性 | |||||||||||||
state 必填 string(32) 【收款状态】 total_amount 选填 integer 【总收款金额】 paying_amount 选填 integer 【待收金额】 用户待支付金额,完结成功后收款成功前,等于订单收款总金额total_amount。收款成功后为0。 paid_amount 选填 integer 【已收金额】 用户已支付金额,完结成功后收款成功前为0,收款成功后等于订单收款总金额total_amount。 details 选填 array[object] 【收款明细列表】 收款明细列表
|
time_range 选填 object
【服务时间段】 用于描述订单的服务开始和结束时间。
| 属性 | |
start_time 选填 string(14) 【服务开始时间】 end_time 选填 string(14) 【服务结束时间】 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下的唯一标识(不传sub_appid的情况下返回)。
sub_openid 选填 string(128)
【用户标识】用户在子商户sub_appid下的唯一标识(传了sub_appid的情况下返回)。
order_id 选填 string(64)
【微信支付服务订单号】 支付分订单在微信侧的唯一标识,31位数字,开头由1000000000+年月日组成。
channel_id 必填 string(32)
应答示例
200 OK
错误码
公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
|---|---|---|---|
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开头的状态码都为系统问题,请使用相同参数稍后重新调用 |

