账户管理

  • 下载地址

SDK下载

Demo下载

  • SDK 版本记录

版本

日期

说明

v1.0.1

2021-11-18

java sdk上线

用户开户?

  • 简介

在商户号下为企业/个人开立用户账户,用以接收分账等业务的资金。

个人用户开户?

开立商户下的个人用户账户,即用户信息为个人,提供个人的身份证进行开户。

  • 调用示例

Java

  
	// 商户的私钥(base64编码格式)
	String base64PrivateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMpT/BKCrfkPKbMggoIQVpYL8chw8e9do+vuh5f5OsZNVm+BAtpJY+nGTBW4ggWEbtDWh4e+IsCVDzeXVDUmPO4GXro0o7QZpOVN+bo28k1x69tw65HMLTgjx3jjrQK7JdON7cqbtqWN624GVMgk5mJGu0ua+eBiOPuIBM3Re+61AgMBAAECgYEAqWvWIjHnOCzoQCSy4/KGbrKlzbA2BrgksUVVqX57Jt5PyKMBHoRh87mmsHGF/tS8boeViac/NoAa8/P2AWN5lGFl8Z9A4NlpXojA+vn7bn2fIjDzsB8s2txkmskuzzoDhUSeiPGf/HjPG7w6fl1BiHiix2xRr8Bw5wTeMJmsXQECQQDwrktdw8NP0FzmqmyFzTfz97UDsexKQfLSaFq31YydMoYlHEwsZcZhNTTBx71tni7/2eEQdVtFToAQRbEvGJBVAkEA1zTDC18DBHeGQdMwywrdc9BhbYY4a2ucc8XhRHScQzzyG4WgSFTrorLAH6QohpmFHfHm0Ws6AfDDhdQwuNTE4QJARI6hUTguLlH/5ISvHP3z7j6lBURtNknKzTyEetENmMmHhJKm8A6dj5sESB6JSuxAHwkFHxcOxJMzz27KpcutcQJAfnQNS6g3kK9e31zmJdiriXrfVMjybAReeRTEKkJO859jL9LT/MyRbReVlsIR4g1hT9gtZc6Y1j0P1pp5SpITYQJAdxwKEBXokaZwWy2gzEt3XdXBYoR5lvg/3T4GSEMBJZRmlmZpBOTbg/yYaf7lXtGUm+mZ3UZsCfJvwufit314sw==";
	
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 个人用户开户申请服务的url(测试环境)
	String serverUrl = "https://hfgj.testpnr.com/mcs/individualComplianceReg.htm";
	
	File file = new File("D:\\111.jpg");
	int length = (int) file.length();
	byte[] data = new byte[length];
	FileInputStream in = new FileInputStream(file);
	in.read(data);
	in.close();
	byte[] b = Base64.encodeBase64(data);
	
	// 证件(base64编码格式)
	String certPhotoCopy = new String(b);
	
	// 实例化客户端
	GcbPayClient gcbPayClient = new DefaultGcbPayClient(serverUrl, base64PrivateKey, base64PublicKey);
	
	// 构建请求对象
	GcbIndvUserRegisterRequest request = new GcbIndvUserRegisterRequest();
	
	String randomNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
	String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
	//必填,请求流水号,商户自动生成,请求流水号系统唯一,如:GRKH202112120930001
	request.setRequestId(randomNum);
	//必填,请求时间,yyyyMMddHHmmss
	request.setRequestTime(time);
	//必填,商户号,会员账号,由我司提供的商户号+01,共13位数字
	request.setMerchantAcctId("1001215986501");
	//必填,用户平台ID,用户在商户系统中的唯一编号
	request.setPlatformUserId(randomNum);
	//必填,平台用户注册时间,yyyyMMddHHmmss
	request.setPlatformRegTime(time);
	//必填,签约邮箱,用于第三方签约注册。此邮箱建议由商户随机生成,需在商户系统中唯一,格式可以为:{商户英文简称}+{唯一标识}@{商户英文简称}.com当前不支持包含下划线'_'的邮箱,支持以"字母大小写","数字","-","."生成符合格式的电子邮箱
	request.setContractEmailId("20211020152448shTest@163.com");
	//必填,姓名
	request.setName("王文斌");
	//必填,证件类型,00-身份证(目前仅支持00)
	request.setCertType("00");
	//必填,证件号码
	request.setCertId("411081199004235955");
	//非必填,证件有效期起始,yyyyMMdd
	request.setCertExpDateStart("");
	//必填,证件有效期结束,yyyyMMdd。如无则填写20990101
	request.setCertExpDateEnd("20990101");
	//必填,手机号
	request.setMobileNumber("15015160170");
	//必填,地址
	request.setAddress("广东省广州市");
	//必填,电子邮箱,3位币别码,此邮箱号将用于接收合同文件,需保证正确性、真实性
	request.setEmail("haobo.feng@huifu.com");
	//必填,开户银行,附件代发银行编码
	request.setBankCode("CCB");
	//必填,账户类型,1-对公 2-对私
	request.setAcctType("2");
	//必填,账号
	request.setBankAcct("4682037906128888");
	//必填,户名,对公时须与企业名称一致;对私时须与姓名一致
	request.setAcctName("王文斌");
	//条件必填,省份,附录省份编码
	request.setProvince("");
	//条件必填,地区,附录地区编码
	request.setArea("");
	//条件必填,支行名称
	request.setBankBranch("");
	//条件必填,联行号,对公时,省+地区+支行名称,或者收款联行号至少一组不为空。
	request.setUniteBankCode("");
	//必填,证件影印件正面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setCertPhotoCopyF(certPhotoCopy);
	//必填,证件影印件反面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setCertPhotoCopyB(certPhotoCopy);
	//必填,是否接收异步通知,固定填1,接收异步通知。
	request.setAsyncNoticeFlag("1");
	//必填,后台通知地址,互联网可访问。用于接收异步结果。
	request.setNoticeUrl("http://192.168.26.107:6999/mock/receiveBgRICU.do");
	//必填,扩展字段1,店铺信息,请以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。
	request.setExt1("ext1");
	//非必填,扩展字段2,备用
	request.setExt2("");
	//必填,职业,请查看附录职业编码
	request.setOccupationCode("1A");
	//必填,国籍,请查看附录国家编码
	request.setNationalCode("CHN");
	
	// 发送请求
	GcbIndvUserRegisterResponse response = gcbPayClient.execute(request);
	        
	//根据响应结果,进行业务逻辑处理
	// ......
  
  													
									
  • 接收异步示例

