开发前准备
I. 开发须知
两对公私钥作用(API方式)
-
第一对公私钥: 开发者在开通开发者账号时,需提前生成一对公私钥,其中公钥(rsa_third_pub)提供给平台B,私钥自己保管,私钥为第三方应用调用钱包服务的唯一凭证,请勿透露给任何人。第三方在请求钱包服务时,通过私钥来加密请求参数,平台接受到请求时,通过提供的公钥(rsa_third_pub)来解密请求数据。
-
第二对公私钥: 开发者开通开发者账号后,平台会提供钱包公钥(rsa_wallet_pub)给开发者,第三方应用在接受到钱包的响应数据或异步通知时,需要通过公钥来进行解密。
为什么需要进行提现二次确认(API方式)
钱包服务接收到第三方应用请求时,为了确认该请求为第三方应用合法请求,会调用第三方提供的接口来确认。该过程在一定程度上也能避免第三方私钥丢失所造成的影响,也为钱包服务的安全性提供了一套有效屏障。
生产环境域名 (https://openapi.chainup.com/) | 不支持测试环境 |
---|---|
app_id: | 请创建钱包后获取 |
rsa_wallet_pub: | Custody系统公钥;请创建钱包后从Custody系统获取 |
rsa_third_prv: | 客户私钥;自主生成、保存 |
rsa_third_pub: | 客户公钥;自主生成;请创建钱包后配置到Custody系统 |
密码长度:2048
密钥格式:PKCS#8
openssl genrsa -out rsa_private_key.pem 2048
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key_2048.pem
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform pem -nocrypt -out private_pkcs8.pem
II. 开发者账号准备
请开发者预先准备如下信息:
-
生成一对公私钥;
-
第三方应用服务器IP;
-
充值提现回调通知地址;
-
提现二次确认地址;
准备完成后,请访问Custody Web端-云端系统,选择钱包,进入【API管理】功能,根据系统要求填写信息并创建API。
只有钱包创建者才可编辑API信息
创建成功后,您将获得商户的唯一标识:app_id。
API创建成功后,请访问API信息详情,录入您准备的开发者公钥信息,完成API的配置。
III. 接口交互过程
文档为钱包服务对第三方应用提供的接口。
以下文档中的接口提供方称为 钱包服务,接口调用方称为 第三方应用。第三方应用在请求钱包服务时,通过RSA算法对请求参数进行加密,接受到钱包服务的响应数据后需要进行解密
ChainUp Custody需要回调访问第三方应用 进行二次确认,故需要将ChainUp Custody的服务器IP添加安全组或白名单,以下是Custody的IP:
-
入网:第三方应用 服务器开通Custody服务器(IP: 54.254.7.206)访问权限。
-
出网:第三方应用 服务器需访问Custody服务器,需开通访问54.251.87.91:433权限。
IV. 接口规则
传输方式: | https(测试环境暂时使用 http) |
---|---|
签名字段: | 除了 sign 字段,其他所有必填项都需要参与签名 |
响应状态码为: | 0 表示处理成功 ,非 0 表示请求错误或系统异常 |
请求地址: | 域名+接口地址 |
加密算法: | RSA, 详见 API 文档 加解密方式 |