Depositing Funds
Goal: To allow a user to transfer funds from their linked external bank account into their platform Wallet.
Actors: Investor
Steps
Initiation: The Investor navigates to the "Wallet" section of the
Investor Dashboardand chooses the "Load Funds" option.Source & Amount: The Investor selects one of their linked
FundingSourcesand specifies the amount they wish to deposit.Confirmation: The Investor confirms the transaction details.
Transfer Initiation: The
Integrated Wallet Solutioncreates adepositTransactionintent withcreatedstatus and calls the payment provider's API (Dwolla) to initiate an ACH transfer from the selectedFundingSourceto the user'sWallet. After provider submission, it increases the persistedinc_balancereservation.Notification: The
Notification Servicesends a confirmation to the Investor that the deposit has been initiated.Monitoring: The
Integrated Wallet Solutionmonitors for webhooks from the payment provider regarding the transfer status.Settlement: Upon receiving a success webhook, the
Integrated Wallet Solutionupdates theTransactionstatus toprocessed, adds the amount to theWallet'sbalance, and decreasesinc_balanceby the same amount.Failure or Cancellation: If the provider reports a terminal failure or confirms cancellation, the
Integrated Wallet Solutionrecordsfailedorcancelledand releases theinc_balancereservation. Thebalanceremains unchanged for either outcome.Notification: The
Notification Serviceinforms the Investor of the processed, failed, or cancelled outcome.Outcome: A
processeddeposit transfers funds from the investor's bank account into their platform wallet.