Java

  
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 实例化通知解析器
	GcbPayCallbackMessageParser gcbMessageParser = new DefaultGcbPayCallbackMessageParser(base64PublicKey);
	
	// 解析代发结果
	GcbIndvUserRegisterResult result = gcbMessageParser.parse(httpServeletRequest, GcbIndvUserRegisterResult.class);
	   
	//根据结果,进行业务逻辑处理
	// ......
  													
									
  • 参数说明

调用参数详见 个人用户开户接口

个人用户修改?

修改个人用户的开户信息。

  • 调用示例

Java

  
	// 商户的私钥(base64编码格式)
	String base64PrivateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMpT/BKCrfkPKbMggoIQVpYL8chw8e9do+vuh5f5OsZNVm+BAtpJY+nGTBW4ggWEbtDWh4e+IsCVDzeXVDUmPO4GXro0o7QZpOVN+bo28k1x69tw65HMLTgjx3jjrQK7JdON7cqbtqWN624GVMgk5mJGu0ua+eBiOPuIBM3Re+61AgMBAAECgYEAqWvWIjHnOCzoQCSy4/KGbrKlzbA2BrgksUVVqX57Jt5PyKMBHoRh87mmsHGF/tS8boeViac/NoAa8/P2AWN5lGFl8Z9A4NlpXojA+vn7bn2fIjDzsB8s2txkmskuzzoDhUSeiPGf/HjPG7w6fl1BiHiix2xRr8Bw5wTeMJmsXQECQQDwrktdw8NP0FzmqmyFzTfz97UDsexKQfLSaFq31YydMoYlHEwsZcZhNTTBx71tni7/2eEQdVtFToAQRbEvGJBVAkEA1zTDC18DBHeGQdMwywrdc9BhbYY4a2ucc8XhRHScQzzyG4WgSFTrorLAH6QohpmFHfHm0Ws6AfDDhdQwuNTE4QJARI6hUTguLlH/5ISvHP3z7j6lBURtNknKzTyEetENmMmHhJKm8A6dj5sESB6JSuxAHwkFHxcOxJMzz27KpcutcQJAfnQNS6g3kK9e31zmJdiriXrfVMjybAReeRTEKkJO859jL9LT/MyRbReVlsIR4g1hT9gtZc6Y1j0P1pp5SpITYQJAdxwKEBXokaZwWy2gzEt3XdXBYoR5lvg/3T4GSEMBJZRmlmZpBOTbg/yYaf7lXtGUm+mZ3UZsCfJvwufit314sw==";
	
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 个人用户开户修改服务的url(测试环境)
	String serverUrl = "https://hfgj.testpnr.com/mcs/individualUpd.htm";
	
	// 实例化客户端
	GcbPayClient gcbPayClient = new DefaultGcbPayClient(serverUrl, base64PrivateKey, base64PublicKey);
	
	// 构建请求对象
	GcbIndvUserModifyRequest request = new GcbIndvUserModifyRequest();
	String randomNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
	String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
	//必填,请求流水号,商户自动生成,请求流水号系统唯一,如:GRKH202112120930001
	request.setRequestId(randomNum);
	//必填,请求时间,yyyyMMddHHmmss
	request.setRequestTime(time);
	//必填,商户号,会员账号,由我司提供的商户号+01,共13位数字
	request.setMerchantAcctId("1001215986501");
	//必填,用户号,开户成功返回的用户号
	request.setUserId("112233");
	//非必填,用户平台ID,用户在商户系统中的唯一编号
	request.setPlatformUserId("");
	//非必填,平台用户注册时间,yyyyMMddHHmmss
	request.setPlatformRegTime("");
	//非必填,证件有效期起始,yyyyMMdd
	request.setCertExpDateStart("");
	//非必填,证件有效期结束,yyyyMMdd。如无则填写20990101
	request.setCertExpDateEnd("");
	//非必填,手机号
	request.setMobileNumber("");
	//非必填,地址
	request.setAddress("");
	//非必填,电子邮箱,3位币别码,此邮箱号将用于接收合同文件,需保证正确性、真实性
	request.setEmail("");
	//非必填,开户银行,附件代发银行编码
	request.setBankCode("");
	//非必填,账户类型,1-对公 2-对私
	request.setAcctType("");
	//非必填,账号
	request.setBankAcct("");
	//非必填,户名,对公时须与企业名称一致;对私时须与姓名一致
	request.setAcctName("");
	//非必填,省份,附录省份编码
	request.setProvince("");
	//非必填,地区,附录地区编码
	request.setArea("");
	//非必填,支行名称
	request.setBankBranch("");
	//条件非必填,联行号,对公时,省+地区+支行名称,或者收款联行号至少一组不为空。
	request.setUniteBankCode("");
	//非必填,证件影印件正面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setCertPhotoCopyF("");
	//非必填,证件影印件反面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setCertPhotoCopyB("");
	//必填,是否接收异步通知,固定填1,接收异步通知。
	request.setAsyncNoticeFlag("1");
	//条件必填,后台通知地址,互联网可访问。用于接收异步结果。
	request.setNoticeUrl("http://192.168.26.107:6999/mock/receiveBgUIU.do");
	//非必填,扩展字段1,店铺信息,请以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。
	request.setExt1("");
	//非必填,扩展字段2,备用
	request.setExt2("");
	//必填,职业,请查看附录职业编码
	request.setOccupationCode("1A");
	//必填,国籍,请查看附录国家编码
	request.setNationalCode("CHN");
	
	//发送请求
	GcbIndvUserModifyResponse response = gcbPayClient.execute(request);

	//根据响应结果,进行业务逻辑处理
	// ......  
  													
									
  • 接收异步示例

Java

  
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 实例化通知解析器
	GcbPayCallbackMessageParser gcbMessageParser = new DefaultGcbPayCallbackMessageParser(base64PublicKey);
	
	// 解析代发结果
	GcbIndvUserModifyResult result = gcbMessageParser.parse(httpServeletRequest, GcbIndvUserModifyResult.class);
	   
	//根据结果,进行业务逻辑处理
	// ......
  													
									
  • 参数说明

调用参数详见 个人开户修改接口

个人用户查询?

查询个人用户的开户信息。

  • 调用示例

