合规开户
正式环境发送异步通知只支持443或80端口 其他端口暂时不支持
本文档定义CHINAPNR结汇入境业务开户接口规范,提供接口报文参数说明、示例报文、信息安全解决方案,并给出相关问题说明等,以帮助商户技术人员接入,便于尽快投入使用。
根据PCI-DSS检查要求,正式环境禁止使用低版本的SSL3.0 TLS1.0 TLS1.1等协议,请使用高于TLSv1.2及以上发送请求,推荐使用TLSv1.2
1 个人用户开户
环境 | HTTPS请求地址 |
---|---|
测试环境 | https://hfgj.testpnr.com/mcs/individualComplianceReg.htm |
正式环境 | https://global.chinapnr.com/mcs/individualComplianceReg.htm |
1.1 请求
参数 | 参数含义 | 长度 | 是否必填 | 参数说明 |
---|---|---|---|---|
协议参数 | ||||
version | 网关版本 | String(10) | 不可空 | 固定值:1 |
signType | 签名类型 | String(2) | 不可空 | 固定值:4。RSA加签 |
业务参数 | ||||
requestId | 请求流水号 | String(32) | 不可空 | - |
requestTime | 请求时间 | String(16) | 不可空 | yyyyMMddHHmmss |
merchantAcctId | 商户号 | String(32) | 不可空 | 由我司提供 |
platformUserId | 用户平台ID | String(32) | 不可空 | 用户在商户系统中的唯一编号 |
platformRegTime | 平台用户注册时间 | String(16) | 不可空 | yyyyMMddHHmmss |
contractEmailId | 签约邮箱 | String(40) | 不可空 | 用于第三方签约注册。此邮箱建议由商户随机生成,需在商户系统中唯一,格式可以为:{商户英文简称}+{唯一标识}@{商户英文简称}.com |
name | 姓名 | String(32) | 不可空 | - |
certType | 证件类型 | String(2) | 不可空 | 00-身份证(目前仅支持00) 01-护照 02-军官证 03-士兵证 04-回乡证 06-警官证 08-台胞证 13-其他 |
certId | 证件号码 | String(64) | 不可空 | 支- |
certExpDateStart | 证件有效期起始 | String(8) | 可空 | yyyyMMdd。 |
certExpDateEnd | 证件有效期结束 | String(8) | 不可空 | yyyyMMdd。如无则填写20990101 |
mobileNumber | 手机号 | String(11) | 不可空 | - |
address | 地址 | String(128) | 不可空 | - |
电子邮箱 | String(40) | 不可空 | 此邮箱号将用于接收合同文件,需保证正确性、真实性 | |
bankCode | 开户银行 | String(20) | 不可空 | 附件代发银行编码 |
acctType | 账户类型 | String(1) | 不可空 | 1-对公 2-对私 |
bankAcct | 账号 | String(20) | 不可空 | - |
acctName | 户名 | String(50) | 不可空 | 对公时须与企业名称一致; 对私时须与姓名一致 |
province | 省份 | String(8) | 条件必输 | 附录省份编码 |
area | 地区 | String(8) | 条件必输 | 附录地区编码 |
bankBranch | 支行名称 | String(50) | 条件必输 | - |
uniteBankCode | 联行号 | String(20) | 条件必输 | 对公时,省+地区+支行名称,或者收款联行号至少一组不为空。 |
certPhotoCopyF | 证件影印件正面 | - | 不可空 | 文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M |
certPhotoCopyB | 证件影印件反面 | - | 不可空 | 文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M |
asyncNoticeFlag | 是否接收异步通知 | String(1) | 不可空 | 固定填1,接收异步通知。 |
noticeUrl | 后台通知地址 | String(256) | 不可空 | 互联网可访问。用于接收异步结果。 |
ext1 | 扩展字段1 | String(2000) | 不可空 | 店铺信息,请以jason方式按如下规则填写:{"storeInfo":[{"storeId":"AMAZON_eq3142412342","storelink":"www.amazon.com/dfadasf"},{"storeId":"EBAY_EQRWE","storelink":"www.ebay.com/234234"}]}其中,storeId为“平台名称_店铺ID”,storelink为店铺链接。注:如果没有店铺ID可以提供例如用户在电商平台的sellerid或者在平台的账号等唯一识别标记作为替代;如果没有店铺链接,值可填N/A。 |
ext2 | 扩展字段2 | String(512) | 可空 | 备用 |
signMsg | 签名信息 | String(2048) | 不可空 | 参数1={参数1}&参数2={参数2}&……&参数n={参数n}然后进行商户密钥进行加签 |
- - 仅对非空字段进行加签
acctName={acctName}&acctType={acctType}&address={address}&area={area}&bankAcct={bankAcct}&bankBranch={bankBranch}&bankCode={bankCode}&certExpDate={certExpDate}&certId={certId}&certType={certType}&contractEmailId={contractEmailId}&email={email}&merchantAcctId={merchantAcctId}&mobileNumber={mobileNumber}&name={name}¬iceUrl={noticeUrl}&platformRegTime={platformRegTime}&platformUserId={platformUserId}&province={province}&requestId={requestId}&requestTime={requestTime}&signType={signType}&uniteBankCode={uniteBankCode}&version={version}
1.2 应答
同步/异步返回参数说明:
参数名称 | 参数含义 | 最大长度 | 参数说明 |
---|---|---|---|
version | 版本号 | String(10) | 原样返回 |
signType | 签名方式 | String(2) | 原样返回 |
requestId | 请求流水号 | String(32) | 原样返回 |
merchantAcctId | 商户号 | String(32) | 原样返回 |
platformUserId | 用户平台ID | String(32) | 原样返回 |
ext1 | 扩展字段1 | String(512) | 原样返回 |
ext2 | 扩展字段2 | String(512) | 原样返回 |
userId | 汇付唯一用户号 | String(11) | result为00时返回 |
result | 状态 | String(2) | 01-审核中 02-失败 00-成功 |
errorCode | 错误码 | String(8) | 错误码;失败时返回的错误代码,可以为空。 |
errorMsg | 错误描述 | String(256) | 错误描述;失败时返回的错误信息,可以为空。 |
signMsg | 签名信息 | String(2048) | 异步返回参数,同步无此参数 |
- 按以下固定字段顺序进行加签
- 仅对非空字段进行加签
merchantAcctId={merchantAcctId}&platformUserId={platformUserId}&requestId={requestId}&requestTime={requestTime}&result={result}&signType={signType}&userId={userId}&version={version}
2 企业用户开户
环境 | HTTPS请求地址 |
---|---|
测试环境 | https://hfgj.testpnr.com/mcs/enterpriseRegV2.htm |
正式环境 | https://global.chinapnr.com/mcs/enterpriseRegV2.htm |
2.1 请求
参数 | 参数含义 | 长度 | 是否必填 | 参数说明 |
---|---|---|---|---|
协议参数 | ||||
version | 网关版本 | String(10) | 不可空 | 固定值:1 |
signType | 签名类型 | String(2) | 不可空 | 固定值:4。RSA加签 |
业务参数 | ||||
requestId | 请求流水号 | String(32) | 不可空 | - |
requestTime | 请求时间 | String(16) | 不可空 | yyyyMMddHHmmss |
merchantAcctId | 商户号 | String(32) | 不可空 | 由我司提供 |
platformUserId | 用户平台ID | String(32) | 不可空 | 用户在商户系统中的唯一编号 |
platformRegTime | 平台用户注册时间 | String(16) | 不可空 | yyyyMMddHHmmss |
contractEmailId | 签约邮箱 | String(40) | 不可空 | 用于第三方签约注册。此邮箱建议由商户随机生成,需在商户系统中唯一,格式可以为:{商户英文简称}+{唯一标识}@{商户英文简称}.com |
name | 企业名称 | String(64)) | 不可空 | - |
shortName | 企业简称 | String(20) | 可空 | - |
type | 企业类型 | String(2) | 不可空 | 1-个体工商户 2-企业 |
legalPerson | 法人姓名 | String(32) | 不可空 | - |
legalCertType | 法人证件类型 | String(2) | 不可空 | 00-身份证 |
legalCertId | 法人证件号 | SString(32) | 不可空 | - |
legalCertExpDateStart | 法人证件生效日期 | String(8) | 可空 | 格式yyyyMMdd。 |
legalCertExpDateEnd | 法人证件时效日期 | String(8) | 不可空 | 格式yyyyMMdd。如无则填写20990101 |
legalMobile | 法人手机号 | String(11) | 可空 | - |
contactName | 联系人姓名 | String(32) | 不可空 | - |
contactCertType | 联系人证件类型 | String(2) | 不可空 | 00-身份证 |
contactCertId | 联系人证件号 | String(32) | 不可空 | - |
contactCertExpDateStart | 联系人证件生效日期 | String(8) | 不可空 | 格式yyyyMMdd。 |
contactCertExpDateEnd | 联系人证件失效日期 | String(8) | 不可空 | 格式:yyyyMMdd 若证件上无有效期,则填写20990101 |
contactMobile | 联系人手机号 | String(11) | 不可空 | - |
contactEmail | 联系人邮箱 | String(40) | 不可空 | - |
address | 企业地址 | String(128) | 不可空 | - |
phone | 企业电话 | String(15) | 不可空 | - |
orgCode | 组织机构代码 | String(45) | 不可空 | 组织机构代码 |
orgExpDateStart | 组织机构代码证生效日期 | String(8) | 不可空 | 日期格式:yyyyMMdd |
orgExpDateEnd | 组织机构代码失效日期 | String(8) | 不可空 | 格式:yyyyMMdd,若证件上无有效期,则填写20990101 |
bizLicenseCode | 营业执照号 | String(45) | 不可空 | 工商登记号或统一社会信用代码。开户后不可变更。 |
bizLicenseExpDateStart | 营业执照生效日期 | String(8) | 可空 | 日期格式:yyyyMMdd |
bizLicenseExpDateEnd | 营业执照失效日期 | String(8) | 不可空 | 日期格式:yyyyMMdd。若证件上无有效期,则填写20990101 |
taxRegCode | 税务登记号 | String(64) | 条件必输 | 若类型为企业,且为旧证时必填。 |
taxRegExpDateStart | 税务登记证生效日期 | String(8) | 可空 | 日期格式:yyyyMMdd |
taxRegExpDateEnd | 税务登记证失效日期 | String(8) | 条件必输 | 格式:yyyyMMdd, 税务登记号不为空时必填,若证件上无有效期,则填写20990101 |
bankCode | 开户银行 | String(20) | 不可空 | 附件代发银行编码 |
acctType | 账户类型 | String(1) | 不可空 | 1-对公 2-对私 |
bankAcct | 账号 | String(20) | 不可空 | - |
acctName | 户名 | String(50) | 不可空 | 对公时须与企业名称一致; 对私时须与法人姓名一致 |
province | 省份 | String(8) | 条件必输 | 附录省份编码 |
area | 地区 | String(8) | 条件必输 | 附录地区编码 |
bankBranch | 支行名称 | String(50) | 条件必输 | - |
uniteBankCode | 收款行联行号 | String(20) | 条件必输 | 对公时,省+地区+支行名称,或者收款联行号至少一组不为空。 |
legalCertPhotoCopyF | 法人证件的影印件正面 | - | 不可空 | 文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M |
legalCertPhotoCopyB | 法人证件的影印件反面 | - | 不可空 | 文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M |
contactCertPhotoCopyF | 联系人证件的影印件正面 | - | 不可空 | 文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M |
contactCertPhotoCopyB | 联系人证件的影印件反面 | - | 不可空 | 文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M |
bizLicensePhotoCopy | 营业执照影印件 | - | 不可空 | 文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M |
orgPhotoCopy | 组织机构代码证影印件 | - | 条件必输 | 若类型为企业,且为旧证时必填,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M |
taxRegPhotoCopy | 税务登记证影印件 | - | 条件必输 | 若类型为企业,且为旧证时必填,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M |
openLicensePhotoCopy | 开户许可证影印件 | - | 可空 | 若类型为企业,且为旧证时必填,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M |
asyncNoticeFlag | 是否接收异步通知 | String(1) | 不可空 | 固定值1,有异步 |
noticeUrl | 后台通知地址 | String(256) | 不可空 | 互联网可访问。 |
ext1 | 扩展字段1 | String(2000) | 不可空 | 店铺信息,请以jason方式按如下规则填写:{"storeInfo":[{"storeId":"AMAZON_eq3142412342","storelink":"www.amazon.com/dfadasf"},{"storeId":"EBAY_EQRWE","storelink":"www.ebay.com/234234"}]}其中,storeId为“平台名称_店铺ID”,storelink为店铺链接。注:如果没有店铺ID可以提供例如用户在电商平台的sellerid或者在平台的账号等唯一识别标记作为替代;如果没有店铺链接,值可填N/A。 |
ext2 | 扩展字段2 | String(512) | 可空 | 备用 |
signMsg | 签名信息 | String(2048) | 不可空 | 参数1={参数1}&参数2={参数2}&……&参数n={参数n}然后进行商户密钥进行加签 |
- 仅对非空字段进行加签
acctName={acctName}&acctType={acctType}&address={address}&area={area}&bankAcct={bankAcct}&bankBranch={bankBranch}&bankCode={bankCode}&bizLicenseCode={bizLicenseCode}&contactCertId={contactCertId}&contactCertType={contactCertType}&contactEmail={contactEmail}&contactMobile={contactMobile}&contactName={contactName}&contractEmailId={contractEmailId}&legalCertId={legalCertId}&legalCertType={legalCertType}&legalMobile={legalMobile}&legalPerson={legalPerson}&merchantAcctId={merchantAcctId}&name={name}&orgCode={orgCode}&phone={phone}&platformRegTime={platformRegTime}&platformUserId={platformUserId}&province={province}&requestId={requestId}&requestTime={requestTime}&shortName={shortName}&signType={signType}&taxRegCode={taxRegCode}&type={type}&uniteBankCode={uniteBankCode}&version={version}
2.2 应答
同步/异步返回参数说明:
参数名称 | 参数含义 | 最大长度 | 参数说明 |
---|---|---|---|
version | 版本号 | String(10) | 原样返回 |
signType | 签名方式 | String(2) | 原样返回 |
requestId | 请求流水号 | String(32) | 原样返回 |
requestTime | 请求时间 | String(16) | 原样返回 |
merchantAcctId | 商户号 | String(32) | 原样返回 |
platformUserId | 用户平台ID | String(32) | 原样返回 |
userId | 汇付唯一用户号 | String(11) | result为00时返回 |
result | 状态 | String(2) | 01-审核中 02-失败 00-成功 |
errorCode | 错误码 | String(8) | 错误码;失败时返回的错误代码,可以为空。 |
errorMsg | 错误描述 | String(256) | 错误描述;失败时返回的错误信息,可以为空。 |
ext1 | 扩展字段1 | String(512) | 原样返回 |
ext2 | 扩展字段2 | String(512) | 原样返回 |
signMsg | 签名信息 | String(2048) | 异步返回参数,同步无此参数 |
- 按以下固定字段顺序进行加签
- 仅对非空字段进行加签
version={version}&signType={signType}&requestId={requestId}&requestTime={requestTime}&merchantAcctId={merchantAcctId}&platformUserId={platformUserId}&userId={userId}&result={result}&errorCode={errorCode}&errorMsg={errorMsg}
3 个人/企业用户开户结果查询
环境 | HTTPS请求地址 |
---|---|
测试环境 | 个人:https://hfgj.testpnr.com/mcs/individualQry.htm 企业:https://hfgj.testpnr.com/mcs/enterpriseQry.htm |
正式环境 | 个人:https://global.chinapnr.com/mcs/individualQry.htm 企业:https://global.chinapnr.com/mcs/enterpriseQry.htm |
3.1 请求
参数 | 参数含义 | 长度 | 是否必填 | 参数说明 |
---|---|---|---|---|
协议参数 | ||||
version | 网关版本 | String(10) | 不可空 | 固定值:1 |
signType | 签名类型 | String(2) | 不可空 | 固定值:4。RSA加签 |
业务参数 | ||||
requestId | 请求流水号 | String(32) | 不可空 | - |
requestTime | 请求时间 | String(16) | 不可空 | yyyyMMddHHmmss |
merchantAcctId | 商户号 | String(32) | 不可空 | 由我司提供 |
platformUserId | 用户平台ID | String(32) | 不可空 | 用户在商户系统中的唯一编号 |
signMsg | 签名信息 | String(2048) | 不可空 | 参数1={参数1}&参数2={参数2}&……&参数n={参数n}然后进行商户密钥进行加签 |
- 按以下固定字段顺序进行加签
- 仅对非空字段进行加签
merchantAcctId={merchantAcctId}&platformUserId={platformUserId}&requestId={requestId}&requestTime={requestTime}&signType={signType}&version={version}
3.2 应答
同步/异步返回参数说明:
参数名称 | 参数含义 | 最大长度 | 参数说明 |
---|---|---|---|
version | 版本号 | String(10) | 原样返回 |
signType | 签名方式 | String(2) | 原样返回 |
requestId | 请求流水号 | String(32) | 原样返回 |
requestTime | 请求时间 | String(16) | 原样返回 |
merchantAcctId | 商户号 | String(32) | 原样返回 |
platformUserId | 用户平台ID | String(32) | 原样返回 |
userId | 汇付唯一用户号 | String(11) | 汇付唯一用户号 |
result | 状态 | String(2) | 01-审核中 02-失败 00-成功 |
errorCode | 错误码 | String(8) | 错误码;失败时返回的错误代码,可以为空。 |
errorMsg | 错误描述 | String(256) | 错误描述;失败时返回的错误信息,可以为空。 |
signMsg | 签名信息 | String(2048) | 参数1={参数1}&参数2={参数2}&……&参数n={参数n}然后进行商户密钥进行加签 |
- 按以下固定字段顺序进行加签
- 仅对非空字段进行加签
version={version}&signType={signType}&requestId={requestId}&requestTime={requestTime}&merchantAcctId={merchantAcctId}&platformUserId={platformUserId}&result={result}&errorCode={errorCode}&errorMsg={errorMsg}
demo下载
demo样例 | 操作 |
---|---|
JavaDemo-个人合规开户.zip | 下载 |
JavaDemo-企业合规开户.zip | 下载 |
附录
说明 | 操作 |
---|---|
代发银行列表v190.xlsx | 下载 |
PNRI_代发省市_2018110201.xls | 下载 |