Matching and CDV

Account Verification

Yodlee API v1.1 allows consumers to verify accounts that are held at FI sites that are enabled for the customers. Consumers can verify their accounts in real time just by searching for their financial institution (FI) and providing their login credentials. The consumer can verify checking and savings accounts.

Prerequisites for Matching Service:

            For any customer who wants to use the matching service or CDV in Yodlee platform 1.1 the following are must do:

  • Have to subscribe to the following attributes for sure:
    • ACCOUNT_PROFILE.FULL_ACCT_NUMBER
    • ACCOUNT_PROFILE.BANK_TRANSFER_CODE
    • ACCOUNT_PROFILE.HOLDER_NAME
  • As Matching Service is a post account addition activity for it to function as expected during the account addition, we have to request for all the attributes mentioned above without fail.

Matching Service Verification Process

In matching service (MS) verification process, the credentials provided by the consumer are used to log in to the specified financial institution's website. Verification based on defined matching rules is performed by using the information passed through single sign on (SSO) or by other means, and by using additional consumer/account details available from the site. Pertinent information related to a consumer's accounts is retrieved from the financial institution.

Matching Service Flow:

Matching service is an instant account verification solution offered by Yodlee. Verification is performed by matching the account holder names found on accounts held at the financial institution and account holder names provided by a customer during consumer registration.

Challenge Deposit Verification Process

In the challenge deposit verification (CDV) process, Yodlee makes two micro deposits and a debit of amounts less than one dollar to the consumer's account by using the account number and routing number provided by him/her. Once the micro deposits and the debit are posted to the account, the consumer must check his/her statement or online transaction record to determine the exact amounts of the two deposits and the debit. The consumer must then return to the account verification application and input these amounts to confirm account ownership.

Disclaimer: The challenge deposit verification is available only in the United States

Initiate Matching Service and Challenge Deposit Account Verification

The service is for initiating the matching service (MS) verification process and CDV to verify account ownership.

  • Initiation of verification request can be done for a single account or for a provider Account.
  • Matching service and CDV can verify only bank account (i.e., checking and savings) ownership.
  • The pre-requisite for the matching service verification is the ACCT_PROFILE dataset with holder name/holder details attribute has to be requested.
  • In the matching service verification process a string-match of the account holder names with the registered user name is performed. Customers can choose to either have the full name or only the last name matched.
  • The verification ID in the response can be used to track the verification request.
  • For matching service verification, the response is returned instantly and provides a timestamp of the verification done for each account.

Method and URL: POST /verification

Header Parameters:


Key

Value

Authorization

cobSession={cobSession received in the cobrand login service}, userSession={userSession received in the user login service}

Content-Type

application/json

verison

1.1

Cobrand-name

{name of the customer}

Parameters:


Parameter

Description

Mandatory

Parameter Type

Data Type

verificationParam

The verification parameter in JSON format

Yes

Body

String

Initiation Matching Service:
SAMPLE INPUT 1:  Initiate MS account verification with account ID

Input:
{  
   "verification":{  
      "accountId":1111,
      "verificationType":"MATCHING"
   }
}
Output: 
{  
   "verification":[  
      {  
         "verificationId":3324,
         "providerAccountId":9999,
         "verificationType":"MATCHING",
         "accountId":1111,
         "verificationStatus":"SUCCESS",
         "verificationDate":"2015-09-21T14:46:23Z"
      }
   ]
}

Initiate CDV with Account Id:

Input:
{  
   "verification":{  
      "accountId":1111,
      "verificationType":"MATCHING"
   }
}
Output: 
{  
   "verification":[  
      {  
         "verificationId":3324,
         "providerAccountId":9999,
         "verificationType":"MATCHING",
         "accountId":1111,
         "verificationStatus":"SUCCESS",
         "verificationDate":"2015-09-21T14:46:23Z"
      }
   ]
}

Verify Challenge Deposit

The verify challenge deposit service performs the challenge deposit verification process. Micro-transactions (i.e., credit and debit) are posted into the consumer's account.
To successfully verify the account's ownership, the consumer has to enter the exact debit and credit amount; only USD currency is supported. The challenge deposit verification process takes 2-4 days to verify an account and is available only in the US.
Method and URL: PUT /verification
Header Parameters:


Key

Value

Authorization

cobSession={cobSession received in the cobrand login service}, userSession={userSession received in the user login service}

Content-Type

application/json

verison

1.1

Cobrand-name

{name of the customer}

Parameters:


Parameter

Description

Mandatory

Parameter Type

Data Type

verificationParam

The verification parameter in JSON format

Yes

Body

String

Input:
{  
   "verification":{  
      "verificationType":"CHALLENGE_DEPOSIT",
      "accountId":9999,
      "providerAccountId":1231,
      "transaction":[  
         {  
            "amount":{  
               "amount":0.68,
               "currency":"USD"
            },
            "baseType":"CREDIT"
         },
         {  
            "amount":{  
               "amount":0.21,
               "currency":"USD"
            },
            "baseType":"CREDIT"
         },
         {  
            "amount":{  
               "amount":0.94,
               "currency":"USD"
            },
            "baseType":"DEBIT"
         }
      ]
   }
}

Output:
{  
   "verification":[  
      {  
         "verificationId":2324,
         "providerAccountId":9999,
         "verificationType":"CHALLENGE_DEPOSIT",
         "accountId":1111,
         "verificationStatus":"FAILED",
         "reason":"AMOUNT_MISMATCHING",
         "verificationDate":"2015-09-21T14:46:23Z"
      }
   ]
}