# bitwin介接文件(币盈) ## 说明 ### 环境网址 测试环境 : `https://stage-api.bitwin.ai` 正式环境 : `https://api.bitwin.ai` ### 版本 v4 : `/api/v4` ### 鉴权信息(Header) `"X-Bitwin-Access" : "your api access"` <font color=#FF0000>*请注意每180天会更新</font> ### 资料请用Json格式提交 `Content-Type:application/json` ### 签名金钥&鉴权信息金钥 请找商务获取 ### 版本差異(v3) 新增法币栏位(FiatCurrency) 栏位调整: MerchantRMB更名为FiatCurrencyAmount ### 系统支持币种 | 币别 | 說明 | |:-|:-| | BTC | Bitcoin | | ETH | Ethereum(以太坊) | | USDT_ERC20 | Ethereum USDT(ERC-20) | | USDT_TRC20 | Tron USDT(TRC-20) | | USDT_BEP20 | Binance smart chain USDT(BEP-20)<font color=#FF0000>[维护中]</font> | ## 目录 * [交易金额限制](#交易金额限制) * [签名规则](#签名规则) * [建立付款订单](#建立付款订单) : `POST /api/v4/CreateCryptoPayOrder` * [查询付款订单](#查询付款订单) : `POST /api/v4/QueryCryptoPayOrder` * [建立商户出款单](#建立商户出款单) : `POST /api/v4/MerchantWithdraw` * [查询商户出款单](#查询商户出款单) : `POST /api/v4/QueryMerchantWithdraw` * [查询建议汇率](#查询建议汇率) : `POST /api/v4/ExchangeRate` * [Bitwin会员钱包绑定](#Bitwin会员钱包绑定) : `POST /api/v4/BuildRelationUser` * [[notify] 支付订单回调](#支付订单回调) : `由Bitwin系统发起至贵方提供的网址` * [[notify] 商户出款回调](#商户出款回调) : `由Bitwin系统发起至贵方提供的网址` * [[notify] Bitwin会员钱包绑定回调](#Bitwin会员钱包绑定回调) : `由Bitwin系统发起至贵方提供的网址` ## 交易金额限制 | 币别 | 交易最小数量 | 交易最大数量 | 支援小数单位 | |:-:|:-|:-|:-| | BTC | 0.0007 | 1 | 0.00001 | | ETH | 0.025 | 10 | 0.0001 | | USDT_ERC20 | 7 | 无上限 | 0.01 | | USDT_TRC20 | 7 | 无上限 | 0.01 | | USDT_BEP20 | 7 | 无上限 | 0.01 | **EX 1:单次BTC交易至少0.0001BTC,可以接受0.00012BTC,不接受0.000123BTC** **EX 2:交易单位為「聪」(Satoshi、Sat),故交易数量务必再乘上10^8。** ## 签名规则 将参数(除了Sign),依照升冪排序后,各value用,连接,最后再加上签名金钥,md5后转为全大写即为sign。 **范例** ``` 开发者令牌为:A299953927BB4959F7807B0F4A188E0C 传送参数: { "MerchantId": "bitwinTest", "MerchantOrderId": "29367465624676320", "TimeStamp": "1620371899034", "Sign": "" } 将参数排序 顺序为[已拿除sign] ["MerchantId", "MerchantOrderId", "TimeStamp"] 并将资料依序用value并用","连接,最后再加上开发者令牌 *参数内容为空则不需加密 加密内容为 bitwinTest,DA2021062821004,1620371899034,A299953927BB4959F7807B0F4A188E0C md5後即為sign 5C94029301A669EEC49EAB32768F5875 ``` ## 建立付款订单 **URL** : `/api/v4/CreateCryptoPayOrder` **Method** : `POST` **请求参数** | 参数|是否必填|类型|参数介绍 | |:-------------|:-------------|:-------------|:-------------| | MerchantId | Y | string | 商户编号 | | MerchantUserId | N | string | 商户会员编号 | | MerchantOrderId | Y | string | 商户订单编号 | | OrderDescription | N | string | 商户订单备注 | | Amount | Y | string | 金额 | | FiatCurrency | N | string | 订单法币单位 (如未填写预设人民币) | | FiatCurrencyAmount | N | string | 订单等值法币金额(商户) | | Symbol | Y | string | 币种(BTC,ETH,USDT_ERC20,USDT_TRC20,USDT_BEP20) | | CallBackUrl | Y | string | 回调网址 | | TimeStamp | Y | string | 时间戳记 | | Sign | Y | string | 签名 | **回应参数** | 参数|参数介绍 | |:-------------|:-------------| | OrderId | Bitwin订单编号 | | Qrcode | QRCODE 网址 | | Amount | 订单提交金额 | | RealAmount | 会员需付款金额 | | CryptoWallet | 付款地址 | | ReturnCode | 回应代码 | | ReturnMessage | 回应讯息* code非200才会有内容 | | Sign | 签名 | [GoTop](#目录) ## 查询付款订单 **URL** : `/api/v4/QueryCryptoPayOrder` **Method** : `POST` **请求参数** | 参数 | 是否必填 | 类型 | 参数介绍 | |:-------------|:-------------|:-------------|:-------------| | MerchantId | Y | string | 商户编号 | | MerchantOrderId | N | string | 商户订单编号(与OrderId择一) | | OrderId | N | string | Bitwin订单编号(与MerchantOrderId择一) | | TimeStamp | Y | string | 时间戳记 | | Sign | Y | string | 签名 | **回应参数** | 参数 | 参数介绍 | |:-------------|:-------------| | OrderId | Bitwin订单编号 | | MerchantOrderId | 商户订单编号 | | MerchantUserId | 商户使用者编号 | | OrderDescription | 商户订单备注 | | Symbol | 币种(BTC,ETH,USDT_ERC20,USDT_TRC20,USDT_BEP20) | | Amount | 订单提交金额 | | RealAmount | 会员需付款金额 | | FiatCurrency | 订单法币单位 | | FiatCurrencyAmount | 订单等值法币金额(商户) | | ExchangeRMB | 订单等值人民币(系统) | | OrderStatus | 订单状态(PENDING,SUCCESS,FAIL) | | CallBackUrl | 回调网址 | | ReturnCode | 回应代码 | | ReturnMessage | 回应讯息 *code非200 才会有内容 | | Sign | 签名 | [GoTop](#目录) ## 建立商户出款单 **URL** : `/api/v4/MerchantWithdraw` **Method** : `POST` **请求参数** | 参数 | 是否必填 | 类型 | 参数介绍 | |:-------------|:-------------|:-------------|:-------------| | MerchantId | Y | string | 商户编号 | | MerchantUserId | N | string | 商户会员编号 | | MerchantWithdrawId | Y | string | 商户提款编号 | | UserWallet | Y | string | 商户会员钱包地址 | | Symbol | Y | string | 币种(BTC,ETH,USDT_ERC20,USDT_TRC20,USDT_BEP20) | | Amount | Y | string | 金额 | | FiatCurrency | N | string | 订单法币单位 (如未填写预设人民币) | | FiatCurrencyAmount | N | string | 订单等值法币金额(商户) | | CallBackUrl | Y | string | 回调网址 | | TimeStamp | Y | string | 时间戳记 | | Sign | Y | string | 签名 | **回应参数** | 参数 | 参数介绍 | |:-------------|:-------------| | WithdrawId | Bitwin提款订单编号 | | MerchantWithdrawId | 商户提款编号 | | ReturnCode | 回应代码 | | ReturnMessage | 回应讯息 *code非200 才会有内容 | | Sign | 签名 | [GoTop](#目录) ## 查询商户出款单 **URL** : `/api/v4/QueryMerchantWithdraw` **Method** : `POST` **请求参数** | 参数 | 是否必填 | 类型 | 参数介绍 | |:-------------|:-------------|:-------------|:-------------| | MerchantId | Y | string | 商户编号 | | WithdrawId | N | string | Bitwin提款订单编号(与MerchantWithdrawIdID择一) | | MerchantWithdrawId | N | string | 商户提领订单编号(与WithdrawId择一) | | TimeStamp | Y | string | 时间戳记 | | Sign | Y | string | 签名 | **回应参数** | 参数 | 参数介绍 | |:-------------|:-------------| | MerchantUserId | 商户使用者编号 | | UserWallet | 会员钱包地址 | | MerchantWithdrawId | 商户提款订单编号 | | WithdrawId | Bitwin提款订单编号 | | Symbol | 币种(BTC,ETH,USDT_ERC20,USDT_TRC20,USDT_BEP20) | | Amount | 订单提交金额 | | FiatCurrency | 订单法币单位 (如未填写预设人民币) | | FiatCurrencyAmount | 订单等值法币金额(商户) | | ExchangeRMB | 订单等值人民币(系统) | | Status | 订单状态(PENDING,SUCCESS,FAIL) | | WithdrawDateTime | 提领发起时间 | | ApprovedDateTime | 审核时间 | | ReturnCode | 回应代码 | | ReturnMessage | 回应讯息 *code非200 才会有内容 | | Sign | 签名 | [GoTop](#目录) ## 查询建议汇率 **URL** : `/api/v4/ExchangeRate` **Method** : `POST` **请求参数** | 参数 | 是否必填 | 类型 | 参数介绍 | |:-------------|:-------------|:-------------|:-------------| | Symbol | Y | string | 币种(BTC,ETH,USDT_ERC20,USDT_TRC20,USDT_BEP20) | | TimeStamp | Y | string | 时间戳 | **回应参数** | 参数 | 参数介绍 | |:-------------|:-------------| | RMBRate | 建议汇率 | | RMBBuyRate | 建议汇率 | | ReturnCode | 回应代码 | | ReturnMessage | 回应讯息 *code非200 才会有内容 | [GoTop](#目录) ## Bitwin会员钱包绑定 **URL** : `/api/v4/BuildRelationUser` **Method** : `POST` **请求参数** | 参数 | 是否必填 | 类型 | 参数介绍 | |:-------------|:-------------|:-------------|:-------------| | MerchantId | Y | string | 商户编号 | | MerchantUserId | Y | string | 商户会员编号(回调辨识用 | | CallBackUrl | Y | string | 回调网址 | | TimeStamp | Y | string | 时间戳记 | | Sign | Y | string | 签名 | **回应参数** | 参数 | 参数介绍 | |:-------------|:-------------| | QrcodeData | 会员扫码资料 | | QrcodeImageUrl | 会员扫码的网址(需使用Bitwin App | | ReturnCode | 回应代码 | | ReturnMessage | 回应讯息 *code非200 才会有内容 | | Sign | 签名 | [GoTop](#目录) ## 支付订单回调 **URL** : `Bitwin系统回调贵方提供的网址(付款完成才會回調)` **Method** : `POST` **参数** | 参数 | 类型 | 参数介绍 | |:-------------|:-------------|:-------------| | MerchantId | string | 商户编号 | | MerchantOrderId | string | 商户订单编号 | | OrderId | string | Bitwin订单编号 | | Symbol | string | 币种(BTC,ETH,USDT_ERC20,USDT_TRC20,USDT_BEP20) | | Amount | string | 订单提交金额 | | PayAmount | string | 会员需付款金额 | | FiatCurrency |string | 订单法币单位 (如未填写预设人民币) | | FiatCurrencyAmount | string | 订单等值法币金额(商户) | | ExchangeRMB | string | 订单等值人民币(系统) | | PayUnixTimestamp | string | 付款时间 | | Sign | string | 签名 | **回应(貴司)** 成功请回传: SUCCESS 失败请回传: ERROR:失败原因 [GoTop](#目录) ## 商户出款回调 **URL** : `Bitwin系统回调贵方提供的网址` **Method** : `POST` **参数** | 参数 | 类型 | 参数介绍 | |:-------------|:-------------|:-------------| | MerchantId | string | 商户编号 | | MerchantUserId | string | 商户会员编号 | | MerchantWithdrawId | string | 商户提款订单编号 | | UserWallet | string | 会员钱包地址 | | WithdrawId | string | Bitwin提款订单编号 | | WithdrawAmount | string | 提款金额 | | FiatCurrency |string | 订单法币单位 (如未填写预设人民币) | | FiatCurrencyAmount | string | 订单等值法币金额(商户) | | ExchangeRMB | string | 订单等值人民币(系统) | | Symbol | string | 币种(BTC,ETH,USDT_ERC20,USDT_TRC20,USDT_BEP20) | | ReplyDateTime | string | 请款时间 | | Sign | string | 签名 | **回应(貴司)** 成功请回传: SUCCESS 失败请回传: ERROR:失败原因 [GoTop](#目录) ## Bitwin会员钱包绑定回调 **URL** : `Bitwin系统回调贵方提供的网址` **Method** : `POST` **参数** | 参数 | 类型 | 参数介绍 | |:-------------|:-------------|:-------------| | MerchantId | string | 商户编号 | | MerchantUserId | string | 商户会员编号 | | UserName | string | Bitwin會員名稱 | | BTC | string | 会员钱包地址(BTC) <font color=#FF6600>*会员有该钱包才会显示该栏位</font>| | ETH | string | 会员钱包地址(ETH) <font color=#FF6600>*会员有该钱包才会显示该栏位</font>| | USDT_ERC20 | string | 会员钱包地址(USDT_ERC20) <font color=#FF6600>*会员有该钱包才会显示该栏位</font>| | USDT_TRC20 | string | 会员钱包地址(USDT_TRC20) <font color=#FF6600>*会员有该钱包才会显示该栏位</font>| | USDT_BEP20 | string | 会员钱包地址(USDT_BEP20) <font color=#FF6600>*会员有该钱包才会显示该栏位</font>| | Sign | string | 签名 | **回应(貴司)** 成功请回传: SUCCESS 失败请回传: ERROR:失败原因 [GoTop](#目录)