最新更新时间:2021.08.06 版本说明
商户请求扣费受理接口,会完成订单受理。微信支付进行异步扣款,支付完成后,会将订单支付结果发送给商户。
• 必须确认扣费受理接口的交易状态返回“ACCEPTED”才能放行车辆,若未接收到该状态而放行车辆离场,造成的资金损失由商户侧自行承担。
适用对象:服务商
请求URL:https://api.mch.weixin.qq.com/v3/vehicle/transactions/parking
请求方式:POST
path 指该参数为路径参数
query 指该参数为URL参数
body 指该参数需在请求JSON传参
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
应用ID | appid | string[1, 32] | 是 | bodyappid是商户在微信申请公众号或移动应用成功后分配的账号ID,登录平台为mp.weixin.qq.com或open.weixin.qq.com 示例值:wxcbda96de0b165486 |
子商户应用ID | sub_appid | string[1, 32] | 是 | body子公众账号id,用于扣费信息的商户信息展示, 示例值:wxcbda96de0b165486 |
子商户号 | sub_mchid | string[1, 32] | 是 | body微信支付分配的子商户号 示例值:1900000109 |
服务描述 | description | string[1, 128] | 是 | body商户自定义字段,用于交易账单中对扣费服务的描述。 示例值:停车场扣费 |
附加数据 | attach | string[1, 128] | 否 | body附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用,实际情况下只有支付完成状态才会返回该字段。 示例值:深圳分店 |
商户订单号 | out_trade_no | string[1, 32] | 是 | body商户系统内部订单号,只能是数字、大小写字母,且在同一个商户号下唯一 示例值:20150806125346 |
交易场景 | trade_scene | string[1, 16] | 是 | body交易场景值,目前支持 PARKING:车场停车场景 示例值:PARKING |
订单优惠标记 | goods_tag | string[1, 32] | 否 | body代金券或立减优惠功能的参数,说明详见代金券或立减优惠 示例值:WXG |
回调通知url | notify_url | string[1, 256] | 是 | body接受扣款结果异步回调通知的url,注意回调url只接受https 示例值:https://yoursite.com/wxpay.html |
分账标识 | profit_sharing | string[1, 16] | 否 | body枚举值: Y:是,需要分账 N:否,不分账 字母要求大写,不传默认不分账,分账详细说明见直连分账API、服务商分账API文档 示例值:Y |
+订单金额 | amount | object | 是 | body订单金额信息 |
+停车场景信息 | parking_info | object | 否 | body当交易场景为PARKING时,需要在该字段添加停车场景信息 |
{
"appid": "wxcbda96de0b165486",
"sub_appid": "wxcbda96de0b165486",
"sub_mchid": "1900000109",
"description": "停车场扣费",
"attach": "深圳分店",
"out_trade_no": "20150806125346",
"trade_scene": "PARKING",
"goods_tag": "WXG",
"notify_url": "https://yoursite.com/wxpay.html",
"profit_sharing": "Y",
"amount": {
"total": 888,
"currency": "CNY"
},
"parking_info": {
"parking_id": "5K8264ILTKCH16CQ250",
"plate_number": "粤B888888",
"plate_color": "BLUE",
"start_time": "2017-08-26T10:43:39+08:00",
"end_time": "2017-08-26T10:43:39+08:00",
"parking_name": "欢乐海岸停车场",
"charging_duration": 3600,
"device_id": "12313"
}
}
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
应用ID | appid | string[1, 32] | 是 | appid是商户在微信申请公众号或移动应用成功后分配的账号ID,登录平台为mp.weixin.qq.com或open.weixin.qq.com 示例值:wxcbda96de0b165486 |
子商户应用ID | sub_appid | string[1, 32] | 否 | 子商户申请的公众号或移动应用appid,需要在服务商的商户平台为子商户绑定 注意:仅适用于服务商模式 示例值:wxcbda96de0b165489 |
商户号 | sp_mchid | string[1, 32] | 是 | 微信支付分配的商户号 示例值:1230000109 |
子商户号 | sub_mchid | string[1, 32] | 否 | 微信支付分配的子商户号 注意:仅适用于服务商模式 示例值:1900000109 |
服务描述 | description | string[1, 128] | 是 | 商户自定义字段,用于交易账单中对扣费服务的描述。 示例值:停车场扣费 |
订单创建时间 | create_time | string[1, 32] | 是 | 订单成功创建时返回,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。 示例值:2017-08-26T10:43:39+08:00 |
商户订单号 | out_trade_no | string[1, 32] | 是 | 商户系统内部订单号,只能是数字、大小写字母,且在同一个商户号下唯一 示例值:20150806125346 |
微信支付订单号 | transaction_id | string[1, 32] | 否 | 微信支付订单号 示例值:1009660380201506130728806387 |
交易状态 | trade_state | string[1, 32] | 是 | 枚举值: SUCCESS:支付成功 ACCEPTED:已接收,等待扣款 PAY_FAIL:支付失败(其他原因,如银行返回失败) REFUND:转入退款 示例值:SUCCESS |
交易状态描述 | trade_state_description | string[1, 256] | 否 | 对当前订单状态的描述和下一步操作的指引 示例值:支付失败,请重新下单支付 |
支付完成时间 | success_time | string[1, 32] | 否 | 订单支付完成时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。 示例值:2017-08-26T10:43:39+08:00 |
付款银行 | bank_type | string[1, 32] | 否 | 银行类型,采用字符串类型的银行标识。BPA:该笔订单由微信进行垫付 示例值:CMC |
用户是否已还款 | user_repaid | string[1, 1] | 否 | 枚举值: Y:用户已还款 N:用户未还款 注意:使用此字段前需先确认bank_type字段值为BPA以及 trade_state字段值为SUCCESS。 示例值:Y |
附加数据 | attach | string[1, 128] | 否 | 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用,实际情况下只有支付完成状态才会返回该字段。 示例值:深圳分店 |
交易场景 | trade_scene | string[1, 16] | 是 | 交易场景值,目前支持 PARKING:车场停车场景 示例值:PARKING |
+停车场景信息 | parking_info | object | 否 | 返回信息中的trade_scene为PARKING,返回该场景信息 |
+支付者信息 | payer | object | 是 | 支付者信息 |
+订单金额信息 | amount | object | 是 | 订单金额信息 |
+优惠信息 | promotion_detail | array | 否 | 优惠信息 |
{
"appid": "wxcbda96de0b165486",
"sub_appid": "wxcbda96de0b165489",
"sp_mchid": "1230000109",
"sub_mchid": "1900000109",
"description": "停车场扣费",
"create_time": "2017-08-26T10:43:39+08:00",
"out_trade_no": "20150806125346",
"transaction_id": "1009660380201506130728806387",
"trade_state": "SUCCESS",
"trade_state_description": "支付失败,请重新下单支付",
"success_time": "2017-08-26T10:43:39+08:00",
"bank_type": "CMC",
"user_repaid": "Y",
"attach": "深圳分店",
"trade_scene": "PARKING",
"parking_info": {
"parking_id": "5K8264ILTKCH16CQ250",
"plate_number": "粤B888888",
"plate_color": "BLUE",
"start_time": "2017-08-26T10:43:39+08:00",
"end_time": "2017-08-26T10:43:39+08:00",
"parking_name": "欢乐海岸停车场",
"charging_duration": 3600,
"device_id": "12313"
},
"payer": {
"openid": "oUpF8uMuAJOM2pxb1Q",
"sub_openid": "oUpF8uMuAJOM2pxb1Q"
},
"amount": {
"total": 888,
"currency": "CNY",
"payer_total": 100,
"discount_total": 100
},
"promotion_detail": [
{
"coupon_id": "109519",
"name": "单品惠-6",
"scope": "SINGLE",
"type": "CASH",
"stock_id": "931386",
"amount": 5,
"wechatpay_contribute": 1,
"merchant_contribute": 1,
"other_contribute": 1,
"currency": "CNY"
}
]
}
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
429 | RATELIMIT_EXCEEDED | 达到调用速率限制 | 接口调用频率过快,请降低请求频率 |
400 | PARAM_ERROR | 参数错误 | 参数错误,请依照文档检查各参数是否合法 |
400 | INVALID_REQUEST | 非法商户,服务商模式下请确认子商户正确 | 微信支付分停车服务不支持当前商户访问,请确认商户已获得本产品权限。服务商模式下请同时确认子商户无误且已获得本产品权限 |
400 | INVALID_REQUEST | 商户号和公众号没有绑定关系 | 检查请求中的appid与商户号(服务商模式下则为服务商商户号)是否匹配,然后重试 |
400 | INVALID_REQUEST | 商户号、子商户号以及子公众号没有绑定关系 | 检查请求中的sub_appid,sub_mchid与服务商商户号是否匹配,然后重试 |
400 | INVALID_REQUEST | 用户状态异常 | 风控失败或者用户账户冻结 |
400 | ALREADY_EXISTS | out_trade_no冲突 | out_trade_no冲突,不同的订单请保证 out_trade_no 唯一 |
400 | INVALID_REQUEST | 停车入场id不存在 | 商户传参的停车入场id是非法,请填写微信支付分停车服务分配的停车入场id |
400 | INVALID_REQUEST | 场景信息和停车入场id不匹配 | 场景信息内容与入场id不对应 |
400 | INVALID_REQUEST | 扣款额度超出限制 | 请检查确保发起扣款的订单额度不超过微信支付分停车支持的单笔及单日扣款额度 |
403 | NO_AUTH | 当前商户无法扣款 | 当前扣款商户无权限扣款,请确认当前扣款商户已开通微信支付分停车产品权限 |
403 | NOT_ENOUGH | 用户欠款过多,暂停交易 | 用户在微信支付分停车服务中欠款过多,不能进行扣款 |
500 | SYSTEM_ERROR | 出现内部服务器错误 | 5开头的错误码均为系统错误,请使用相同的参数稍后重试 |