高速场景商户扣款

更新时间:2024.11.18

ETC高速场景订单扣款下单。

注意

  • 扣款结果同步返回,不会有异步回调,当返回结果不明确或为“USERPAYING”时,商户系统可通过订单查询接口核实订单状态。

接口说明

支持商户:【普通服务商】

请求方式:【POST】/v3/vehicle/etc/transactions/highway

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

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

请求参数
折叠全部参数

Header HTTP头参数

Authorization  必填 string

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


Accept  必填 string

请设置为application/json


Content-Type  必填 string

请设置为application/json


body 包体参数

out_trade_no  必填 string(32)

【商户订单号】 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-且在同一个商户号下唯一。重新发起一笔支付要使用原订单号,避免重复支付。


sub_mchid  选填 string(32)

【特约商户号】 特约商户号,由微信支付生成并下发。


appid  必填 string(32)

【商户appid】 商户申请的公众号AppID。


sub_appid  选填 string(32)

【特约商户appid】 微信支付分配的公众账号ID。


contract_id  必填 string

【微信侧ETC绑定号】 一串随机的数字、a-z、A-Z的 32位长度字符串


description  必填 string

【商品信息】 商品信息


attach  选填 string(127)

【附加信息】 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据


goods_tag  选填 string(32)

【营销信息】 商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠


highway_info  必填 object

【高速场景信息】 高速场景信息

属性

plate_number  必填 string(32)

【车牌号】 车牌号。仅包括省份+车牌,不包括特殊字符。


start_time  必填 string(32)

【入站时间】 用户入闸时间,按照使用rfc3339所定义的格式,格式为YYYY-MM-DDThh:mm:ss+TIMEZONE。


end_time  必填 string(32)

【出站时间】 用户出闸时间,按照使用rfc3339所定义的格式,格式为YYYY-MM-DDThh:mm:ss+TIMEZONE。


channel_type  必填 string(16)

【通道类型】 高速通道类型,目前可选:ETC、MTC。商户扣费前必须确认当前车牌的标识属性,用户车牌必须具有该通道标识时,才允许扣费。


car_type  必填 string(16)

【车辆类型】 车辆的类型,可选值:

CAR :客车

TRUCK:货车


entrance  必填 string(96)

【入口名称】 高速收费入口站的名称,需提前提供进行录入


exit  选填 string(96)

【出口名称】 高速收费出口站的名称,需提前提供进行录入


carrying_capacity  选填 integer

【承载人数】 当前车辆核载人数,纯数字


carrying_range  选填 string(32)

【荷载范围】 当前车辆核载人数区间,格式数字-数字


amount  必填 object

【订单金额】 订单金额信息

属性

total  选填 integer

【订单金额】 订单总金额,单位为分,只能为整数,详见支付金额


currency  选填 string(16)

【货币类型】 符合ISO 4217标准的三位字母代码,目前只支持人民币:CNY


device_info  必填 object

【设备信息】 设备信息

属性

device_id  选填 string(32)

【商户端设备号】 商户端设备号


device_ip  必填 string(40)

【商户端设备IP】 商户端设备IP

请求示例

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/vehicle/etc/transactions/highway \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Content-Type: application/json" \
6  -d '{
7    "out_trade_no" : "121775250124070332",
8    "sub_mchid" : "1900000109",
9    "appid" : "wxd678efh567hg6787",
10    "sub_appid" : "wxd678efh567hg6999",
11    "contract_id" : "wxd678ef4Fwxd678ef4Fwxd678ef4F21",
12    "description" : "商品信息",
13    "attach" : "自定义数据",
14    "goods_tag" : "test",
15    "highway_info" : {
16      "plate_number" : "粤B888888",
17      "start_time" : "2017-08-26T09:43:39+08:00",
18      "end_time" : "2017-08-26T09:43:39+08:00",
19      "channel_type" : "ETC",
20      "car_type" : "CAR",
21      "entrance" : "沿江深圳-大铲湾",
22      "exit" : "广珠东线-珠海站",
23      "carrying_capacity" : 3,
24      "carrying_range" : "6-12"
25    },
26    "amount" : {
27      "total" : 888,
28      "currency" : "CNY"
29    },
30    "device_info" : {
31      "device_id" : "POS1:1",
32      "device_ip" : "123.12.12.123"
33    }
34  }'
35

应答参数
折叠全部参数

200 OK

mchid  必填 string(32)

【商户号】 商户号,由微信支付生成并下发。


sub_mchid  选填 string(32)

【特约商户号】 特约商户号,由微信支付生成并下发。


appid  必填 string(32)

【商户appid】 商户申请的公众号AppID。


sub_appid  选填 string(32)

【特约商户appid】 微信支付分配的公众账号ID。


out_trade_no  必填 string(32)

【商户订单号】 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-且在同一个商户号下唯一。重新发起一笔支付要使用原订单号,避免重复支付。


transaction_id  必填 string(32)

【微信支付订单号】 微信支付系统生成的订单号。


attach  选填 string(127)

【商户数据】 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据


trade_type  必填 string(16)

【交易类型】 枚举值:

PAP 委托代扣支付


bank_type  选填 string(16)

【付款银行】 银行类型,采用字符串类型的银行标识,值列表详见银行类型


success_time  选填 string(32)

