package udunhelper type VerifyRequest struct { MerchantId string `json:"merchantId"` MainCoinType string `json:"mainCoinType"` Address string `json:"address"` } type CallbackRequest struct { MerchantId string `json:"merchantId"` //商户号 MainCoinType int `json:"mainCoinType"` //主幣種編號,使用獲取商戶幣種信息接口 CallUrl string `json:"callUrl"` //回調地址,通過該接口創建的地址,以後關於該地址的充幣信息會通過您指定的回調地址通知您 WalletId string `json:"walletId"` //錢包編號,默認根據主錢包生成地址,可不填写 Alias string `json:"alias"` //地址別名,可不填写 } type WithdrawRequest struct { /** { "address":"raadSxrUhG5EQVCY75CSGaVLWCeXd6yH6s", "amount":"0.11", "merchantId":"100109", "mainCoinType":"144", "coinType":"144", "callUrl":"http://localhost:8080/mch/callBack", "businessId":"15", "memo":"10112" } */ Address string `json:"address"` //提币地址 Amount string `json:"amount"` //提币数量 MerchantId string `json:"merchantId"` //商户号 MainCoinType string `json:"mainCoinType"` //主幣種編號,使用獲取商戶幣種信息接口 CoinType string `json:"coinType"` //子幣種編號,使用獲取商戶幣種信息接口 CallUrl string `json:"callUrl"` //回調地址,通過該callUrl告知您該筆提幣交易的狀態 BusinessId string `json:"businessId"` //業務編號,必須保證該字段在系統內唯一,如果重復,則該筆提幣錢包將不會進行接收 WalletId string `json:"-"` Memo string `json:"memo"` //備註,XRP和EOS,這兩種幣的提幣申請該字段可選,其他類型幣種不填 } type BaseRequest struct { Timestamp int64 `json:"timestamp"` Nonce int `json:"nonce"` } type HttpRequest struct { Timestamp int64 `json:"timestamp"` //时间戳 Nonce int `json:"nonce"` //随机数 Sign string `json:"sign"` //签名 Body string `json:"body"` //请求body } type BaseRes struct { Code int `json:"code"` //200才是返回成功调用 Message string `json:"message"` // } type BaseCoinsMerchant struct { Code int `json:"code"` //200才是返回成功调用 Message string `json:"message"` // Data []CoinsMerchant `json:"data"` // } //CoinsMerchant 商家持仓的币种信息 type CoinsMerchant struct { MainCoinType string `json:"mainCoinType"` //主幣種類型 CoinType string `json:"coinType"` // 幣種類型 Symbol string `json:"symbol"` //BTC Name string `json:"name"` //幣種別名,BTC Logo string `json:"logo"` //幣種log地址 CoinName string `json:"coinName"` //幣種全稱,Bitcoin MainSymbol string `json:"mainSymbol"` //主幣種單位 Decimals string `json:"decimals"` //幣種精度,8 TokenStatus int `json:"tokenStatus"` //0: 主幣 1:代幣 Balance int64 `json:"balance"` //幣種余額 } type BaseCoinAddress struct { Code int `json:"code"` //200才是返回成功调用 Message string `json:"message"` // Data CoinAddress `json:"data"` // } //CoinAddress 地址返回 type CoinAddress struct { CoinType int `json:"coinType"` // 幣種類型 Address string `json:"address"` //地址 } type CallBackBase struct { TimeStamp int64 `json:"timestamp"` Nonce int `json:"nonce"` Sign string `json:"sign"` Body CallBackRes `json:"body"` // } //CallBackRes 回调结构体 type CallBackRes struct { Address string `json:"address"` //地址 Amount string `json:"amount"` //交易數量,根據幣種精度獲取實際金額,實際金額=amount/pow(10,decimals),即實際金額等於amount除以10的decimals次方 Fee string `json:"fee"` //礦工費,根據幣種精度獲取實際金額,實際金額獲取同上 Decimals string `json:"decimals"` //幣種精度 CoinType string `json:"coinType"` //子幣種編號,使用獲取商戶幣種信息接口 MainCoinType string `json:"mainCoinType"` //主幣種類型 BusinessId string `json:"businessId"` //業務編號,提幣回調時為提幣請求時傳入的,充幣回調無值 BlockHigh string `json:"blockHigh"` //區塊高度 TradeId string `json:"tradeId"` //業務流水號 TxId string `json:"txid"` //區塊鏈交易哈希 Memo string `json:"memo"` //備註,XRP和EOS,使用獲取商戶幣種信息接口,這2種類型幣的充提幣可能有值 Status int `json:"status"` //狀態,0待審核,1審核成功,2審核駁回,3交易成功,4交易失敗 TradeType int `json:"tradeType"` //交易類型,1充幣回調,2提幣回調 } func getWithDrawMsg(code int) string { msg := "" switch code { case 200: msg = "提币成功" case 523: msg = "参数为空" case 581: msg = "无效的提币金额" case 4005: msg = "非法参数" case 4034: msg = "未找到该币种信息" case 4162: msg = "签名异常" case 4163: msg = "签名错误" case 4169: msg = "商户已被禁用" case 4183: msg = "到账地址异常" case 4193: msg = "EOS金额小数点后超过4位长度" case 4214: msg = "暂无可用的币种" case 4226: msg = "商户普通账户被禁用" case 4261: msg = "商户管理员账户被禁用" case 4284: msg = "商户不存在" case 4288: msg = "业务编号重复,请勿重复申请" case 4598: msg = "传入body中的list对象中的所有merchantId必须保持一致" case 4001: msg = "商户不存在" } return msg }