开发指南
快速入门?
功能概述?
本文为JAVA SDK开发指南,通过使用 提供的 SDK 可以快速且便捷的接入支付及其他支付相关的增值服务。
开发接入步骤?
您需先完成以下步骤后才能开始接入 SDK 然后进行开发:
获取账号
商户需与前端销售沟通开通测试账号或生产账号,并提供接受邮箱地址。
1-2个工作日内由开通组负责将开通的账号信息发送至申请表中商户邮箱。
配置密钥
开发者调用接口前需要先生成RSA密钥,RSA密钥包含私钥、公钥。本地生成RSA私钥,并将公钥上传到商户控台,私钥妥善保存。
RSA 密钥生成方法参考JAVA SDK使用说明中 - RSA 私钥及公钥生成。
搭建和配置开发环境
下载示例代码Demo:
为了帮助开发者理解如何使用sdk,我们提供了示例代码对应Demo下载,封装了接口请求对象和返回对象,以及签名&验签、HTTP接口请求等基础功能,商户可直接调引入使用。 SDK和Demo可在各个业务模块中下载。
运行Demo:
访问http://127.0.0.1:8080,看下单是否成功,如能成功,说明环境配置没有问题。
根据业务情况,选择对应的支付通道,修改代码,调用接口。返回正确的payment 信息,至此服务端成功接入。
JAVA SDK使用说明
本文简单阐述如何使用汇付跨境系统SDK和运行Demo
约定
根据PCI-DSS检查要求,正式环境禁止使用低版本的SSL3.0 TLS1.0 TLS1.1等协议,请使用高于TLSv1.2及以上发送请求,推荐使用TLSv1.2。JDK 8默认使用TLSv1.2协议。
正式环境发送异步通知仅支持443或80端口 其他端口暂时不支持
下载或导入 SDK
Maven项目至少导入两个依赖,最新版本为 1.0.1。如下是支付接口的sdk依赖
下载文件里包含 SDK 和 Demo 两个目录。SDK 目录下为待添加到项目中的文件,两个 jar 包都需添加,Demo 目录下为示例项目,供接入时参考使用。
SDK依赖的第三方jar包
SDK需要依赖到如下第三方jar包
1.RSA 私钥及公钥生成
√ 格式要求: 秘钥长度:1024位
√ 格式要求: 生成证书有效期730-780之间,如750天
Windows用户开发者可以在OpenSSL官方网站下载Windows的OpenSSL安装包进行安装。或直接下载
进入OpenSSL执行openssl.exe程序
新商户接入,首次生成证书字符串私钥
$ openssl 进入OpenSSL程序
OpenSSL> genrsa -out private-rsa.key 1024 # 生成私钥
OpenSSL> req -new -x509 -key private-rsa.key -config "./openssl.cnf" -days 750 -out public-rsa.cer #生成公钥证书
OpenSSL> pkcs8 -topk8 -inform PEM -in private-rsa.key -outform PEM -nocrypt #生成私钥字符串,输出内容复制中间秘钥串,删除换行
OpenSSL> exit # 退出OpenSSL程序
老商户接入,已有pfx私钥证书转换字符串私钥
$ openssl 进入OpenSSL程序
OpenSSL> pkcs12 -in private-rsa.pfx -nodes -out private-rsa.pem # 将原有私钥证书private-rsa.pfx 转换为pem
OpenSSL> rsa -in private-rsa.pem -out private-rsa.key # 转换为key
OpenSSL> pkcs8 -topk8 -inform PEM -in private-rsa.key -outform PEM -nocrypt #生成私钥字符串,输出内容复制中间秘钥串,删除换行
OpenSSL> exit # 退出OpenSSL程序
2.上传 RSA 公钥
登录商户后台,账号密码见开通邮件。将生成的公钥public-rsa.cer内容上传到「商户后台」 ->「平台管理」->「证书管理」,点击《上传》上传证书。
测试环境商户后台地址:https://hfgj.testpnr.com/site/login.htm
生产环境商户后台地址:https://global.chinapnr.com/site/login.htm
3.获取跨境系统公钥
登录商户后台,到「证书管理」,点击《获取chinapnr公钥》按钮获取公钥串,用于接收跨境系统返回时验签使用。
4.下载运行Demo
√ 下载Demo后使用maven工程导入,直接main函数运行DemoApplication.java,访问http://127.0.0.1:8080
√ Demo中商户号为演示商户号,需修改配置文件application.yml中商户号,终端号和私钥串为申请开通的贵司测试商户号。
√ Demo中README.md文件列出说明各个异步监听接口地址用于接收跨境系统返回的异步通知。
√ Demo中pom.xml已引入第三方包和我司两个SDK Jar包:huifu-jh-sdk-core和huifu-jh-payment-sdk。