Setting Up Direct Deposit Switch

This guide explains how to set up Direct Deposit Switch using the Get Direct Deposit Switch Token endpoint. Before performing this procedure, you may want to read the Direct Deposit Switch guide for general information on the user experience and use cases.

Result of following this procedure

Cardholders can use your interface to set up direct deposit into an account they hold with you.

Setup

You must integrate with the third-party direct deposit switch (DDS) provider through its SDK. Obtain the documentation from the DDS provider at this link. SoFi Tech Solutions must also perform setup steps on the back end.

Workflow

These are the entities involved in DDS:

  • Account holder — Your customer, who has at least one account on your platform
  • Your system — Your mobile app or web page, which has a control to launch the DDS process.
  • SoFi Tech Solutions — The system
  • SDK — Interfaces with the switch provider
  • Switch provider — Interfaces with the deposit provider
  • Payroll provider — Paycheck distributor such as ADP, an employer, or a government benefits distributor
929

Direct Deposit Switch workflow

  1. Your customer creates a new account on your platform, or the account holder already has an account on your platform.
  2. The account holder activates an "add direct deposit" control on your interface.
  3. You call the Get Direct Deposit Switch Token endpoint and pass the routing and account numbers of the account that will receive the deposit.
  4. SoFi Tech Solutions forwards the token request to the switch provider, which generates the token.
  5. SoFi Tech Solutions forwards the token to you in the endpoint response.
  6. The SDK calls the payroll provider's interface and passes the account holder's account and routing numbers.
  7. The payroll provider returns its interface, which you present to the account holder.
  8. The account holder selects the deposit provider from the interface and inputs their login credentials.
  9. SoFi Tech Solutions sends the DDSE: direct_deposit_switch_event event message to you with status: processing.
  10. The payroll provider sets up a recurring deposit (ACH credit) with the routing and account numbers previously supplied.
  11. The DDS provider returns a webhook message to SoFi Tech Solutions that reports success.
  12. SoFi Tech Solutions sends the DDSE: direct_deposit_switch_event event message to you with status: completed.

When the payroll provider sends the deposit, it arrives at SoFi Tech Solutions as an ACH credit in a Nacha file. When the deposit is posted to the customer account, SoFi Tech Solutions sends a BPMT: pmt event message. The otype is a code that SoFi Tech Solutions sets up for you to indicate direct deposits.

Example scenarios

These scenarios explain how to implement Direct Deposit Switch for checking and savings accounts.

Scenario 1: Deposit into a checking account

  • Issuer name — CardOfMine. Routing number 33333
  • Customer name — Adela Sanchez
  1. Adela Sanchez opens a DDA with CardOfMine. The PRN is 77777.
  2. Adela clicks the "direct deposit" control on CardOfMine's interface. Adela indicates that she wants the direct deposit to go into this new DDA.
  3. The interface asks her to provide a description for the deposit. She inputs My Job Paycheck.
  4. CardOfMine's interface calls Get Direct Deposit Switch Token with these values:
ParameterValue
accountNo77777
ddSwitchAccountNo77777
ddSwitchRoutingNo33333
ddSwitchAccountTypechecking
ddSwitchAccountDescriptionMy Job Paycheck
  1. SoFi Tech Solutions passes the values to the DDS provider in a token request.
  2. The DDS provider returns the token and SoFi Tech Solutions forwards it to CardOfMine's interface.
  3. CardOfMine's interface loads the SDK, passes the token, and retrieves the direct deposit interface.
  4. Adela selects her paycheck provider and logs in using her company credentials.
  5. Adela specifies that 50% of her paycheck should go to her CardOfMine account.
  6. The paycheck provider creates a recurring ACH credit transaction using the account number 77777 and routing number 33333. The transaction parameters also include the fact that the CardOfMine account is a checking account.
  7. On pay day, Adela's paycheck provider sends half of her paycheck to her CardOfMine account.
  8. Later, SoFi Tech Solutions receives the deposit in a Nacha file
  9. SoFi Tech Solutions posts the deposit (payment) to Adela's account.

Scenario 2: Deposit into a savings account

  • Issuer name — IssueMyCard. Routing number 44444
  • Customer name — Karl Schwartz
  1. Karl signs up for a checking account and accompanying savings account with IssueMyCard.
  2. IssueMyCard creates the checking account as a primary account (PRN: 22222) and creates the savings account as a secondary account (PRN: 88888) to the checking account.
  3. Karl clicks the "direct deposit" control on IssueMyCard's interface. Karl indicates that he wants all of the direct deposit to go into his new savings account.
  4. The interface asks him to provide a description for the deposit. He inputs Deposit to Savings.
  5. IssueMyCard's interface calls Get Direct Deposit Switch Token with these values:
ParameterValue
accountNo22222
ddSwitchAccountNo88888
ddSwitchRoutingNo44444
ddSwitchAccountTypesavings
ddSwitchAccountDescriptionDeposit to Savings
  1. SoFi Tech Solutions passes the values to the DDS provider in a token request.
  2. The DDS provider returns the token and SoFi Tech Solutions forwards it to IssueMyCard's interface.
  3. IssueMyCard's interface loads the SDK, passes the token, and retrieves the direct deposit interface.
  4. Karl selects his paycheck provider and logs in using his company credentials.
  5. Karl specifies that all of his paycheck should go to his IssueMyCard savings account.
  6. The paycheck provider creates a recurring ACH credit transaction using the account number 88888 and routing number 44444. The transaction parameters also include the fact that the IssueMyCard account is a savings account.
  7. On pay day, Karl's paycheck provider sends all of his paycheck to his savings account.
  8. Later, SoFi Tech Solutions receives the deposit in a Nacha file
  9. SoFi Tech Solutions posts the deposit (payment) to Karl's account.

Events API

During the direct deposit switch process, SoFi Tech Solutions sends the DDSE: direct_deposit_switch_event Account Event when the status of the deposit setup changes. This event is first triggered when SoFi Tech Solutions generates a token and sends it to you in the endpoint response. Subsequent status changes also trigger this event message.

The possible values for status and old_status are:

  • processing — The direct deposit transactions are being set up.
  • completed — The direct deposit switch has been successfully set up.
  • failed — The direct deposit switch process failed.

When status: failed, the status_reason field is populated by one of the values in the Direct Deposit Switch Failure Status Reasons enumeration.

Viewing Direct Deposit Switches

Request the Direct Deposit Switch CDF, which contains all of the direct deposit switch transactions from the previous day.


Did this page help you?

© SoFi Technology Solutions, LLC 2026    Privacy Disclosure

All documentation, including but not limited to text, graphics, images, and any other content, are the exclusive property of SoFi Technology Solutions, LLC and are protected by copyright laws. These materials may not be reproduced, distributed, transmitted, displayed, or otherwise used without the prior written permission of SoFi Technology Solutions, LLC. Any unauthorized use or reproduction of these materials are expressly prohibited.