1 前期准备

1.1 开发须知

1)开发方式

为满足客户多样性的业务需求,ChainUp Custody支持两种对接方式:SDK与API;

SDK:支持java与PHP

java SDK地址:https://github.com/HiCoinCom/java-sdk

PHP SDK地址:https://github.com/HiCoinCom/php-sdk

API:请查看相关文档

2)两对公私钥作用(API方式)

第一对公私钥: 开发者在开通资管账号时,需提前生成一对公私钥,其中公钥(rsa_third_pub)提供给平台,私钥自己保管,私钥为第三方应用调用钱包服务的唯一凭证,请勿透露给任何人。第三方在请求钱包服务时,通过私钥来加密请求参数,平台接受到请求时,通过提供的公钥(rsa_third_pub)来解密请求数据。

第二对公私钥: 开发者开通资管账号后,平台会提供钱包公钥(rsa_wallet_pub)给开发者,第三方应用在接受到钱包的响应数据或异步通知时,需要通过公钥来进行解密。

3)为什么需要进行提现二次确认(API方式)

钱包服务接收到第三方应用请求时,为了确认该请求为第三方应用合法请求,会调用第三方提供的接口来确认。该过程在一定程度上也能避免第三方私钥丢失所造成的影响,也为钱包服务的安全性提供了一套有效屏障。

4)域名及API密钥(API方式)

生产环境域名(不支持测试环境):
 https://openapi.hicoin.vip
app_id:请创建钱包后获取
rsa_wallet_pub:Custody系统公钥;请创建钱包后从Custody系统获取
rsa_third_prv:客户私钥;自主生成、保存
rsa_third_pub:客户公钥;自主生成;请创建钱包后配置到Custody系统

RSA 公私钥生成地址 http://www.metools.info/code/c80.html

推荐密码长度:2048

推荐密钥格式:PKCS#8

说明:

  1. rsa_third_prv为第三方应用私钥,主要用于加密请求参数。如果是生产环境,rsa_third_prv由开发者生成,然后将对应的公钥提供给平台。测试环境为了简化开发者对接流程,此处直接提供了一套第三方的公私钥,便于开发者快速对接。
  2. 目前不支持测试环境对接,请根据**接入指引**自主注册创建钱包后,获取生产环境的API相关信息。

1.2 资管账号准备

开发者准备如下信息:

1)生成一对公私钥,将公钥提供给平台;

2)第三方应用服务器IP;

3)充值提现回调通知地址;

4)提现二次确认地址;

5)是否开启自动归集功能,开启后,系统会自动将用户充值资金划转到商户归集账户。

联系平台相关人员,提供上述五类信息。平台为您准备资管账号,提供到您这边包括以下信息:

1)商户的唯一标识:app_id;

2)钱包公钥:rsa_wallet_pub。

1.3 接口交互过程

文档为钱包服务对第三方应用提供的接口。

../_images/apiopen-instructions-v2.png

以下文档中的接口提供方称为 钱包服务,接口调用方称为 第三方应用。第三方应用在请求钱包服务时,通过RSA算法对请求参数进行加密,接受到钱包服务的响应数据后需要进行解密

1.4 接口规则

传输方式:https(测试环境暂时使用 http)
签名字段:除了 sign 字段,其他所有必填项都需要参与签名
响应状态码为:0,表示处理成功,非 0 表示请求错误或系统异常
请求地址:域名+接口地址
加密算法:详见附 1