【支付完成时间】 支付成功时返回,按照使用rfc3339所定义的格式,格式为YYYY-MM-DDThh:mm:ss+TIMEZONE


trade_state  必填 string(32)

【交易状态】 订单支付状态,可选值:SUCCESS—支付成功,REFUND—转入退款,ACCEPTED—已受理,未支付,PAY_FAIL--支付失败(其他原因,如银行返回失败)


trade_state_desc  选填 string(256)

【交易状态描述】 对当前订单状态的描述和下一步操作的指引


payer  选填 object

【支付者】 支付者信息

属性

sp_openid  选填 string(128)

【用户在服务商app的标识】 用户在对应授权appid下用户唯一标识


sub_openid  选填 string(128)

【用户在特约商户app的标识】 用户在特约商户的唯一标识。


amount  必填 object

【订单金额】 订单金额信息

属性

total  必填 integer

【订单金额】 订单总金额,单位为分,只能为整数,详见支付金额


currency  选填 string(16)

【货币类型】 符合ISO 4217标准的三位字母代码,目前只支持人民币:CNY


payer_total  选填 integer

【用户支付金额】 用户实际支付金额,单位为分,只能为整数,详见支付金额


discount_total  选填 integer

【折扣】 订单折扣百分比,例如:86为八六折。


device_info  必填 object

【设备信息】 设备信息对象

属性

device_id  选填 string(32)

【商户端设备号】 商户端设备号


device_ip  选填 string(40)

【商户端设备IP】 商户端设备IP


promotion_detail  选填 array[object]

【优惠详情】 优惠功能信息

属性

promotion_id  必填 string(32)

【券ID】 券或者立减优惠id


name  选填 string(64)

【优惠名称】 优惠名称


scope  选填 string(32)

【优惠范围】 GLOBAL-全场代金券

SINGLE-单品优惠


type  选填 string(32)

【优惠类型】枚举值:

COUPON-代金券,需要走结算资金的充值型代金券,(境外商户券币种与支付币种一致),DISCOUNT-优惠券,不走结算资金的免充值型优惠券,(境外商户券币种与标价币种一致)。


activity_id  选填 string(32)

【活动ID】 在微信商户后台配置的批次ID


amount  必填 integer

【优惠券面额】 用户享受优惠的金额


wxpay_contribute  选填 integer

【微信出资】 特指由微信支付商户平台创建的优惠,出资金额等于本项优惠总金额,单位为分


merchant_contribute  选填 integer

【商户出资】 特指商户自己创建的优惠,出资金额等于本项优惠总金额,单位为分


other_contribute  选填 integer

【其他出资】 其他出资方出资金额,单位为分

应答示例

200 OK

1{
2  "mchid" : "1230000109",
3  "sub_mchid" : "1900000109",
4  "appid" : "wxd678efh567hg6787",
5  "sub_appid" : "wxd678efh567hg6999",
6  "out_trade_no" : "121775250124070332",
7  "transaction_id" : "25012014070332333018",
8  "attach" : "自定义数据",
9  "trade_type" : "PAP",
10  "bank_type" : "CMC",
11  "success_time" : "2017-08-26T10:43:39+08:00",
12  "trade_state" : "SUCCESS",
13  "trade_state_desc" : "请重新下单支付",
14  "payer" : {
15    "sp_openid" : "oUpF8uMuAJOM2pxb1Q",
16    "sub_openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
17  },
18  "amount" : {
19    "total" : 888,
20    "currency" : "CNY",
21    "payer_total" : 888,
22    "discount_total" : 100
23  },
24  "device_info" : {
25    "device_id" : "POS1:1",
26    "device_ip" : "123.12.12.123"
27  },
28  "promotion_detail" : [
29    {
30      "promotion_id" : "109519",
31      "name" : "单品惠-6",
32      "scope" : "SINGLE",
33      "type" : "DISCOUNT",
34      "activity_id" : "931386",
35      "amount" : 5,
36      "wxpay_contribute" : 5,
37      "merchant_contribute" : 5,
38      "other_contribute" : 5
39    }
40  ]
41}
42

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

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

400

INVALID_REQUEST

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

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

400

APPID_MCHID_NOT_MATCH

商户号信息错误或与AppID不匹配

请确认AppID与请求方商户是否有关联关系

403

RULE_LIMIT

当前订单金额超过支付限额

请检查当前扣款金额

400

CONTRACT_NOT_EXIST

当前车牌无绑定或已暂停ETC扣费服务

-

403

CONTRACT_ERROR

当前车牌ETC绑定状态失效

请通过查询用户接口核实签约状态

403

TRADE_ERROR

用户紧急冻结支付账户

提示用户可咨询微信客服了解具体原因

400

INVALID_REQUEST

订单重复扣款(同一车牌在同一出场时间重复发起扣款)

请检查请求参数、商户权限等是否正确

403

OUT_TRADE_NO_USED

当前商户订单号重复

请确认是否原参数重入或生成重复的单号

404

ORDER_NOT_EXIST

订单不存在

确认入参,传入正确单据

202

USER_PAYING

当前订单正在支付中

请稍后查单或原参数重试

403

NO_AUTH

无ETC代扣或委托代扣权限

-

429

FREQUENCY_LIMITED

频率超限

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

500

SYSTEM_ERROR

系统错误

请稍后原付款单号重试

 

 

元宝AI
反馈
目录
置顶