Operations (buy/sell/withdraw crypto)
Available operations
Buying crypto
Buy
object needs to be obtained first to start the process of buying:
val mercuryo: Mercuryo = Mercuryo.create(...)
val buy: Buy = mercuryo.operations.buy
Getting token for buying
Before buying, you need to get a unique token designated to this specific operation, for this you can use the .convert
method:
buy.convert(fromCurrency: String, toCurrency: String, amount: String) : ConverterResult
Buying
After you obtained a buying token you can call buy method passing parameters of operation.
buy.commit(cardId: String, cvv: String, buyToken: String, redirectUrl: String): TransactionStatus
Parameter
Description
cardId
ID of card in Mercuryo
cvv
CVV code of card
buyToken
Buying token buy.convert(...)
redirectUrl
URL where user will be redirected after operation. Example: http://my.mercuryo.io/orders?invoice={invoice_id}
Confirmation of operation
To finalize an operation user may need to confirm ownership of bank account by providing a descriptor sent as a part of transaction.
buy.verifyDescriptor(transactionId: String, code: String): TransactionStatus
Parameter
Description
transactionId
ID of transaction obtained after buy.commit(...)
code
Descriptor code
Getting rate for buying
User may want to know the rate of fiat-crypto conversion which may be obtained using the following method:
buy.rate(fromCurrency: String, toCurrency: String): Rate
Selling process
Sell
object needs to be obtained first to start the process of buying:
val mercuryo: Mercuryo = Mercuryo.create(...)
val sell: Sell = mercuryo.operations.sell
Getting token for selling
Before selling, you need to get a unique token designated to this specific operation, for this you can use the .convert
method:
sell.convert(fromCurrency: String, toCurrency: String, amount: String) : ConverterResult
Selling
To sell you need to get token for selling first call method as shown below.
sell.commit(cardId: String, sellToken: String): TransactionStatus
Getting exchange rate for selling
Rate includes a fee.
sell.rate(fromCurrency: String, toCurrency: String): Rate
Withdrawal to another wallet
Withdraw
object needs to be obtained first to start the process of buying:
val mercuryo: Mercuryo = Mercuryo.create(...)
val withdraw: Withdraw = mercuryo.operations.withdraw
Currency converter
Before sending crypto it may be beneficial for user to know how amount converts to fiat or vice versa. Mercuryo SDK provides a method for that allowing to understand transaction better.
withdraw.convert(fromCurrency: String, toCurrency: String, amount: String) : ConverterResult
Withdrawal fees
To make withdrawal you need to obtain available blockchain fees first. In case there are no fees this method will throw an CurrencyNotSupportFeeException
exception.
withdraw.getEstimateFee(currency: String, fiatCurrency: String, address: String, amount: String): EstimateWithdrawFee
Make a withdrawal
withdraw.commit(currency: String, address: String, amount: String, estimateId: String?): VerifyMetaData
Fields
Description
currency
Crypto
address
Wallet address
amount
Amount of withdrawal in crypto
estimateId
ID of estimation fee obtained on the previous step, see method withdraw.getEstimateFee
Withdrawal confirmation
User may need to confirm withdrawal using text message or email code.
withdraw.verify(next: VerifyMetaData.NextStep, key: String, code: String): TransactionStatus
Last updated
Was this helpful?