Payout process

The payout process for cryptocurrencies is more simple than the deposit process. To summarise, the merchant simply needs to request the wallet address from their end-user, and then pass this information back to Orbital, along with an amount. Orbital then checks that the merchant has the required balance on the Orbital PMID, and then processes the payout, returning a success or failure back to the merchant notification URL.

One important thing to take in to account however, is that the Orbital platform provides flexibility to the merchant around specifying the amount they want to send. We provide merchants with three options, and specific API parameters for each:


  1. Send a specific crypto amount - If the merchant knows the exact amount in the specific cryptocurrency which they want to send to the enduser, then they should specify a targetCurrency (BTC, USDT, ETH, etc) with a corresponding targetAmount in the API call.
  2. Send an amount in USD/EUR/GBP, to be converted in to crypto - If the merchant wants to specify the amount to send in the base currency held with Orbital in the merchant balance (could be USD/EUR/GBP), then they should specify a targetCurrency (BTC/USDT/ETH/etc), and a sourceCurrency (USD/EUR/GBP) with a corresponding sourceAmount in the API call.
  3. Send an amount in the local currency of the cashier, to be converted in to crypto - If the merchant does not know how much they want to send in crypto, but instead they know the amount in local currency (e.g. CNY, THB, etc), then the merchant should specify a targetCurrency (BTC/USDT/ETH/etc), and a sourceCurrency (USD/EUR/GBP) from which to debit the funds, and also a cashierCurrency (CNY, THB, etc) with a corresponding cashierAmountin the API call.

We find in most cases merchants know the exact amount of crypto they want to send back to the user, so they just use the targetCurrency to send the coin to the end-user wallet address. However, if either of the other two currency parameters are used, then the merchant is essentially allowing Orbital to work out the currency conversion to be applied when sending the coins (we advise against this, the merchant should preferably do these conversion calculations themselves to maintain full control).


Process flow


Step 1: Make the payment

Once the merchant has collected the end-users wallet address where to send the coins, the merchant should submit the payout request via the Orbital Crypto Withdrawal API, taking in to account the currency and amount parameter options described above. Orbital will then check if the merchant has enough positive balance to make the payment, and then execute.

Step 2: Check the status

After the payment request is submitted, Orbital will send a callback to the merchant notify URL to inform them of the transaction ID. The merchant then users that ID to query the Get Payment API to request full details of the payout transaction and the status on the blockchain.

Step 3: Confirm success to end-user

Once the transaction is confirmed on the blockchain, the merchant should notify the end-user (and can optionally provide a link to the transaction in a block explorer). The process is complete.


Payment Status

Please Note: During the crypto payout process we create a payment record immediately when the request is received and then update the status with the value "initiated". The state changes to "debited" once we have debited the merchants PMID balance, and then to "pending" once the transaction is registered on the blockchain. It gets changed to "confirmed" once it reaches certain amount of confirmations on the blockchain. At this final stage the merchant can consider the payout successful and inform the end-user accordingly. The coins will be in the end-users wallet ready to spend.