1.账户的验证
本小节API使用需提前获取账户认证,认证方法请查看以下page:
APP端需要获取token作为账户标识。并在后面每一个请求头中放入token
请求头:
APP端:
key:Authorization value: Bearer token
2.申请一张发票
POST:/custodyAccount/invoice/apply
该接口是为用户申请一张指定数额发票。
需要注意的是,只有用户调用过一次申请发票的接口后,服务器端才会激活该用户的托管账户功能。在此之前,调用托管账户相关的其他功能调用可能会失败。这个问题会在上线托管资产时优化。
请求体:
{
"amount": 500,
"memo" : "it's a test invoice"
}
amount:数量
memo:发票中的附言
响应:
{
"invoice": "lnbcrt1300n1pndcs08pp5y2zxgqleacgw8cm5mvfyvz8zc282t090myhpdtlg3npqnmjnw37sdqld96zwueqvys8getnwssxjmnkda5kxegcqzzsxqyz5vqsp58sllafzwk7tzag6x20794uw2ry6jck0jhgw6tx3etlf5dpt9nurs9qxpqysgqer74a5zprad878xh5zsg6sffhd66px4yp52sg2leufmuu4mu47e8zymfmf6wek9d9yxj2qy4mdrhfm2vau4afxrkxvy8pm8aml9yztcq0f9ahe"
}
3.查询当前账户的所有发票
POST:/custodyAccount/invoice/queryinvoice
请求体:
asset_id:默认使用“00”,查询比特币
响应体:
{
"invoices": [
{
"invoice": "lnbcrt1300n1pndcs08pp5y2zxgqleacgw8cm5mvfyvz8zc282t090myhpdtlg3npqnmjnw37sdqld96zwueqvys8getnwssxjmnkda5kxegcqzzsxqyz5vqsp58sllafzwk7tzag6x20794uw2ry6jck0jhgw6tx3etlf5dpt9nurs9qxpqysgqer74a5zprad878xh5zsg6sffhd66px4yp52sg2leufmuu4mu47e8zymfmf6wek9d9yxj2qy4mdrhfm2vau4afxrkxvy8pm8aml9yztcq0f9ahe",
"asset_id": "00",
"amount": 130,
"status": 0
},
{
"invoice": "lnbcrt1300u1pnghpwtpp5yyhjv3f8f8u5s0tzxh9cqamcjc4a7dwd4a7rdvq4t5ypqpk4gj9sdqld96zwueqvys8getnwssxjmnkda5kxegcqzzsxqyz5vqsp5zxg0wmdcvddvnlds6npsmldfl5wprfk38wtsye6cp5a9z6mns4ps9qyyssqzv2pjsuwn35tsgm5m7kkaag2z897d8wfxspm09fg5yakcy3vyrm4ev2lr5wzpfs4tqa7qz2pku0ny7hnyexrf89wt7fct2942snk6xgplj55dx",
"asset_id": "00",
"amount": 130000,
"status": 2
}
]
}
invoice:该条记录发票对应的字符串
asset_id: "00"代表比特币
amount:该条记录发票对应的数量
status:这条发票状态(0:未支付 1:已被支付 2:已失效 3:已被支付)
4.查询余额
弃用,使用coustodyAccount第8条
POST:/custodyAccount/invoice/querybalance
请求体:
无
响应体:
5.支付发票
POST:/custodyAccount/invoice/pay
请求体:
{
"invoice":"lnbcrt5u1pndj6dxpp5gjtcpp0ufrryr6ujf4kfuy7ehm35u0zer56menhzx9rpcjfl8ujqdqld96zwueqvys8getnwssxjmnkda5kxegcqzzsxqyz5vqsp50vrjpl3049w6luwednq7hqhnd5k2408ejs9phmyr9tquqz45x69q9qxpqysgqzn8nj6qshte3d4jwmj9ca8nzq7ztxhd2qlygq333r6hhk8ggnetjr6er5afekf60m9cgtl57fda27y4ufsd9y9xjqspgev5vfvl6m5sqjaz6c9",
"feeLimit": 0
}
invoice:发起支付的目标发票字符串
feeLimit:费用限制(填0为使用默认值,目前app端不开放给用户选择,统一为0)
响应体:
{
"payment":"success",
}
6.查询托管账户的交易记录
POST:/custodyAccount/invoice/querypayment
请求体:
{
"asset_id": "00",
"page":1,//页数
"page_size":2,//页面大小
"away":0//入账0,出账1
}
asset_id:默认使用“00”,查询比特币
响应体:
{
"payments": [
{
"timestamp": 1722846300,
"bill_type": 1,
"away": 1,
"target": "lnbcrt15u1pntprzjpp5qkmfsfqwlad5pm08ygfjglvka7gyky3xaytjq8rakm4f4xcglrgqdqud9h8getjdeskcgr5wfskuumxv4eqcqzzsxqyz5vqsp542snjzzu9w0yuhxc3vrtpfzpp3mgm7vt4tzd46rpjurrrrxsm6gs9qyyssqd2vccrkrc48rgd9jhzlt2sdhnjn6yn78r3ctx4kamjaj47lx2p93wt6cr7hkc4ftqflwrkn0sqa042va8haauyrgpx7n4ma7n3u333qqpvy99v",
//原“invoice”字段
"amount": 1500,
"asset_id": "00",
"state": 1,
"fee": 0
},
{
"timestamp": 1722846230,
"bill_type": 1,
"away": 1,
"target": "lnbcrt15u1pntpzlapp5h5f8hyqteqp6d3j9psuewjmaw49qkvn2kx629zhqm7pmdptfnrzqdqud9h8getjdeskcgr5wfskuumxv4eqcqzzsxqyz5vqsp5ekcydavjf33chvvevus46zsalld5dcg3v5w5ydq57g75csp5anps9qyyssqxscrud3qxyxc83s2ugch2hqfkddgk5sye6h3mlpynkr58htm0pjk5xx7mfu57f4fxf6kl9aqhweygtmwtxe82d9yqnr3j5dy64x9xcqpp3s56k",
"amount": 1500,
"asset_id": "00",
"state": 1,
"fee": 100
}
]
}
timestamp:时间
bill_type:交易类型
away:0 转入 1 转出
target:关联发票
amount:金额
asset_id:币种类型。00为比特币
state:状态,0 处理中,1 成功,2 失败,3成功
fee:交易产生的额外费用
invoice:关联发票(弃用,更变为target)
更新:invoice字段变更为target,未来版本删除invoice
更新:8/5新增fee字段
7.解码发票
POST:/custodyAccount/invoice/decodeinvoice
请求体:
{
"invoice": "lnbcrt200u1pnw85vhpp5cyhc3vrqeqrxyxhk72m96mq6zmay4ge465lzun9zrsvu25ujez8sdqld96zwueqvys8getnwssxjmnkda5kxegcqzzsxqyz5vqsp5l48sjaak3asx7234wsyrp2pmkawg52c9303pwg3a49sve8f2hcts9qxpqysgqhlm9pam4ksk2zlkuu4nm35ytzpmgny0rq6cwjxjgj890sh3hm53ns2cz32yl2u2pgameu74u393ca75f0zmvw2m7ywe9zgu4ekmr3ksqlhwwlc"
}
响应体:
{
"success": true,
"error": "",
"code": 200,
"data": {
"amount": 20000,
"timestamp": 1726206359,
"expiry": 86400,
"memo": "it's a test invoice"
}
}
amount:发票价值金额
timestamp:发票创建时间
expiry:发票有效期
memo:附言
8.查询余额
POST:/custodyAccount/balance
请求体:
{
"assetId":"00" //00为比特币,其他资产填资产id
}
响应体:
{
"totalBalance": 920000,
"unlockedBalance": 920000,
"lockedBalance": 0
}
totalBalance:总余额
unlockedBalance:活动账户
lockedBalance:冻结账户
9.查询所有btc及资产余额列表
Post:/custodyAccount/getAssetBalanceList
请求体:
无
响应体:
{
"success": true,
"error": "",
"code": 200,
"data": [
{
"assetId": "00",
"amount": 111141,
"prices": 0
},
{
"assetId": "22222222222222222222",
"amount": 1341,
"prices": 0
},
{
"assetId": "ac2d4d2c31f982ec5fe550f92d3bb961a30b50e67b26b4115692b8a65e7a2538",
"amount": 102462,
"prices": 0
}
]
}