Java

  
	// 商户的私钥(base64编码格式)
	String base64PrivateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMpT/BKCrfkPKbMggoIQVpYL8chw8e9do+vuh5f5OsZNVm+BAtpJY+nGTBW4ggWEbtDWh4e+IsCVDzeXVDUmPO4GXro0o7QZpOVN+bo28k1x69tw65HMLTgjx3jjrQK7JdON7cqbtqWN624GVMgk5mJGu0ua+eBiOPuIBM3Re+61AgMBAAECgYEAqWvWIjHnOCzoQCSy4/KGbrKlzbA2BrgksUVVqX57Jt5PyKMBHoRh87mmsHGF/tS8boeViac/NoAa8/P2AWN5lGFl8Z9A4NlpXojA+vn7bn2fIjDzsB8s2txkmskuzzoDhUSeiPGf/HjPG7w6fl1BiHiix2xRr8Bw5wTeMJmsXQECQQDwrktdw8NP0FzmqmyFzTfz97UDsexKQfLSaFq31YydMoYlHEwsZcZhNTTBx71tni7/2eEQdVtFToAQRbEvGJBVAkEA1zTDC18DBHeGQdMwywrdc9BhbYY4a2ucc8XhRHScQzzyG4WgSFTrorLAH6QohpmFHfHm0Ws6AfDDhdQwuNTE4QJARI6hUTguLlH/5ISvHP3z7j6lBURtNknKzTyEetENmMmHhJKm8A6dj5sESB6JSuxAHwkFHxcOxJMzz27KpcutcQJAfnQNS6g3kK9e31zmJdiriXrfVMjybAReeRTEKkJO859jL9LT/MyRbReVlsIR4g1hT9gtZc6Y1j0P1pp5SpITYQJAdxwKEBXokaZwWy2gzEt3XdXBYoR5lvg/3T4GSEMBJZRmlmZpBOTbg/yYaf7lXtGUm+mZ3UZsCfJvwufit314sw==";
	
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 个人用户开户查询服务的url(测试环境)
	String serverUrl = "https://hfgj.testpnr.com/mcs/individualQry.htm";
	
	// 实例化客户端
	GcbPayClient gcbPayClient = new DefaultGcbPayClient(serverUrl, base64PrivateKey, base64PublicKey);
	
	// 构建请求对象
	GcbIndvUserQueryRequest request = new GcbIndvUserQueryRequest();
	
	String randomNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
	String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
	
	//必填,请求流水号,商户自动生成,请求流水号系统唯一,如:GRKH202112120930001
	request.setRequestId(randomNum);
	//必填,请求时间,yyyyMMddHHmmss
	request.setRequestTime(time);
	//必填,商户号,会员账号,由我司提供的商户号+01,共13位数字
	request.setMerchantAcctId("1001215986501");
	//必填,用户平台ID,用户在商户系统中的唯一编号
	request.setPlatformUserId("112233");
	
	//发送请求
	GcbIndvUserQueryResponse response = gcbPayClient.execute(request);

	//根据响应结果,进行业务逻辑处理
	// ......  
  													
											
  • 参数说明

调用参数详见 个人开户查询接口(参见个人开户接口目录3)

企业用户开户?

开立商户下的企业用户账户,即用户资质为企业(个体户/公司),提供营业执照开户。

  • 调用示例

