身份鉴权接口(三要素-四要素)
本文档定义CHINAPNR支付网关商户接入接口规范,提供接口报文参数说明、示例报文、信息安全解决方案,并给出相关问题说明等,以帮助商户技术人员接入,便于尽快投入使用。
根据PCI-DSS检查要求,正式环境禁止使用低版本的SSL3.0 TLS1.0 TLS1.1等协议,请使用高于TLSv1.2及以上发送请求,推荐使用TLSv1.2
提交参数
请求地址
环境 | HTTPS请求地址 |
---|---|
测试环境 | https://hfgj.testpnr.com/idauth/identityAuth.htm |
正式环境 | https://global.chinapnr.com//idauth/identityAuth.htm |
协议参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例 |
---|---|---|---|---|---|
inputCharset | String | 是 | 1 | 字符集,固定值:1 1-UTF-8 |
1 |
version | String | 是 | 10 | 版本,固定值:1.0 | 1.0 |
signType | String | 是 | 2 | 签名类型,固定值:4 4-RSA加签 |
4 |
业务参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例 |
---|---|---|---|---|---|
merchantAcctId | String | 是 | 32 | 由我司提供的商户号+01,共13位数字 | 1001234001101 |
terminalId | String | 是 | 8 | 终端号,由我司提供的终端号 | 666666 |
reqNo | String | 是 | 32 | 商户请求流水号,只允许使用字母、数字、_和-,每商户提交的订单号,必须在各自系统中唯一 | id_005201906120001 |
authType | String | 是 | 2 | 鉴权类型:03-三要素鉴权,04-四要素鉴权 | 03 |
idType | String | 是 | 2 | 证件类型:身份证-1 | 1 |
ciphertext | String | 是 | 2048 | 三要素/四要素密文。加密前明文按照以下固定格式拼串 三要素:姓名=张三&证件号码=210000199009091234&银行卡号=6214888888888888 四要素: 姓名=张三&证件号码=210000199009091234&银行卡号=6214888888888888&手机号码=13888888888 |
三要素: name=xxx&idNumber=xxx&cardNumber=xxx使用平台密钥加密 四要素: name=xxx&idNumber=xxx&cardNumber=xxx&mobileNumber=xxx使用平台密钥加密 |
ext1 | String | 否 | 128 | 扩展字段1,英文或中文字符串,鉴权完成后,按照原样返回给商户 | 扩展字段1 |
ext2 | String | 否 | 128 | 扩展字段2,英文或中文字符串,鉴权完成后,按照原样返回给商户 | 扩展字段2 |
signMsg | String | 是 | 2048 | 按以下固定字段顺序进行加签,仅对非空字段进行加签: inputCharset={inputCharset}&version={version}&signType={signType}&merchantAcctId={merchantAcctId}&terminalId={terminalId}&reqNo={reqNo}&authType={authType}&idType={idType} | 参数1={参数1}&参数2={参数2}&……&参数n={参数n}然后进行商户密钥进行加签,所有参与签名的参数 KEY及其值的大小写敏感。 |
返回结果
返回参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例 |
---|---|---|---|---|---|
version | String | 是 | 10 | 版本,固定值:1.0 | 1.0 |
signType | String | 是 | 2 | 签名类型,固定值:4 4-RSA加签 |
4 |
merchantAcctId | String | 是 | 32 | 商户号,与提交请求时的保持一致 | 1001234001101 |
terminalId | String | 是 | 8 | 终端号,与提交请求时的保持一致 | 666666 |
reqNo | String | 是 | 32 | 商户请求流水号,与提交请求时的保持一致 | id_005201906120001 |
respCode | String | 是 | 6 | 响应码:000000-处理成功,其它-处理失败 | 000000 |
respMsg | String | 否 | 256 | 响应描述 | 身份信息一致 |
result | String | 否 | 1 | 鉴权结果,响应码为000000时有返回值,否则为空。 身份信息匹配:S 身份信息不匹配:F |
S |
ext1 | String | 否 | 128 | 扩展字段1,英文或中文字符串,鉴权完成后,按照原样返回给商户 | 扩展字段1 |
ext2 | String | 否 | 128 | 扩展字段2,英文或中文字符串,鉴权完成后,按照原样返回给商户 | 扩展字段2 |
signMsg | String | 是 | 2048 | 签名字符串,商户需对该字段进行验签。详情请参考验签方法。 | 签名信息;对于所有值不为空的参数及对应值,按照字母顺序组成字符串RSA:参数1={参数1}&参数2={参数2}&……&参数n={参数n}然后进行平台证书加密形成密文后进行2048位的Base64转码。 |
请求实例
请参考具体Demo。 下载地址
错误码
错误码 | 错误描述 |
---|---|
100000 | 参数转换错误 |
100001 | 必输项未提交 |
100002 | 参数项长度不符 |
100003 | 请求的数据项格式错误 |
100004 | 请求的数据项不合法 |
100005 | 密文解密失败 |
100006 | 必输项未提交 |
100007 | 密文姓名格式错误 |
100008 | 密文证件号码格式错误 |
100009 | 密文银行卡号格式错误 |
100010 | 密文手机号格式错误 |
100011 | 请求流水号reqNo重复 |
100012 | 商户不存在 |
100013 | 商户号状态异常 |
100014 | 终端不存在 |
100015 | 终端状态异常 |
100016 | 签名验证失败 |
100017 | 签名内容不正确 |
100018 | 签名类型错误 |
100019 | 商户证书不存在 |
100020 | 产品功能未开通 |
100021 | 商户参数配置错误 |
100022 | 账户余额不足 |
100023 | 统计错误 |
100024 | 入账失败 |