Skip to content

Withdrawing Funds

Goal: To allow a user to transfer funds from their platform Wallet back to their linked external bank account.

Actors: Investor


Steps

  1. Initiation: The Investor navigates to the "Wallet" section of the Investor Dashboard and chooses the "Withdraw Funds" option.

  2. Destination & Amount: The Investor selects one of their linked FundingSources as the destination and specifies the amount they wish to withdraw. The Investor Dashboard prevents entering an amount greater than the Wallet's available balance (balance - outgoing_balance).

  3. Confirmation: The Investor confirms the transaction details.

  4. Transfer Initiation: The Integrated Wallet Solution calls the payment provider's API (Dwolla) to initiate a transfer from the user's Wallet to the selected FundingSource. It creates a Transaction record with PENDING status and immediately updates the balance (note: it's not using outgoing balance).

  5. Notification: The notification-api sends a confirmation to the Investor that the withdrawal has been initiated.

  6. Monitoring: The Integrated Wallet Solution monitors for webhooks from the payment provider.

  7. Settlement: Upon receiving a success webhook, the Integrated Wallet Solution updates the Transaction status to Processed.

  8. Notification: The Notification Service informs the Investor that the withdrawal has been processed.

  9. Outcome: Funds have been successfully transferred from the investor's platform wallet to their external bank account.