Java

  
	// 商户的私钥(base64编码格式)
	String base64PrivateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMpT/BKCrfkPKbMggoIQVpYL8chw8e9do+vuh5f5OsZNVm+BAtpJY+nGTBW4ggWEbtDWh4e+IsCVDzeXVDUmPO4GXro0o7QZpOVN+bo28k1x69tw65HMLTgjx3jjrQK7JdON7cqbtqWN624GVMgk5mJGu0ua+eBiOPuIBM3Re+61AgMBAAECgYEAqWvWIjHnOCzoQCSy4/KGbrKlzbA2BrgksUVVqX57Jt5PyKMBHoRh87mmsHGF/tS8boeViac/NoAa8/P2AWN5lGFl8Z9A4NlpXojA+vn7bn2fIjDzsB8s2txkmskuzzoDhUSeiPGf/HjPG7w6fl1BiHiix2xRr8Bw5wTeMJmsXQECQQDwrktdw8NP0FzmqmyFzTfz97UDsexKQfLSaFq31YydMoYlHEwsZcZhNTTBx71tni7/2eEQdVtFToAQRbEvGJBVAkEA1zTDC18DBHeGQdMwywrdc9BhbYY4a2ucc8XhRHScQzzyG4WgSFTrorLAH6QohpmFHfHm0Ws6AfDDhdQwuNTE4QJARI6hUTguLlH/5ISvHP3z7j6lBURtNknKzTyEetENmMmHhJKm8A6dj5sESB6JSuxAHwkFHxcOxJMzz27KpcutcQJAfnQNS6g3kK9e31zmJdiriXrfVMjybAReeRTEKkJO859jL9LT/MyRbReVlsIR4g1hT9gtZc6Y1j0P1pp5SpITYQJAdxwKEBXokaZwWy2gzEt3XdXBYoR5lvg/3T4GSEMBJZRmlmZpBOTbg/yYaf7lXtGUm+mZ3UZsCfJvwufit314sw==";
	
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 企业用户开户申请服务的url(测试环境)
	String serverUrl = "https://hfgj.testpnr.com/mcs/enterpriseRegV2.htm";
	
	File file = new File("D:\\111.jpg");
	int length = (int) file.length();
	byte[] data = new byte[length];
	FileInputStream in = new FileInputStream(file);
	in.read(data);
	in.close();
	byte[] b = Base64.encodeBase64(data);
	// 证件(base64编码格式)
	String certPhotoCopy = new String(b);
	
	// 实例化客户端
	GcbPayClient gcbPayClient = new DefaultGcbPayClient(serverUrl, base64PrivateKey, base64PublicKey);
	
	// 构建请求对象
	GcbEntUserRegisterRequest request = new GcbEntUserRegisterRequest();
	String randomNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
	String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
	//必填,请求流水号,商户自动生成,请求流水号系统唯一,如:GRKH202112120930001
	request.setRequestId(randomNum);
	//必填,请求时间,yyyyMMddHHmmss
	request.setRequestTime(time);
	//必填,商户号,会员账号,由我司提供的商户号+01,共13位数字
	request.setMerchantAcctId("1001215986501");
	//必填,用户平台ID,用户在商户系统中的唯一编号
	request.setPlatformUserId("111222333444");
	//必填,平台用户注册时间,yyyyMMddHHmmss
	request.setPlatformRegTime(time);
	//必填,签约邮箱,用于第三方签约注册。此邮箱建议由商户随机生成,需在商户系统中唯一,格式可以为:{商户英文简称}+{唯一标识}@{商户英文简称}.com当前不支持包含下划/邮箱,支持以"字母大小写","数字","-","."生成符合格式的电子邮箱
	request.setContractEmailId("20211020162439shTest@163.com");
	//必填,企业名称,-
	request.setName("上海某某电子商务有限公司");
	//非必填,企业简称,-
	request.setShortName("");
	//必填,企业类型,1-个体工商户 2-企业
	request.setType("1");
	//必填,法人姓名,-
	request.setLegalPerson("张三");
	//必填,法人证件类型,00-身份证01-护照02-军官证03-士兵证04-回乡证06-警官证08-台胞证13-其他
	request.setLegalCertType("00");
	//必填,法人证件号,legalCertType=00时,证件号为固定18位身份证号码
	request.setLegalCertId("320125198805233308");
	//非必填,法人证件生效日期,格式yyyyMMdd。
	request.setLegalCertExpDateStart("");
	//必填,法人证件时效日期,格式yyyyMMdd。如无则填写20990101
	request.setLegalCertExpDateEnd("20990101");
	//非必填,法人手机号,-
	request.setLegalMobile("");
	//必填,联系人姓名,可与法人信息一致,联系人姓名,证件类型,证件号起止日期需匹配
	request.setContactName("张三");
	//必填,联系人证件类型,00-身份证01-护照02-军官证03-士兵证04-回乡证06-警官证08-台胞证13-其他
	request.setContactCertType("00");
	//必填,联系人证件号,可与法人信息一致,联系人姓名,证件类型,证件号起止日期需匹配
	request.setContactCertId("320125198805233308");
	//必填,联系人证件生效日期,格式yyyyMMdd。
	request.setContactCertExpDateStart("20200202");
	//必填,联系人证件失效日期,格式:yyyyMMdd,若证件上无有效期,则填写20990101
	request.setContactCertExpDateEnd("20990101");
	//必填,联系人手机号,-
	request.setContactMobile("15811111111");
	//必填,联系人邮箱,-
	request.setContactEmail("haobo.feng@huifu.com");
	//必填,企业地址,-
	request.setAddress("address address");
	//必填,企业电话,-
	request.setPhone("15811111111");
	//非必填,组织机构代码
	request.setOrgCode("");
	//条件必填,组织机构代码证生效日期,日期格式:yyyyMMdd,若组织机构代码已填写,则必填
	request.setOrgExpDateStart("");
	//条件必填,组织机构代码失效日期,格式:yyyyMMdd,若证件上无有效期,则填写20990101,若组织机构代码已填写,则必填
	request.setOrgExpDateEnd("");
	//必填,营业执照号,工商登记号或统一社会信用代码。开户后不可变更。
	request.setBizLicenseCode("91310120MA009K0000");
	//非必填,营业执照生效日期,日期格式:yyyyMMdd
	request.setBizLicenseExpDateStart("");
	//必填,营业执照失效日期,日期格式:yyyyMMdd。若证件上无有效期,则填写20990101
	request.setBizLicenseExpDateEnd("20990101");
	//非必填,税务登记号,-
	request.setTaxRegCode("");
	//非必填,税务登记证生效日期,日期格式:yyyyMMdd
	request.setTaxRegExpDateStart("");
	//条件必填,税务登记证失效日期,格式:yyyyMMdd, 税务登记号不为空时必填,若证件上无有效期,则填写20990101
	request.setTaxRegExpDateEnd("");
	//必填,开户银行,附件代发银行编码
	request.setBankCode("CCB");
	//必填,账户类型,1-对公 2-对私
	request.setAcctType("1");
	//必填,账号,-
	request.setBankAcct("6232510000000996");
	//必填,户名,对公时须与企业名称一致;对私时须与法人姓名一致
	request.setAcctName("上海某某电子商务有限公司");
	//条件必填 ,省份,      附录省份编码
	request.setProvince("");
	//条件必填 ,地区,      附录地区编码
	request.setArea("");
	//条件必填,支行名称,-
	request.setBankBranch("");
	//条件必填,收款行联行号,对公时,省+地区+支行名称,或者收款联行号至少一组不为空。
	request.setUniteBankCode("18653213");
	//必填,法人证件的影印件正面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setLegalCertPhotoCopyF(certPhotoCopy);
	//必填,法人证件的影印件反面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setLegalCertPhotoCopyB(certPhotoCopy);
	//必填,联系人证件的影印件正面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setContactCertPhotoCopyF(certPhotoCopy);
	//必填,联系人证件的影印件反面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setContactCertPhotoCopyB(certPhotoCopy);
	//必填,营业执照影印件,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setBizLicensePhotoCopy(certPhotoCopy);
	//条件必填,组织机构代码证影印件, 若类型为企业,且为旧证时必填,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setOrgPhotoCopy("");
	//条件必填,税务登记证影印件,若类型为企业,且为旧证时必填,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setTaxRegPhotoCopy("");
	//条件必填,开户许可证影印件,若类型为企业,且为旧证时必填,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setOpenLicensePhotoCopy("");
	//必填,是否接收异步通知,固定值1,有异步
	request.setAsyncNoticeFlag("1");
	//必填,后台通知地址,互联网可访问。
	request.setNoticeUrl("http://192.168.26.107:6999/mock/receiveBgRECU.do");
	//必填,扩展字段1,店铺信息,请以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。
	request.setExt1("ext1");
	//非必填,扩展字段2,备用
	request.setExt2("");
	//必填,行业,请查看附录行业编码
	request.setIndustryCode("2A");
	//必填,国籍,请查看附录国家编码
	request.setNationalCode("CHN");
	
	//发送请求
	GcbEntUserRegisterResponse response = gcbPayClient.execute(request);

	//根据响应结果,进行业务逻辑处理
	// ......  
  													
									
  • 接收异步示例

Java

  
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 实例化通知解析器
	GcbPayCallbackMessageParser gcbMessageParser = new DefaultGcbPayCallbackMessageParser(base64PublicKey);
	
	// 解析代发结果
	GcbEntUserRegisterResult result = gcbMessageParser.parse(httpServeletRequest, GcbEntUserRegisterResult.class);
	   
	//根据结果,进行业务逻辑处理
	// ......
  													
									
  • 参数说明

