>  Switch To Link 5 and API v2 Documentation

Direct deposit switching

Let users securely switch their direct deposit to your bank, or add a debit card you have issued them to their gig platform for instant payouts.

After a user connects a payroll account through Argyle Link, you can ask them to:

  • Redirect their pay, in whole or in part, to a new or existing bank account
  • Add a debit card for instant payouts on their gig platform

Set up#

Our direct deposit switching (DDS) solution for website and application integrations is outlined below. For a no-code solution, visit our DDS through Console guide.

Argyle Link is the front-end application through which users can connect their payroll accounts. Our embedding Link guides cover how to initialize this payroll connection process in your application.

Add the following lines to your Argyle Link initialization to include an additional step for DDS after a user connects a payroll account:

1payDistributionUpdateFlow: true,
2payDistributionConfig: "<Your encrypted payDistributionConfig>"
  • Set payDistributionUpdateFlow to true to enable the DDS flow after a user connects a payroll account.
  • Set payDistributionConfig to an encrypted string representing your DDS configuration. This configuration determines the user's DDS experience, and contains any relevant bank account or debit card information.
    • The DDS configuration must be encrypted using the API to ensure sensitive banking and card information is never exposed.

Argyle is PCI DSS Level 2 compliant. Learn more about security and compliance at Argyle here.


Example code:

Structure DDS configuration#

  1. Decide which DDS flow to perform. This determines what to include in your DDS configuration, which in turn determines which screens and settings are shown to the user after they connect a payroll account.
  2. Structure your DDS configuration as an object. Depending on your use case, this object can include:
    • bank_account - an object containing bank account and routing information.
    • <allocation settings> - listed key:value pairs or objects that determine what pay allocations are suggested to the user when redirecting payments to the provided bank_account.
    • card or card_source - objects included when adding debit cards to gig platforms. See our add a debit card section below for more information.
  3. Encrypt this DDS configuration object using the API.
  4. Use the encrypted string returned by the API in step 3 as your payDistributionConfig when initializing Argyle Link for DDS.

Customizations#

The user's DDS experience takes place within Argyle Link, the same front-end application they used to connect their payroll accounts.

You can tailor Argyle Link's appearance to your brand, or restrict which payroll accounts a user can connect to only those that support DDS.

In Argyle Console:

  1. Create a new customization using Flows.

  2. Enable the setting "Only show Link items that support direct deposit switching".

    Once this setting is enabled, only payroll systems supporting the DDS configuration you provide will be shown to the user.

  3. Tailor Argyle Link's appearance to your brand if needed.

  4. Save and apply your customization by including the following line in your Argyle Link initialization:

    1customizationId: "<Your customization ID (e.g. P2R93PEL) found in Link Customizer>"

Sandbox testing#

You can test your DDS configuration and customizations with Flows in Argyle Console. This allows you to simulate a user's DDS experience and make any adjustments necessary.

  1. Enable Sandbox mode using the toggle in the upper-left.
  2. Select your customization from the “Select Link customization” dropdown.
  3. Enable “Simulate a direct deposit switch” using the toggle in the lower-right.
  4. Select “Custom” from the “Direct deposit scenario” dropdown.
  5. Copy and paste the encrypted payDistributionConfig you would like to test.

DDS flows#

Which of the below DDS flows you would like the user to perform determines what to include in your DDS configuration. The DDS configuration is then encrypted via the API and used as the payDistributionConfig when initializing Argyle Link for DDS.

Add a bank account#

Include a bank_account object and <allocation settings> in your DDS configuration.

Full paycheck

User cannot restore previous bank accounts or adjust their pay allocations:


User is allowed to restore previous bank accounts and adjust their pay allocations:


Partial paycheck

We recommend including both percent_allocation and amount_allocation with whole number values in your DDS configuration for partial paychecks. Because some payroll systems only support one format, either amount values or percent values, this maximizes the number of payroll systems that will support your DDS configuration.

If both percent_allocation and amount_allocation are included in your DDS configuration and the user's payroll system supports both formats, the user will be shown an initial screen allowing them to select which format they prefer:

An exception to including both percent_allocation and amount_allocation would be if you are only interested in receiving a specific dollar amount, usually in connection with a loan repayment. In this case you would only include amount_allocation.

You would like to receive an exact amount of the user's paycheck:


You would like to receive an amount or percentage of the user's paycheck within a certain range:


