公共參數

0.1 公共參數(所有API接口都帶的參數)

參數 類型 必填 說明 示例
merchantId Integer 商戶號,在用戶中心獲取 2000213
timestamp Integer 當前時間戳 1729640397
nonce Integer 隨機數 595365
body String body是業務參數,可選。 業務參數數組轉化為json之後,再用base64編碼,詳見0.2 YWJjZGVmZzEyMzQ1Njc4OTA=
sign String MD5簽名,簽名規則見0.3 2de03a66b9daf209687b98acce4cef81

0.2 業務參數body的組成規則

將業務參數轉變為JSON字符串之後,再用base64編碼後得到的結果。例如:您的業務參數轉化為json之後是 {"chainType":160,"callUrl":"http:\/\/xxx.com\/ubao_callback.html"},將這個JSON字符串再用base64編碼,得到的結果:eyJtYWluQ29pblR5cGUiOjE2MCwiY2FsbFVybCI6Imh0dHA6XC9cL3h4eC5jb21cL3ViYW9fY2FsbGJhY2suaHRtbCJ9 ,即是body的值

0.3 簽名規則

將 body、api_key、nonce、timestamp 這4個字符串按照這裏的順序連接起來,轉換為md5,即可得到簽名。 商戶號以及api_key ,在用戶中心獲取

0.4 返回值

參見錯誤代碼

0.5 異步通知

0.5.1 異步通知驗簽及字段

異步通知,同樣由body、nonce、timestamp、sign構成。其中 body 是用 base64編碼過的。將body、api_key 、nonce、timestamp 按此處順序連接起來,再經過MD5加密,即可得到簽名。將此簽名與返回的 sign 對比,如果一致,則驗簽成功。將body經過 base64解碼後,即可得到json字符串,裏邊是通知的內容。

0.5.2 異步通知類型

異步通知,分為3類,都使用同一個回調地址,即生成地址時填寫的回調地址。用 body 中的 callbackType 字段加以區分。這三個種類是:充幣(recharge)、提幣或轉賬(transfer)、余額變動(balance),當body 中的 callbackType = recharge 時,說明這是一個充幣的通知,其他2種類推。

1、生成地址

1.1 場景說明

生成指定鏈的地址,如要成功生成地址,需要先添加過此鏈 調試工具SDK

1.2 接口地址

/mch/address/create

1.3 body參數

參數 類型 必填 說明 示例
chainType Integer 鏈別編號,參見最後一條 160
callUrl String 回調地址,通過該接口創建的地址,以後關於該地址的充幣信息會通過您指定的回調地址通知您 http://xxx.com/ubao_callback.html
type Inegter 類型:0為收款地址,2為歸集錢包。-2為觀察錢包。默認為0 0

1.4 成功後返回

{"code":200,"message":"SUCCESS","address":"TQcK2oKpeVAE1mvYEudYJHgCr47F5ba8hk","chainType":160}

1.5 失敗後返回

參見錯誤代碼

2、提幣

2.1 場景說明

提幣申請,只能是歸集錢包。收款錢包,請使用歸集功能。

2.2 接口地址

/mch/withdraw

2.3 body參數

參數 類型 必填 說明 示例
from String 提幣地址 0xE27be41F25D66A05d1fBA4DeEF740921a5F26980
to String 收幣地址 0xc9Da8e789Ee111b40DFf90805DfE000f303e2582
amount String 提幣數量 10.32
coinID Integer 幣種編號,參見最後一條 1002
chainType Integer 主幣鏈,參見本文最末 170
order_sn String 業務編號,該字段將原樣返回,方便您識別業務 12345

2.4 成功後返回

{"code":200,"message":"SUCCESS"}

2.5 失敗後返回

參見錯誤代碼

3、校驗地址合法性

3.1 場景說明

如果不確定自己提交的地址是否符合要求,可以先校驗合法性

3.2 接口地址

/mch/address/check

3.3 body參數

參數 類型 必填 說明 示例
chainType Integer 鏈別編號,見本文最末 160
address String 需要校驗的地址 TWJQVNivkcvyAwbEuWPmZT9E5oZBC2dUXt

3.4 成功後返回

{"code":200,"message":"SUCCESS"}

3.5 失敗後返回

參見錯誤代碼

4、添加觀察錢包

4.1 場景說明

添加一個外部錢包的觀察地址

4.2 接口地址

/mch/address/add

4.3 body參數

參數 類型 必填 說明 示例
chainType Integer 主幣類型,參見本文最末 170
address String 地址 0xdac17f958d2ee523a2206206994597c13d831ec7
callUrl String 回調URL http://xxx.com/callback.html

4.4 成功後返回

{"code":200,"message":"SUCCESS"}

4.5 失敗後返回

參見錯誤代碼

5、獲取商戶支持的幣種信息

5.1 場景說明

獲取商戶支持的幣種

5.2 接口地址

/mch/coins

5.3 body參數

5.4 成功後返回

{"code":200,"message":"SUCCESS","coins":"[]"}

5.5 失敗後返回

參見錯誤代碼

6、歸集到歸集錢包

6.1 場景說明

將收款錢包中的余額,歸集到歸集錢包

6.2 接口地址

/mch/address/pooling

6.3 body參數

參數 類型 必填 說明 示例
coinID Integer 幣種,參見本文最末 1002
address String 需要歸集的地址 TWJQVNivkcvyAwbEuWPmZT9E5oZBC2dUXt

6.4 成功後返回

{"code":200,"message":"SUCCESS"}

6.5 失敗後返回

參見錯誤代碼

7、驗證地址所有權

7.1 場景說明

在DAPP中,獲得地址後,還需要驗證地址所有權,防止用觀察錢包來登錄,類似情況下,需要來驗證所有權。如果返回結果result=true,說明是地址的主人