调用参数详见 企业用户开户

企业用户修改?

修改企业用户的信息。

  • 调用示例

Java

  
	// 商户base64编码的私钥
	String base64PrivateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMpT/BKCrfkPKbMggoIQVpYL8chw8e9do+vuh5f5OsZNVm+BAtpJY+nGTBW4ggWEbtDWh4e+IsCVDzeXVDUmPO4GXro0o7QZpOVN+bo28k1x69tw65HMLTgjx3jjrQK7JdON7cqbtqWN624GVMgk5mJGu0ua+eBiOPuIBM3Re+61AgMBAAECgYEAqWvWIjHnOCzoQCSy4/KGbrKlzbA2BrgksUVVqX57Jt5PyKMBHoRh87mmsHGF/tS8boeViac/NoAa8/P2AWN5lGFl8Z9A4NlpXojA+vn7bn2fIjDzsB8s2txkmskuzzoDhUSeiPGf/HjPG7w6fl1BiHiix2xRr8Bw5wTeMJmsXQECQQDwrktdw8NP0FzmqmyFzTfz97UDsexKQfLSaFq31YydMoYlHEwsZcZhNTTBx71tni7/2eEQdVtFToAQRbEvGJBVAkEA1zTDC18DBHeGQdMwywrdc9BhbYY4a2ucc8XhRHScQzzyG4WgSFTrorLAH6QohpmFHfHm0Ws6AfDDhdQwuNTE4QJARI6hUTguLlH/5ISvHP3z7j6lBURtNknKzTyEetENmMmHhJKm8A6dj5sESB6JSuxAHwkFHxcOxJMzz27KpcutcQJAfnQNS6g3kK9e31zmJdiriXrfVMjybAReeRTEKkJO859jL9LT/MyRbReVlsIR4g1hT9gtZc6Y1j0P1pp5SpITYQJAdxwKEBXokaZwWy2gzEt3XdXBYoR5lvg/3T4GSEMBJZRmlmZpBOTbg/yYaf7lXtGUm+mZ3UZsCfJvwufit314sw==";
	
	// 跨境系统base64编码的公钥
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 企业用户开户修改服务的url(测试环境)
	String serverUrl = "https://hfgj.testpnr.com/mcs/enterpriseUpd.htm";
	
	// 实例化客户端
	GcbPayClient gcbPayClient = new DefaultGcbPayClient(serverUrl, base64PrivateKey, base64PublicKey);
	
	// 构建请求对象
	GcbEntUserModifyRequest request = new GcbEntUserModifyRequest();
	String randomNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
	String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
	//必填,请求流水号,商户自动生成,请求流水号系统唯一,如:GRKH202112120930001
	request.setRequestId(randomNum);
	//必填,请求时间,yyyyMMddHHmmss
	request.setRequestTime(time);
	//必填,商户号,会员账号,由我司提供的商户号+01,共13位数字
	request.setMerchantAcctId("1001215986501");
	//必填,用户号,开户成功返回的用户号
	request.setUserId("11122233");
	//非必填,用户平台ID,用户在商户系统中的唯一编号
	request.setPlatformUserId("");
	//非必填,平台用户注册时间,yyyyMMddHHmmss
	request.setPlatformRegTime("");
	//非必填,企业名称,-
	request.setName("");
	//非必填,企业简称,-
	request.setShortName("");
	//非必填,企业类型,1-个体工商户 2-企业
	request.setType("1");
	//非必填,法人姓名,-
	request.setLegalPerson("");
	//非必填,法人证件类型,00-身份证01-护照02-军官证03-士兵证04-回乡证06-警官证08-台胞证13-其他
	request.setLegalCertType("");
	//非必填,法人证件号,legalCertType=00时,证件号为固定18位身份证号码
	request.setLegalCertId("");
	//非必填,法人证件生效日期,格式yyyyMMdd。
	request.setLegalCertExpDateStart("");
	//非必填,法人证件时效日期,格式yyyyMMdd。如无则填写20990101
	request.setLegalCertExpDateEnd("");
	//非必填,法人手机号,-
	request.setLegalMobile("");
	//非必填,联系人姓名,可与法人信息一致,联系人姓名,证件类型,证件号起止日期需匹配
	request.setContactName("");
	//非必填,联系人证件类型,00-身份证01-护照02-军官证03-士兵证04-回乡证06-警官证08-台胞证13-其他
	request.setContactCertType("");
	//非必填,联系人证件号,可与法人信息一致,联系人姓名,证件类型,证件号起止日期需匹配
	request.setContactCertId("");
	//非必填,联系人证件生效日期,格式yyyyMMdd。
	request.setContactCertExpDateStart("");
	//非必填,联系人证件失效日期,格式:yyyyMMdd,若证件上无有效期,则填写20990101
	request.setContactCertExpDateEnd("");
	//非必填,联系人手机号,-
	request.setContactMobile("");
	//非必填,联系人邮箱,-
	request.setContactEmail("");
	//非必填,企业地址,-
	request.setAddress("");
	//非必填,企业电话,-
	request.setPhone("");
	//非必填,组织机构代码
	request.setOrgCode("");
	//非必填,组织机构代码证生效日期,日期格式:yyyyMMdd,若组织机构代码已填写,则必填
	request.setOrgExpDateStart("");
	//非必填,组织机构代码失效日期,格式:yyyyMMdd,若证件上无有效期,则填写20990101,若组织机构代码已填写,则必填
	request.setOrgExpDateEnd("");
	//非必填,营业执照号,工商登记号或统一社会信用代码。开户后不可变更。
	request.setBizLicenseCode("");
	//非必填,营业执照生效日期,日期格式:yyyyMMdd
	request.setBizLicenseExpDateStart("");
	//非必填,营业执照失效日期,日期格式:yyyyMMdd。若证件上无有效期,则填写20990101
	request.setBizLicenseExpDateEnd("");
	//非必填,税务登记号,-
	request.setTaxRegCode("");
	//非必填,税务登记证生效日期,日期格式:yyyyMMdd
	request.setTaxRegExpDateStart("");
	//非必填,税务登记证失效日期,格式:yyyyMMdd, 税务登记号不为空时必填,若证件上无有效期,则填写20990101
	request.setTaxRegExpDateEnd("");
	//非必填,开户银行,附件代发银行编码
	request.setBankCode("");
	//非必填,账户类型,1-对公 2-对私
	request.setAcctType("");
	//非必填,账号,-
	request.setBankAcct("");
	//非必填,户名,对公时须与企业名称一致;对私时须与法人姓名一致
	request.setAcctName("");
	//非必填,省份,       附录省份编码
	request.setProvince("");
	//非必填,地区,       附录地区编码
	request.setArea("");
	//非必填,支行名称,-
	request.setBankBranch("");
	//非必填,收款行联行号,对公时,省+地区+支行名称,或者收款联行号至少一组不为空。
	request.setUniteBankCode("");
	//非必填,法人证件的影印件正面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setLegalCertPhotoCopyF("");
	//非必填,法人证件的影印件反面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setLegalCertPhotoCopyB("");
	//非必填,联系人证件的影印件正面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setContactCertPhotoCopyF("");
	//非必填,联系人证件的影印件反面,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setContactCertPhotoCopyB("");
	//非必填,营业执照影印件,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setBizLicensePhotoCopy("");
	//非必填,组织机构代码证影印件, 若类型为企业,且为旧证时必填,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setOrgPhotoCopy("");
	//非必填,税务登记证影印件,若类型为企业,且为旧证时必填,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setTaxRegPhotoCopy("");
	//非必填,开户许可证影印件,若类型为企业,且为旧证时必填,文件字节Base64建议压缩,一个请求中,影印件图片总大小不得超过10M
	request.setOpenLicensePhotoCopy("");
	//必填,是否接收异步通知,固定值1,有异步
	request.setAsyncNoticeFlag("1");
	//条件必填,后台通知地址,互联网可访问。
	request.setNoticeUrl("http://192.168.26.107:6999/mock/receiveBgUEU.do");
	//非必填,扩展字段1,店铺信息,请以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。
	request.setExt1("");
	//非必填,扩展字段2,备用
	request.setExt2("");
	//必填,行业,请查看附录行业编码
	request.setIndustryCode("2A");
	//必填,国籍,请查看附录国家编码
	request.setNationalCode("CHN");
	
	//发送请求
	GcbEntUserModifyResponse response = gcbPayClient.execute(request);
	
	//根据响应结果,进行业务逻辑处理
	// ......  
  													
									
  • 接收异步示例