You would like to receive a minimum amount or percentage of the user's paycheck, but do not have a maximum limit:

Add a debit card#

Many gig economy platforms support instant payouts to debit cards for earned wages. You can check which employers support this feature using the /link-items API endpoint.

Your DDS configuration for adding debit cards will depend on whether you have PCI DSS compliance, which is required for managing sensitive data like card numbers and CVV2 security codes.

Argyle is PCI DSS Level 2 compliant. Learn more about security and compliance at Argyle here.

You are PCI DSS compliant

If you have PCI DSS compliance and are certified to handle sensitive card data, include the card object in your DDS configuration.

We recommend populating every field in the card object to maximize compatibility with gig economy platforms that support this feature.

You are not PCI DSS compliant

Argyle has partnered with Unit to support adding debit cards to gig economy platforms for instant payouts if you are not PCI DSS compliant. Unit is PCI DSS compliant and can serve as a third party for handling sensitive card data.

Reach out to your Customer Success Manager if you are implementing this functionality with Unit, or are interested in using another preferred third party.

Include the card_source object in your DDS configuration.


Add a bank account and card#

Adding a bank account and debit card at the same time to a user's payroll system is only supported if you are PCI DSS compliant.

Include a bank_account object, <allocation settings> for the bank account, and card object in your DDS configuration.

You would like to receive the user's entire paycheck, and add a debit card:


You would like to receive an exact amount or percentage of the user's paycheck, and add a debit card:

You would like to receive an amount or percentage of the user's paycheck within a certain range, and add a debit card:


Adjust existing pay allocations#

In some situations, such as when a user's final loan payment is lower than the previous payments, you may want to adjust the pay allocations for the bank accounts that have already been added to the user's payroll system.

Include a bank_account object in your DDS configuration in the same way as if you were adding a new bank account, with the new <allocation settings> you would like the user to accept.

Remove a bank account#

Users can confirm through Argyle Link that they would like to remove a bank account from one of their connected payroll accounts.

This allows the user to adjust the payout settings of their remaining bank accounts, as well as handle any multi-factor authentication (MFA) requests their payroll system requires.

Allow users to remove a bank account with these steps:

  1. We recommend deep linking the user directly to the payroll account containing the bank account to be removed.

  2. Encrypt only the following JSON and set it as your payDistributionConfig when initializing Argyle Link for DDS:

    1{
    2    "action": "remove-allocation",
    3    "allocation_id": "0181d8c4-31ed-3338-1859-05fc7f1ca501"
    4}

You can find the allocation_id by using the /pay-allocations endpoint. List pay allocations by account and use the id representing the bank account you would like to remove as the allocation_id.

You can also save the allocation_id returned in the payload of the accounts.pay_distribution_updated webhook after adding a bank account if you plan on removing the bank account later.

Status updates#

Webhooks#

Webhooks are automatic notifications that let you know in real-time when changes occur.

If you are asking the user to add or remove a bank account, add a debit card, or adjust their existing pay allocations, you can monitor the status of these changes using accounts webhooks:

If a user independently adds, updates, or removes a bank account or debit card, you can monitor these changes as well by subscribing to pay allocations webhooks.

You can subscribe to webhooks using Argyle Console or via the API.

Manual monitoring#

You can view the status of any bank account or debit card updates to payroll accounts manually:

  • via the API — use the /accounts API endpoint and check the attributes within the pay_distribution object.

  • in Argyle Console — navigate to Connections, select a user, click the JSON toggle button, and check the pay_distribution object within the Account object that is listed at the top of the JSON view:

    1{
    2    "pay_distribution": {
    3        "status": "...",
    4        "error_code": "...",
    5        "error_message": "...",
    6        "updated_at": "..."
    7    }
    8}

The status will progress from scanning -> updating -> success/error.

DDS through Console#

You can invite new users to switch their direct deposit using Argyle Console. The invites can be sent via email, SMS, or both and will include a link the user can click to enter the DDS flow in their browser. From there the user can review and confirm they would like to add the bank account whose details you provided in Argyle Console to their payroll system.

From the Your users tab, select Invite new users and then enable direct deposit switch.

If you customized Argyle Link by tailoring its appearance to your brand, or restricted payroll connections to only those that support DDS, you can select your Link customization from the dropdown menu in the Argyle Link tab within the same Invite users page.

FAQ#

Updating Argyle status...
© 2024 Argyle Systems Inc.argyle.com