Bitcoin Payout Service
This post is also available in: German
Bitcoin payouts are executed with the Bitcoin payment service. A Bitcoin payout service is a payment to a third party if you do not know your Bitcoin address.
In the case of a Bitcoin payment, the payer has received from the payee the Bitcoin address to which the payment is to be made.
The solution presented here is for business transactions where a credit note is to be issued but the payee’s Bitcoin address is not necessarily available.
This can be for example if:
- Refund – An online merchant wants to refund the purchase amount to his customer because the goods have been returned.
- Payment to artists and performers
- Commissions – Payments of commissions and payment claims to affiliates, service providers and suppliers
The payment procedure is such that the payer deposits the Bitcoin amount on a Bitcoin Wallet. Afterwards the payee is informed that he can collect the Bitcoin amount.
The payee goes to the notified Internet address and enters his own Bitcoin address there to retrieve the credit balance.
With an online merchant who sells goods, it can happen that the goods are returned by the customer and a corresponding credit note has to be issued. But also in cases where a customer has paid too much and you want to refund the amount paid too much. This process is described in more detail at the end of this article in the chapter Refund to customers.
It is also suitable for mass crediting. Be it to make commission payments to a large number of advertising partners (affiliates) or to employees, business partners and service providers who are to receive Bitcoin in the form of a payout.
Implementation of a Bitcoin payout
The issuing of the credit note can be implemented using the BTCPay Bitcoin Wallet and Pull Payment.
The first step is to create a BTCPay Store on the BTCPay Server. How to set up a BTCPay store can be found under: Set up BTCPay Shop.
When configuring the store in the Derivation Scheme, we specify that we want to use the internal BTCPay wallet. How to create a BTCPay Wallet can be read under “How to create a BTCPay Wallet“.
After the BTCPay store has been created, we switch to the Wallet
In the first step we have to provide credit on this Wallet so that the credits can be made from this Wallet.
We select our wallet and click on Manage
Click on the image to see the picture in large and in detail.
Click on the picture for detailed view
We click Receive and can generate a Bitcoin address to which we can make a deposit.
We get the QR Code displayed and deposit the Bitcoin
When we click on Transaction, we get an overview of all transactions made on this Bitcoin Wallet. Our deposit is displayed here.
Now we have the necessary credit balance to issue a credit note.
We change into the area Pull Payments and have there the possibility by “Create a new pull payment” a credit note to adjust.
In the input field the name is entered, as well as the credit amount and the corresponding currency. BTC is proposed for Bitcoin.
However, it can also be used in Euro, for example, if the currency pair BTC_EUR has been stored accordingly in the BTCPay store settings.
ATM automatically takes us to the overview page of the created credits. If we click on View, we will be redirected to the link where the customer can request his credit.
This link looks like this, for example:
and can be sent to the customer by email.
When the payee opens the link, for example, this page is displayed:
(credit amount in BTC)
(credit amount in EUR)
The recipient of the payment URL can enter their own Bitcoin address in the Destination address field and request payment via “Claim Now”.
Afterwards, the following page is displayed to the payee as confirmation.
The payee has “only” requested the payment. However, the payment has not yet been disbursed. For security reasons it is necessary that the payment is approved by the wallet administrator.
In the status window the administrator is informed that a credit note has been requested.
The administrator switches to the payouts section and is shown all transactions that are waiting for a payout.
The corresponding transactions are marked and released with “Confirm selected payouts”.
After that you will be redirected to the send area and the adjoining page will be displayed.
The recipient’s Bitcoin address and the requested amount are displayed.
In addition, the transaction fee is displayed, which must be paid. It can be decided how fast this transaction should be executed. The amount of the fee is calculated according to the payout speed.
It can also be determined whether the costs of the payout are borne by the payer or the payee. If the costs of the transaction are borne by the payee, these fees are deducted from the payment amount (Substract fees from amount).
Afterwards the payment must be signed. This can be done with the “Sign with …”. button.
Since we use the BTCPay internal Hot Wallet to manage the credit, we sign with “Sign with — the hot wallet
We then receive an overview of the transactions again and then click on Broadcast it
After the payment has been confirmed, we will see the completed transactions in the transaction view.
Payouts also receive the Payout label.
Summary for Bitcoin Payout Service
As an operator of an online store, you will be confronted with the situation that you have to give your customer a credit note.
A credit should never be made to the same Bitcoin address from which the original payment came. It is therefore recommended to ask the payee for the Bitcoin address to which the credit is to be issued.
In the system presented here, only the email address of the payee is required to make a withdrawal.
This simplifies the processes for all parties involved and the multi-level approvals ensure a high level of security.
The payer is also free to decide whether the credit is to be made in Bitcoin or in Euro. Normally one will offer the customer a credit note in Euro, since the original purchase amount was also in Euro.
The system automatically calculates the Bitcoin amount at the time of the payment request.
With the payout system, a Bitcoin payment can be made to anyone whose email address is known. The recipient of the e-mail message can then decide which Bitcoin address is to be credited.
The system presented here only allows payouts in Bitcoin. The crediting of credits via Lightning is currently not yet possible.
The solution presented here can be administered very easily via the web interface. For operators of affiliate programs or merchants and service providers who have a high number of payouts to make, the solution presented here can also be automated through an API connection.
The API interface description for an automated Bitcoin payout service can be found at Pull Payments Management
This post is also available in: German