集成介绍

合作平台通过智能合约读取某一个externalID的KYC结果和附加信息。

接口

function getStatusAndExtraInfo(  
        bytes32 id  
) public view returns (AccessStatus status, string memory extraInfo)

enum AccessStatus {
        VERIFY,
        SUCCESS,
        REJECTED,
        SANCTIONED
}

参数说明:

  • bytes32 id: externalID的SHA256 hash,16进制字符串,例如0x3bb78535cc9555ff19fe3556aaa41c78a0a45c64d49ba2bc564507648a8e77a1

返回值说明:

  • AccessStatus status
    • 0:VERIFY,对应两种场景,一是该externalID的链上KYC状态为初始状态,即从来没有在链上写入过该externalID的状态,二是该externalID的RFI(Request For Information)正在进行中,有待用户提供进一步的资料。这两种状态都说明需要用户继续验证自己的身份,那么合作方APP需要引导用户打开CuteID的KYC页面做KYC。
    • 1:SUCCESS, 表示该用户已经通过了KYC,该externalID有权限访问合作方APP。合作方APP引导用户继续做相应业务操作即可,不需要再做KYC。
    • 2:REJECTED,表示该用户没有通过KYC,该externalID没有权限访问合作方APP。合作方APP禁止用户做相应的业务操作。
    • 3:SANCTIONED, 表示该钱包地址是被美国/欧盟/联合国制裁的地址。制裁地址只对使用钱包地址的合作方有效,对使用externalID的合作方无效,可忽略。
  • string memory extraInfo
    • 合作方要求的一些附加信息,比如externalID的国家信息、国籍信息、openID信息。
    • 附加信息是用分配给合作方的RSA公钥加密后的base64编码的密文,合作方在获取后需要用RSA私钥解密。
    • 附加信息解密后的明文格式如下
    {
       "country":"CN",
       "nationality":"CN",
       "openID":"16ce723216e1cc726521892162577f91a54972fc1536150d7983fba5a92e6deb"
    }
    country和nationality遵循ISO2Code国家或地区的两字母缩写标准。

ABI

[
   {
      "inputs":[
         {
            "internalType":"bytes32",
            "name":"id",
            "type":"bytes32"
         }
      ],
      "name":"getStatusAndExtraInfo",
      "outputs":[
         {
            "internalType":"enum CuteIDKYC.AccessStatus",
            "name":"status",
            "type":"uint8"
         },
         {
            "internalType":"string",
            "name":"extraInfo",
            "type":"string"
         }
      ],
      "stateMutability":"view",
      "type":"function"
   },
   {
      "type":"event",
      "name":"KYCStatusChanged",
      "inputs":[
         {
            "name":"id",
            "type":"bytes32",
            "indexed":true,
            "internalType":"bytes32"
         },
         {
            "name":"accessStatus",
            "type":"uint8",
            "indexed":false,
            "internalType":"enum CuteIDKYC.AccessStatus"
         }
      ],
      "anonymous":false
   }
]

合约地址


环境合约地址所在链备注
sandbox0x3a0CAF713Acc4fB2B391Ad048409Cab0b005f579Arbitrum Sepolia用于集成验证
productionArbitrum One主网用于真实生产环境