高速场景商户扣款API

更新时间:2023.12.12

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

注意

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

# 接口说明

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

请求方式: 【POST】

请求URL: /v3/vehicle/etc/transactions/highway

请求域名:【主域名】 "https://api.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 必填 HighEtcSceneInfo
    【高速场景信息】 高速场景信息
    • 属性
  • amount 必填 OrderAmount
    【订单金额】 订单金额信息
    • 属性
  • device_info 必填 DeviceInfoOrder
    【设备信息】 设备信息
    • 属性

请求示例

POST

# 应答参数

    200OK
  • 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 必填 CommAmount
    【订单金额】 订单金额信息
    • 属性
  • device_info 必填 object
    【设备信息】 设备信息对象
    • 属性
  • promotion_detail 选填 array
    【优惠详情】 优惠功能信息
    • 数组

应答示例

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 系统错误 请稍后原付款单号重试
反馈
咨询
目录