高速场景商户扣款

更新时间: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

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

属性

amount  必填 object

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

属性

device_info  必填 object

【设备信息】 设备信息

属性

请求示例

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

【支付者】 支付者信息

属性

amount  必填 object

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

属性

device_info  必填 object

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

属性

promotion_detail  选填 array[object]

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

属性

应答示例

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

系统错误

请稍后原付款单号重试

 

 

反馈
咨询
目录
置顶