# 生码

微信后台向业务方请求二维码源数据,前端可以根据源数据生成乘车码。

# 1、 请求参数

参数名称 类型 必选 备注
appid string Y 小程序
appidmch_id string Y 支付商户号
nonce_str string Y 随机字符串
encrypted_data string Y 使用AESCBCPKCS7PADDING
iv string Y 用于解密的IV(base64后)
sign string Y 1~5字段的签名

encrypted_data解密后的数据

参数名称 类型 必选 备注
openid string Y 用户
idcard_id string Y 第三方用户id(有注册环节则有)
user_public_key string Y 用户公钥,16进制格式,共130字节

# 2、 返回参数

参数名称 类型 必选 备注
errcode int Y 0为成功
errmsg string N 错误信息
nonce_str string Y 原样带回
encrypted_data string Y 使用AESCBCPKCS7PADDING

encrypted_data解密后的数据

参数名称 类型 必选 备注
base64_svr_data string Y 交通部乘车码标准1~15字段拼接的二进制流,base64后便于网络传输

# 3、 示例代码

请求:

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

encrypted_data解密后:

{"openid":"1234","user_public_key":"123123","card_id":"2342343"}

返回:

{"errcode":0,"nonce_str":"abcdefg","encrypted_data":"jfiwajeofjiefef","iv":"afweifwefe"}

encrypted_data解密后的数据:

{"base64_svr_data":"xxafdafd"}