out_order_no
必填 string(32)
【商户服务订单号】 商户系统内部服务订单号,商户在创建支付分接口中填入的out_order_no参数。
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)
【服务订单状态】 表示支付分订单状态,免确认模式创单成功即是DOING进行中状态。
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[Payment]
【后付费项目】 用于展示订单后付费项目明细,商户需要按照所属行业规程传参,详见post_payments(后付费项目)字段传参说明
post_discounts
选填 array[ServiceOrderCoupon]
【商户优惠】 用于展示订单优惠项目明细,最多30条,完结订单时传的收款总金额需满足计算条件(收款总金额=后付费项目amount和-优惠项目amount和)
| 属性 |
| name 选填 string(20)
【优惠名称】 用于描述优惠项目,不超过20个字符,同一单多个优惠项目名称不可重复。
description 选填 string(30)
【优惠说明】 用于描述优惠项目使用条件,不超过30个字符。
amount 选填 integer
【优惠金额】 优惠金额
count 选填 integer
【优惠数量】 整型,用于描述优惠项目使用数量,例如用户使用了两张同一活动优惠券,则count填2。 |
risk_fund
选填 RiskFund
【服务风险金】 本笔订单的风险金额描述
| 属性 |
| name 必填 string(30) 【风险名称】 订单的风险金额名称,固定传ESTIMATE_ORDER_COST,代表订单预估费用。
amount 必填 integer 【风险金额】 这笔订单的风险金额,风险金额大小会影响评估,理论上金额越高评估通过率越低,商户按照实际场景传入即可,评估不通过是正常风控拦截。 1、该值为整型,必须>0,单位为分。 2、该金额必须小于等于“服务ID风险金额”,“服务ID风险金额”上限具体请与微信支付运营确认。
description 选填 string(30) 【风险说明】 用于描述说明该风险金,不能超过30字符。 |
total_amount
选填 integer
【总金额】 订单最终收款总金额,整型,单位为分,商户调用完结订单接口和修改订单金额接口传入,受服务ID风险金额上限影响,服务ID风险金额上限具体请与BD确认。
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<=服务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
选填 Location
【服务位置】 服务使用的开始位置和结束位置
| 属性 |
| 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 {
11 "name" : "就餐费用",
12 "amount" : 40000,
13 "description" : "就餐人均100元",
14 "count" : 4
15 }
16 ],
17 "post_discounts" : [
18 {
19 "name" : "满20减1元",
20 "description" : "不与其他优惠叠加",
21 "amount" : 100,
22 "count" : 2
23 }
24 ],
25 "risk_fund" : {
26 "name" : "DEPOSIT",
27 "amount" : 10000,
28 "description" : "就餐的预估费用"
29 },
30 "total_amount" : 40000,
31 "need_collection" : true,
32 "collection" : {
33 "state" : "USER_PAID",
34 "total_amount" : 50000,
35 "paying_amount" : 40000,
36 "paid_amount" : 10000,
37 "details" : [
38 {
39 "seq" : 1,
40 "amount" : 10000,
41 "paid_type" : "NEWTON",
42 "paid_time" : "20091225091210",
43 "transaction_id" : "15646546545165651651",
44 "promotion_detail" : [
45 {
46 "coupon_id" : "123456",
47 "name" : "单品优惠-6",
48 "scope" : "GLOBAL",
49 "type" : "CASH",
50 "amount" : 100,
51 "stock_id" : "activity_id",
52 "wechatpay_contribute" : 100,
53 "merchant_contribute" : 100,
54 "other_contribute" : 100,
55 "currency" : "CNY",
56 "goods_detail" : [
57 {
58 "goods_id" : "M1006",
59 "quantity" : 1,
60 "unit_price" : 1,
61 "discount_amount" : 100,
62 "goods_remark" : "商品备注信息"
63 }
64 ]
65 }
66 ]
67 }
68 ]
69 },
70 "time_range" : {
71 "start_time" : "20091225091010",
72 "end_time" : "20091225121010",
73 "start_time_remark" : "备注1",
74 "end_time_remark" : "备注2"
75 },
76 "location" : {
77 "start_location" : "嗨客时尚主题展餐厅",
78 "end_location" : "嗨客时尚主题展餐厅"
79 },
80 "attach" : "Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald",
81 "notify_url" : "https://api.test.com",
82 "openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
83 "order_id" : "0000300001201908301055157220022"
84}