扫码支付

(1)支付回调接口

业务方调用微信扣费接口之后,接收扣费结果通知。

1、 请求参数

参数名称类型必选备注
appidstringY小程序
appidmch_idstringY支付商户号
nonce_strstringY随机字符串
encrypted_datastringY使用AESCBCPKCS7PADDING
ivstringY用于解密的IV
signstringY1~5字段的签名

解密后的参数如下:

参数名称类型必选备注
openidstringY用户在小程序appid下的openid
bank_typestringY支付类型
total_feeintY支付总额,单位为分
trade_statestringY支付状态:SUCCESS/FAIL
trade_msgstringN支付失败时返回
transaction_idstringY微信支付单号
out_trade_nostringY乘车码业务方单号
attachstringN扣费API的入参,原样带回
time_endstringY支付完成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010
qrcodestringY二维码

2、 返回参数

参数名称类型必选备注
errcodeintY0为成功
errmsgstringN错误信息
nonce_strstringY原样带回

3、 示例代码

  1. {"appid":"test","mch_id":"123456","nonce_str":"abcdefg","encrypted_data":"jfiwajeofjiefef","iv":"afweifwefe"}

解密后数据:

  1. {"openid":"fafwefawef","bank_type":"CFT","total_fee":100,"trade_state":"SUCCESS",...}

(2)微信扣费接口(微信API接口)

用于接收业务方依据扫码接口获取到的信息对用户进行免密扣费。

1、请求参数

参数名称类型必选备注
qrcodestringY乘车码数据,需要base64
total_feeintY支付总额,分为单位(优惠后)
original_feeintY支付总额,分为单位(优惠前)
machine_ipstringN扫码机接入IP
machine_latitudefloatN扫码机GPS纬度
machine_longitudefloatN扫码机GPS经度
bodystringY公交代扣/地铁代扣
start_timestringY上车/乘车时间,如20091225091010
end_timestringN下车时间,格式同上,适用于二次刷码的场景
line_namestringY乘车线路
trade_scenestringYMETRO/BUS
start_qrcodestringN二次刷码时,传入首次刷码使用的二维码
out_order_nostringN业务方自定义订单号,需要保证唯一
attachstringN业务方自定义数据,对账单和查询接口会原样返回

2、 返回参数

参数名称类型必选备注
errcodeint32Y返回码
errmsgstringN返回信息

3、 示例代码

入参:

  1. {"qrcode":"afefawefwef",....}

返回

  1. {"errcode":0,....}