7.2 接口地址

/mch/address/verify

7.3 body參數

參數 類型 必填 說明 示例
address String 需要驗證的錢包地址 0xdd0 ...... 99Cb79
message String 一個隨意的字符串即可,可以是隨機字符串 xxx.com:user:1999-10-10 11:12:00
sign String 用上面的字符串生成的簽名 xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyzzzzzzz
chainType Integer 鏈別:見最下邊。170是幣安(BSC)鏈 170

7.4 成功後返回

{"code":200,"message":"SUCCESS","result":"true"}

7.5 失敗後返回

參見錯誤代碼

8、充幣異步通知

8.1 場景說明

UBAO檢測到收款地址充幣後,將會通知該地址留下的回調URL。通知內容為:nonce、timestamp、sign、body,簽名驗證方式,與API相同。body需要base64解碼。 調試工具SDK

8.3 body參數

參數 類型 說明 示例
callbackType String recharge:充幣,transfer:提幣或轉賬,balance:余額通知 recharge
amount String 金額,可結合精度,計算出真正金額 98260
decimals Integer 精度 6
address String 收款地址 0xc2132d05d31c914a87c6611c10748aeb04b58e8f
chainType Integer 鏈別,參見本文最末 170
coinType String 代幣合約地址,參見本文最末 0x55d398326f99059ff775485246999027b3197955
coinID Integer 幣種編號,參見本文最末 1002
hash String 唯一交易HASH,請記錄、檢查,以名重復回調 0x0000000xxxxx....
fromAddress String 付款地址 0xc2132d05d31c914a87c6611c10748aeb04b58e8f
coinName String 幣名 USDT

8.4 成功後返回

SUCCESS

8.5 失敗後返回

如果您的業務處理成功,請返回 SUCCESS 。如果你的業務處理失敗,可以返回 FAIL 或其他值。如果沒有返回 SUCCESS,UBAO將會在5、15、30分鐘再次回調,3次都失敗的話,將會放棄。需要的話,可在用戶中心手動回調。

9、提幣、轉賬異步通知

9.1 場景說明

當您提幣或轉賬(只能通過歸集錢包),UBAO處理之後,會通過此歸集錢包留下的回調URL,通知您。通知內容為:nonce、timestamp、sign、body,簽名驗證方式,與API相同。body需要base64解碼 調試工具SDK

9.3 body參數

參數 類型 說明 示例
callbackType String recharge:充幣,transfer:提幣或轉賬,balance:余額通知 transfer
result Integer 1:成功,0:失敗 1
amount Long 轉賬金額,與精度配合使用 1234
decimals Integer 精度 18
coinID Integer 幣種編號,見本文集最末 1002
coinName String 幣名 USDT
address String 轉出地址 0xdac17f958d2ee523a2206206994597c13d831ec7
toAddress String 收款地址 0xdac17f958d2ee523a2206206994597c13d831ec7
coinType String 代幣合約地址 0x55d398326f99059ff775485246999027b3197955
hash String 唯一交易HASH,請記錄、檢查,以名重復回調 0x00000011111......
order_sn String 您提幣時傳入的訂單編號,原樣返回 123456
chain String bsc
chainType String 鏈別,參見本文最末 170
message String 返回消息,成功,或者失敗原因 OK
tradeId Integer 在UBAO的唯一交易ID 192201

9.4 成功後返回

SUCCESS

9.5 失敗後返回

如果您的業務處理成功,請返回 SUCCESS 。如果你的業務處理失敗,可以返回 FAIL 或其他值。如果沒有返回 SUCCESS,UBAO將會在5、15、30分鐘再次回調,3次都失敗的話,將會放棄。需要的話,可在用戶中心手動回調。

10、余額變動通知

10.1 場景說明

UBAO檢測到余額變動時,會通過此地址留下的回調URL,通知您變化。通知內容為:nonce、timestamp、sign、body,簽名驗證方式,與API相同。body需要base64解碼 調試工具SDK

10.3 body參數

參數 類型 說明 示例
callbackType String recharge:充幣,transfer:提幣或轉賬,balance:余額通知 balance
address String 錢包地址 0x00033
amount Long 最新余額,與精度配合使用 3390
decimals Integer 精度 18
coinID Integer 幣種編號,見下方 1002
coinName String 幣名 USDT
coinType String 代幣合約地址 0x55d398326f99059ff775485246999027b3197955
chainType Integer 鏈編號,見下方 170

10.4 成功後返回

SUCCESS

10.5 失敗後返回

如果您的業務處理成功,請返回 SUCCESS 。如果你的業務處理失敗,可以返回 FAIL 或其他值。如果沒有返回 SUCCESS,UBAO將會在5、15、30分鐘再次回調,3次都失敗的話,將會放棄。需要的話,可在用戶中心手動回調。

幣種編號

編號 幣名 官方名稱 鏈編號 代幣合約地址
1001 BNB BNB 170 BSC
1002 USDT BEP20 BSC-USD 170 BSC 0x55d398326f99059ff775485246999027b3197955
1003 TRX TRX 160 TRON
1004 USDT TRC20 Tether USD 160 TRON TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
1005 ETH ETH 180 ETH
1006 USDT ERC20 USDT 180 ETH 0xdac17f958d2ee523a2206206994597c13d831ec7
1008 POL POL 190 Polygon
1009 USDT ERC20 (Pos)Tether USD 190 Polygon 0xc2132d05d31c914a87c6611c10748aeb04b58e8f
1010 USDC BEP20 Binance-Peg USD Coin 170 BSC 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d
1011 USDC TRC20 USD Coin 160 TRON TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8
1012 USDC ERC20 Token USDC 180 ETH 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48