Withdrawing Funds
Goal: To allow a user to transfer funds from their platform Wallet back to their linked external bank account.
Actors: Investor
Steps
Initiation: The Investor navigates to the "Wallet" section of the
Investor Dashboardand chooses the "Withdraw Funds" option.Destination & Amount: The Investor selects one of their linked
FundingSourcesas the destination and specifies the amount they wish to withdraw. TheInvestor Dashboardprevents entering an amount greater than theWallet's available balance (balance - outgoing_balance).Confirmation: The Investor confirms the transaction details.
Transfer Initiation: The
Integrated Wallet Solutioncalls the payment provider's API (Dwolla) to initiate a transfer from the user'sWalletto the selectedFundingSource. It creates aTransactionrecord withPENDINGstatus and immediately updates thebalance(note: it's not usingoutgoing balance).Notification: The
notification-apisends a confirmation to the Investor that the withdrawal has been initiated.Monitoring: The
Integrated Wallet Solutionmonitors for webhooks from the payment provider.Settlement: Upon receiving a success webhook, the
Integrated Wallet Solutionupdates theTransactionstatus toProcessed.Notification: The
Notification Serviceinforms the Investor that the withdrawal has been processed.Outcome: Funds have been successfully transferred from the investor's platform wallet to their external bank account.