154 lines
5.7 KiB
Go
154 lines
5.7 KiB
Go
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
|
||
}
|