Java

  
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 实例化通知解析器
	GcbPayCallbackMessageParser gcbMessageParser = new DefaultGcbPayCallbackMessageParser(base64PublicKey);
	
	// 解析代发结果
	GcbEntUserModifyResult result = gcbMessageParser.parse(httpServeletRequest, GcbEntUserModifyResult.class);
	   
	//根据结果,进行业务逻辑处理
	// ......
  													
									
  • 参数说明

调用参数详见 企业开户修改接口

企业开户查询?

查询企业用户的信息。

  • 调用示例

Java

  
	// 商户的私钥(base64编码格式)
	String base64PrivateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMpT/BKCrfkPKbMggoIQVpYL8chw8e9do+vuh5f5OsZNVm+BAtpJY+nGTBW4ggWEbtDWh4e+IsCVDzeXVDUmPO4GXro0o7QZpOVN+bo28k1x69tw65HMLTgjx3jjrQK7JdON7cqbtqWN624GVMgk5mJGu0ua+eBiOPuIBM3Re+61AgMBAAECgYEAqWvWIjHnOCzoQCSy4/KGbrKlzbA2BrgksUVVqX57Jt5PyKMBHoRh87mmsHGF/tS8boeViac/NoAa8/P2AWN5lGFl8Z9A4NlpXojA+vn7bn2fIjDzsB8s2txkmskuzzoDhUSeiPGf/HjPG7w6fl1BiHiix2xRr8Bw5wTeMJmsXQECQQDwrktdw8NP0FzmqmyFzTfz97UDsexKQfLSaFq31YydMoYlHEwsZcZhNTTBx71tni7/2eEQdVtFToAQRbEvGJBVAkEA1zTDC18DBHeGQdMwywrdc9BhbYY4a2ucc8XhRHScQzzyG4WgSFTrorLAH6QohpmFHfHm0Ws6AfDDhdQwuNTE4QJARI6hUTguLlH/5ISvHP3z7j6lBURtNknKzTyEetENmMmHhJKm8A6dj5sESB6JSuxAHwkFHxcOxJMzz27KpcutcQJAfnQNS6g3kK9e31zmJdiriXrfVMjybAReeRTEKkJO859jL9LT/MyRbReVlsIR4g1hT9gtZc6Y1j0P1pp5SpITYQJAdxwKEBXokaZwWy2gzEt3XdXBYoR5lvg/3T4GSEMBJZRmlmZpBOTbg/yYaf7lXtGUm+mZ3UZsCfJvwufit314sw==";
	
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 企业用户开户查询服务的url(测试环境)
	String serverUrl = "https://hfgj.testpnr.com/mcs/enterpriseQry.htm";
	
	// 实例化客户端
	GcbPayClient gcbPayClient = new DefaultGcbPayClient(serverUrl, base64PrivateKey, base64PublicKey);
	
	// 构建请求对象
	GcbEntUserQueryRequest request = new GcbEntUserQueryRequest();
	
	String randomNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
	String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
	
	//必填,请求流水号,商户自动生成,请求流水号系统唯一,如:GRKH202112120930001
	request.setRequestId(randomNum);
	//必填,请求时间,yyyyMMddHHmmss
	request.setRequestTime(time);
	//必填,商户号,会员账号,由我司提供的商户号+01,共13位数字
	request.setMerchantAcctId("1001215986501");
	//必填,用户平台ID,用户在商户系统中的唯一编号
	request.setPlatformUserId("111222333444");
	//发送请求
	GcbEntUserQueryResponse response = gcbPayClient.execute(request);

	//根据响应结果,进行业务逻辑处理
	// ......  
  													
											
  • 参数说明

调用参数详见 企业开户查询接口(参见企业开户接口目录3)

账户流水明细查询?

  • 简介

查询商户账户或用户账户指定时间范围内的余额明细记录,先调用查询接口获得fileName,再调用文件下载接口下载文件。

  • 调用示例

