高速场景商户扣款API
更新时间:2023.12.12ETC高速场景订单扣款下单。
注意
- 扣款结果同步返回,不会有异步回调,当返回结果不明确或为“USERPAYING”时,商户系统可通过订单查询接口核实订单状态。
# 接口说明
支持商户: 【普通服务商】
请求方式: 【POST】
请求URL: /v3/vehicle/etc/transactions/highway
请求域名:【主域名】 "https://api.mch.weixin.qq.com"
# 请求参数
- Authorization 必填请参考 签名认证 生成认证信息
- Accept 必填请设置为
application/json
- Content-Type 必填请设置为
application/json
Header HTTP头参数
- out_trade_no 必填【商户订单号】 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-且在同一个商户号下唯一。重新发起一笔支付要使用原订单号,避免重复支付。
- sub_mchid 选填【特约商户号】 特约商户号,由微信支付生成并下发。
- appid 必填【商户AppID】 商户申请的公众号AppID。
- sub_appid 选填【特约商户AppID】 微信支付分配的公众账号ID。
- contract_id 必填【微信侧ETC绑定号】 一串随机的数字、a-z、A-Z的32位长度字符串。
- description 必填【商品信息】 商品信息
- attach 选填【附加信息】 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据。
- goods_tag 选填【营销信息】 商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠
。 - highway_info 必填【高速场景信息】 高速场景信息
- 属性
- amount 必填【订单金额】 订单金额信息
- 属性
- device_info 必填【设备信息】 设备信息
- 属性
Body 包体参数
请求示例
POST
# 应答参数
- mchid 必填【商户号】 商户号,由微信支付生成并下发。
- sub_mchid 选填【特约商户号】 特约商户号,由微信支付生成并下发。
- appid 必填【商户AppID】 商户申请的公众号AppID。
- sub_appid 选填【特约商户AppID】 微信支付分配的公众账号ID。
- out_trade_no 必填【商户订单号】 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-且在同一个商户号下唯一。重新发起一笔支付要使用原订单号,避免重复支付。
- transaction_id 必填【微信支付订单号】 微信支付系统生成的订单号。
- attach 选填【商户数据】 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据。
- trade_type 必填【交易类型】 枚举值:
PAP 委托代扣支付 - bank_type 选填【付款银行】 银行类型,采用字符串类型的银行标识,值列表详见银行类型
- success_time 选填【支付完成时间】 支付成功时返回,按照使用rfc3339
所定义的格式,格式为YYYY-MM-DDThh:mm:ss+TIMEZONE - trade_state 必填【交易状态】 订单支付状态,枚举值: SUCCESS—支付成功 REFUND—转入退款 ACCEPTED—已受理,未支付 PAY_FAIL--支付失败(其他原因,如银行返回失败)
- trade_state_desc 选填【交易状态描述】 对当前订单状态的描述和下一步操作的指引
- payer 选填【支付者】 支付者信息
- 属性
- amount 必填【订单金额】 订单金额信息
- 属性
- device_info 必填【设备信息】 设备信息对象
- 属性
- promotion_detail 选填【优惠详情】 优惠功能信息
- 数组
200OK
应答示例
200 OK
# 错误码
# 公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
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 | 系统错误 | 请稍后原付款单号重试 |
文档是否有帮助