For fiat cash-out, users are able to initiate withdrawals to a bank account of their choice. The existing manual withdrawal flow creates a pending withdrawal transaction, which an Admin Dashboard user can mark as complete after they have actioned the banking transaction through the company’s operational transaction process. You can automate this process with your custom-built extension triggering the bank transaction using the information provided by Rehive.
End-users are able to add bank accounts to their profiles using the wallet applications as can be seen in the image below. When initiating a withdrawal, they may choose which added bank account to send the funds to.
Requirements and considerations
- The user must be on a Tier that allows withdrawal transactions. Tiers are configured per Group using the Rehive Admin Dashboard.
- The user must have added a bank account to their profile in order to initiate a withdrawal to the bank account
- A webhook can be configured to send the transaction detail and metadata to your extension whenever a pending debit transaction is created. We recommend setting up a webhook to be sent for all Debit transactions.
- The app allows end-users to add account details for multiple accounts.
- The bank accounts linked to a specific user can be retrieved via the API using the bank accounts endpoint
/admin/users/bank-accounts/?user={user_identifier}
Steps
- The end-user requests a withdrawal to a bank account they have added using the Rehive Wallet.
- When this is done, a debit transaction is created on the Rehive ledger with a status of “Pending” and the bank account details are included in the metadata field of the transaction in JSON format.
- According to the Webhook settings, a webhook is sent to the integration including the transaction details.
- Your extension then initiates the bank transfer with the payment processor using the bank account details included in the transaction Metadata and awaits confirmation that the transfer has been completed.
- Payment processor confirms success or failure of the transfer.
- Your extension updates the status of the user’s transaction from pending to complete (or failed) using the
/admin/transactions/{tx_code}/
endpoint.
Recommended additional configurations:
- Create and customize notifications using the Notifications Extension to ping users when a new withdraw transaction is processed.
- The Rehive Expressions Guide is useful for creating notifications with specific trigger variables.