Java

  
	// 商户的私钥(base64编码格式)
	String base64PrivateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMpT/BKCrfkPKbMggoIQVpYL8chw8e9do+vuh5f5OsZNVm+BAtpJY+nGTBW4ggWEbtDWh4e+IsCVDzeXVDUmPO4GXro0o7QZpOVN+bo28k1x69tw65HMLTgjx3jjrQK7JdON7cqbtqWN624GVMgk5mJGu0ua+eBiOPuIBM3Re+61AgMBAAECgYEAqWvWIjHnOCzoQCSy4/KGbrKlzbA2BrgksUVVqX57Jt5PyKMBHoRh87mmsHGF/tS8boeViac/NoAa8/P2AWN5lGFl8Z9A4NlpXojA+vn7bn2fIjDzsB8s2txkmskuzzoDhUSeiPGf/HjPG7w6fl1BiHiix2xRr8Bw5wTeMJmsXQECQQDwrktdw8NP0FzmqmyFzTfz97UDsexKQfLSaFq31YydMoYlHEwsZcZhNTTBx71tni7/2eEQdVtFToAQRbEvGJBVAkEA1zTDC18DBHeGQdMwywrdc9BhbYY4a2ucc8XhRHScQzzyG4WgSFTrorLAH6QohpmFHfHm0Ws6AfDDhdQwuNTE4QJARI6hUTguLlH/5ISvHP3z7j6lBURtNknKzTyEetENmMmHhJKm8A6dj5sESB6JSuxAHwkFHxcOxJMzz27KpcutcQJAfnQNS6g3kK9e31zmJdiriXrfVMjybAReeRTEKkJO859jL9LT/MyRbReVlsIR4g1hT9gtZc6Y1j0P1pp5SpITYQJAdxwKEBXokaZwWy2gzEt3XdXBYoR5lvg/3T4GSEMBJZRmlmZpBOTbg/yYaf7lXtGUm+mZ3UZsCfJvwufit314sw==";
	
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 账户流水明细查询服务的url(测试环境)
	String serverUrl = "https://hfgj.testpnr.com/balance/acctBalanceQuery.htm";
	
	// 实例化客户端
	GcbPayClient gcbPayClient = new DefaultGcbPayClient(serverUrl, base64PrivateKey, base64PublicKey);
	
	//构建请求对象
	GcbAcctBalanceDetailQueryRequest request = new GcbAcctBalanceDetailQueryRequest();
	
	String randomNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
	String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
	//请求流水号
	request.setRequestId(randomNum);
	//请求时间,格式:yyyyMMddHHmmss
	request.setRequestTime(time);
	//商户会员号
	request.setMerchantAcctId("1001215986501");
	//终端号
	request.setTerminalId("0010001");
	//查询类型,1:商户账户;2:用户账户
	request.setQueryType(GcbAcctBalanceDetailQueryRequest.QUERY_TYPE_MEMBER);
	//查询时间起始,yyyMMddHHmmss(大于等于)
	request.setStartDate("20211027000000");
	//查询时间结束,yyyyMMddHHmmss(小于)
	request.setEndDate("20211028000000");
	//用于接收异步返回,异步返回包含查询结果的文件名。
	request.setBgUrl("http://172.31.15.59/balance/testBgNotifyMsg.htm");
	
	//发送请求
	GcbAcctBalanceDetailQueryResponse response = gcbPayClient.execute(request);


	//根据响应结果,进行业务逻辑处理
	// ......
  													
											
  • 接收通知示例

Java

  
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 实例化通知解析器
	GcbPayCallbackMessageParser gcbMessageParser = new DefaultGcbPayCallbackMessageParser(base64PublicKey);
	
	GcbAcctBalanceDetailQueryResult result = gcbMessageParser.parse(httpServeletRequest, GcbAcctBalanceDetailQueryResult.class);
	//文件名作为明细下载请求的参数
	String fileName = result.getFileName();

	//根据响应结果,进行业务逻辑处理
	// ......
  													
											
  • 参数说明

调用参数详见 账户流水明细查询接口

账户流水文件下载?

  • 简介

查询商户账户或用户账户指定时间范围内的余额明细记录,先调用查询接口获得fileName,再调用文件下载接口下载文件。

  • 调用示例

Java

  
	// 商户的私钥(base64编码格式)
	String base64PrivateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMpT/BKCrfkPKbMggoIQVpYL8chw8e9do+vuh5f5OsZNVm+BAtpJY+nGTBW4ggWEbtDWh4e+IsCVDzeXVDUmPO4GXro0o7QZpOVN+bo28k1x69tw65HMLTgjx3jjrQK7JdON7cqbtqWN624GVMgk5mJGu0ua+eBiOPuIBM3Re+61AgMBAAECgYEAqWvWIjHnOCzoQCSy4/KGbrKlzbA2BrgksUVVqX57Jt5PyKMBHoRh87mmsHGF/tS8boeViac/NoAa8/P2AWN5lGFl8Z9A4NlpXojA+vn7bn2fIjDzsB8s2txkmskuzzoDhUSeiPGf/HjPG7w6fl1BiHiix2xRr8Bw5wTeMJmsXQECQQDwrktdw8NP0FzmqmyFzTfz97UDsexKQfLSaFq31YydMoYlHEwsZcZhNTTBx71tni7/2eEQdVtFToAQRbEvGJBVAkEA1zTDC18DBHeGQdMwywrdc9BhbYY4a2ucc8XhRHScQzzyG4WgSFTrorLAH6QohpmFHfHm0Ws6AfDDhdQwuNTE4QJARI6hUTguLlH/5ISvHP3z7j6lBURtNknKzTyEetENmMmHhJKm8A6dj5sESB6JSuxAHwkFHxcOxJMzz27KpcutcQJAfnQNS6g3kK9e31zmJdiriXrfVMjybAReeRTEKkJO859jL9LT/MyRbReVlsIR4g1hT9gtZc6Y1j0P1pp5SpITYQJAdxwKEBXokaZwWy2gzEt3XdXBYoR5lvg/3T4GSEMBJZRmlmZpBOTbg/yYaf7lXtGUm+mZ3UZsCfJvwufit314sw==";
	
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 账户流水文件下载的url(测试环境)
	String serverUrl = "https://hfgj.testpnr.com/balance/acctBalanceDownload.htm";
	
	// 实例化客户端
	GcbPayClient gcbPayClient = new DefaultGcbPayClient(serverUrl, base64PrivateKey, base64PublicKey);
	
	GcbAcctBalanceDetailDownloadRequest request = new GcbAcctBalanceDetailDownloadRequest();
	request.setMerchantAcctId("1001215986501");
	request.setTerminalId("0010001");
	
	String randomNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
	String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
	request.setRequestId(randomNum);
	request.setRequestTime(time);
	request.setFileName("1001215986501_15_20211028184940_20211028184940.txt");
	
	// 发送请求
	GcbAcctBalanceDetailDownloadResponse response = gcbPayClient.execute(request);
            
	//根据响应结果,进行业务逻辑处理
	// ......
  													
											
  • 参数说明

调用参数详见 账户流水查询文件下载接口

余额查询?

  • 简介

查询账户余额

商户余额查询?

查询商户账户当前时间的余额。

  • 调用示例

Java

  
	// 商户的私钥(base64编码格式)
	String base64PrivateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMpT/BKCrfkPKbMggoIQVpYL8chw8e9do+vuh5f5OsZNVm+BAtpJY+nGTBW4ggWEbtDWh4e+IsCVDzeXVDUmPO4GXro0o7QZpOVN+bo28k1x69tw65HMLTgjx3jjrQK7JdON7cqbtqWN624GVMgk5mJGu0ua+eBiOPuIBM3Re+61AgMBAAECgYEAqWvWIjHnOCzoQCSy4/KGbrKlzbA2BrgksUVVqX57Jt5PyKMBHoRh87mmsHGF/tS8boeViac/NoAa8/P2AWN5lGFl8Z9A4NlpXojA+vn7bn2fIjDzsB8s2txkmskuzzoDhUSeiPGf/HjPG7w6fl1BiHiix2xRr8Bw5wTeMJmsXQECQQDwrktdw8NP0FzmqmyFzTfz97UDsexKQfLSaFq31YydMoYlHEwsZcZhNTTBx71tni7/2eEQdVtFToAQRbEvGJBVAkEA1zTDC18DBHeGQdMwywrdc9BhbYY4a2ucc8XhRHScQzzyG4WgSFTrorLAH6QohpmFHfHm0Ws6AfDDhdQwuNTE4QJARI6hUTguLlH/5ISvHP3z7j6lBURtNknKzTyEetENmMmHhJKm8A6dj5sESB6JSuxAHwkFHxcOxJMzz27KpcutcQJAfnQNS6g3kK9e31zmJdiriXrfVMjybAReeRTEKkJO859jL9LT/MyRbReVlsIR4g1hT9gtZc6Y1j0P1pp5SpITYQJAdxwKEBXokaZwWy2gzEt3XdXBYoR5lvg/3T4GSEMBJZRmlmZpBOTbg/yYaf7lXtGUm+mZ3UZsCfJvwufit314sw==";
	
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 商户余额查询服务的url(测试环境)
	String serverUrl = "https://hfgj.testpnr.com/sell/receivesell.htm";
	
	// 实例化客户端
	GcbPayClient gcbPayClient = new DefaultGcbPayClient(serverUrl, base64PrivateKey, base64PublicKey);
	
	// 商户余额查询请求
	GcbMerchantAccQueryRequest request = new GcbMerchantAccQueryRequest();
	request.setMerchantId("1001215986501");
	request.setTerminalId("0010001");
	
	//发送请求
	GcbMerchantAccQueryResponse response = gcbPayClient.execute(request);
	
	//根据响应结果,进行业务逻辑处理
	// ......
		 
  													
											
  • 参数说明

调用参数详见 商户余额查询接口

用户余额查询?

查询用户账户当前时间的余额。

  • 调用示例

Java

  
	// 商户的私钥(base64编码格式)
	String base64PrivateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMpT/BKCrfkPKbMggoIQVpYL8chw8e9do+vuh5f5OsZNVm+BAtpJY+nGTBW4ggWEbtDWh4e+IsCVDzeXVDUmPO4GXro0o7QZpOVN+bo28k1x69tw65HMLTgjx3jjrQK7JdON7cqbtqWN624GVMgk5mJGu0ua+eBiOPuIBM3Re+61AgMBAAECgYEAqWvWIjHnOCzoQCSy4/KGbrKlzbA2BrgksUVVqX57Jt5PyKMBHoRh87mmsHGF/tS8boeViac/NoAa8/P2AWN5lGFl8Z9A4NlpXojA+vn7bn2fIjDzsB8s2txkmskuzzoDhUSeiPGf/HjPG7w6fl1BiHiix2xRr8Bw5wTeMJmsXQECQQDwrktdw8NP0FzmqmyFzTfz97UDsexKQfLSaFq31YydMoYlHEwsZcZhNTTBx71tni7/2eEQdVtFToAQRbEvGJBVAkEA1zTDC18DBHeGQdMwywrdc9BhbYY4a2ucc8XhRHScQzzyG4WgSFTrorLAH6QohpmFHfHm0Ws6AfDDhdQwuNTE4QJARI6hUTguLlH/5ISvHP3z7j6lBURtNknKzTyEetENmMmHhJKm8A6dj5sESB6JSuxAHwkFHxcOxJMzz27KpcutcQJAfnQNS6g3kK9e31zmJdiriXrfVMjybAReeRTEKkJO859jL9LT/MyRbReVlsIR4g1hT9gtZc6Y1j0P1pp5SpITYQJAdxwKEBXokaZwWy2gzEt3XdXBYoR5lvg/3T4GSEMBJZRmlmZpBOTbg/yYaf7lXtGUm+mZ3UZsCfJvwufit314sw==";
	
	// 汇付国际的公钥(base64编码格式)
	String base64PublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvBaKblsfXTEAFLujPiQ3PlWL1TJd+l/ApN/16BcArl6Oo18Tb6xOCLlcFBr3xgmVokc8DP32PHAQdtmS8/Y9HziMFaf8NxTNH9whA7GobU1dmVP+tI31z1S5ZO82knNW9ghbcDwLCo251AWHg5tP4wgRCBOJS+bSuyRuAW15M/wIDAQAB";
	
	// 用户余额查询服务的url(测试环境)
	String serverUrl = "https://hfgj.testpnr.com/sell/receivesell.htm";
	
	// 实例化客户端
	GcbPayClient gcbPayClient = new DefaultGcbPayClient(serverUrl, base64PrivateKey, base64PublicKey);
	
	/**
	* 用户余额查询请求
	*/
	GcbUserAccQueryRequest request = new GcbUserAccQueryRequest();
	request.setMerchantId("1001215986501");
	request.setTerminalId("0010001");
	
	// 用户账号
	request.setAcctNo("10000001");
	
	// 发送请求
	GcbUserAccQueryResponse response = gcbPayClient.execute(request);
	
	//根据响应结果,进行业务逻辑处理
	// ...... 
  													
											
  • 参数说明

调用参数详见 用户余额查询接口