API Overview
- Auth API
- Underwriting API
- Portal
- Prospect Adobe
- Prospect Document
- Prospect Dropbox Files
- Prospect Entities
- Prospect Extras
- Prospect Generate PDF
- Prospect Integration
- Prospect Logs
- Prospect Messages
- Prospect Ofac Search
- Prospect Plaid Email
- Prospect Resellers
- Prospects
- Prospect Scores
- Prospect Scores Average Bank Balance
- Prospect Scores Business Types
- Prospect Scores Equifax Owner Credit
- Prospect Scores Tax Id
- Prospects Scores Average Bank Balances Plaid Transaction
- Prospect Status
- Process API
- Main API
- API Onboarding Tutorial
- Verify API
iCG Verify Legacy Process - Verify API
Introduction
iCG Verify Legacy Process APIs allow you to perform the activities related to holding transactions operations.
The iCG Verify Legacy Process API - Verify APIs' end points and their functionalities are given below:
API End Point
|
API Functionality
|
ICG Verify Legacy Process is the process where we validate a pair of information containing both routingNumber that must be of 9-digits and accountNumber that must be of 14 digits for the same bank that is being validated. This endpoint will return a Giact Code to be legacy compatible with old apps |
iCG Authentication Service
iCG APIs are secured by OAuth 2.0 ROPC grant type. The external application must obtain user authorization before it executes an endpoint call incase this API chooses to use OAuth 2.0 ROPC Grant. This authorization includes the following steps:
- You must first exchange the user's credentials for an access token.
- The access token is an object containing information for authorizing client requests and refreshing the token itself.
The end-to-end authorization request is represented in the below diagram.
sequenceDiagram participant Merchant participant ICG (token URL) autonumber Merchant ->>ICG (token URL): Client ID, username, password ICG (token URL)->>Merchant: id_token, access token, refresh token
The above step is to generate access token using the iCG provided Client id and with Merchant's user credentials.
Key Request Parameters
Once you receive the Client ID, and the user credentials, the next step is call the OAuth 2.0 ROPC endpoint to generate the access token.
Element | Value |
Method | POST |
Authorization Type | OAuth 2.0 ROPC |
Auth URI | https://auth.icheckdev.com/ |
Client ID | *****(iCG application audience ID) |
Username | {username} |
Password | {password} |
grant_type | password |
Sample cURL Request
curl -X POST \
--url 'https://auth.icheckdev.com/Login' \
--header 'Accept: application/json' \
--data 'grant_type=password' \
--data 'username={USERNAME}' \
--data 'password={PASSWORD}' \
--data 'client_id={iCG APPLICATION AUDIENCE ID}' \
On receiving the requests, iCG Authorization system validates all the parameters in the request and, if the request pass through the validation process, then it will generate your access token and return it in the response.
Sample Response Body
{
"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1laWQiOiJjNjFhY2JhYy02NjA4LTQ3Y2YtYWIxOS0wZWQ2YmY3NTI5MTciLCJ1bmlxdWVfbmFtZSI6IlN1c2VlbGEiLCJlbmNyeXB0ZWRfZW1haWwiOiJGcGJnZ1RqbTNkbXl2cFlWVlVZNnJzcHBDKzcweFIwWGoyeTR1Mm8rc1ZRPSIsInR5cGUiOiIiLCJpc3MiOiJodHRwczovL2F1dGguaWNoZWNrZGV2LmNvbS8iLCJhdWQiOiJmMWZhN2ZmZi05MmU0LTQxMzMtOGQxMC0zNjg2OGM0OTg3YWQiLCJleHAiOjE3MDQ5MDY1MjAsIm5iZiI6MTcwNDgyMDEyMH0.Q03E-HrXto9CBzHcC43qn2wZG5VpUV4hzIfcCuRGWu4"
"token_type":"bearer"
"expires_in":86399
}
The response parameters and their descriptions are:
iCG Verify Legacy Process
This endpoint returns a Giact Code to be legacy compatible with old apps.
Note:
Giact Code - After purchasing, consumer provides details of his/her account number, routing number and so on to the merchant. Merchant sends received consumer's details to giact. Giact verifies the consumer provided details and return the outcome in the zero-value authorization response.
Key Request Parameters
Element | Value |
Method | POST |
Authorization Type | OAuth 2.0 ROPC |
URI | https:///ICGVerifyLegacy/Process |
Headers
Element | Value |
siteID | The siteID is the ID which is displayed in the developer's My account page in the iCG developer portal. |
Request body
Parameter Name | Description | Mandatory/Optional | Data Type | Example |
Routing number | A routing number is a nine-digit code that indicates at which financial institution the merchant has the account. When combined with the merchant's account number, it allows financial institutions, processors, and other entities to locate the merchant's individual account. | Mandatory | Numeric (9 digit) | 083000056 |
Account number |
The account number is the unique number allocated to the merchant by the financial institutions
|
Mandatory | Numeric (14 digits) | 123467899891 |
First name | The first name of the merchant | Mandatory | String | John |
Last name | The last name of the merchant | Mandatory | String | Peter |
RuleNum | Mandatory | Numeric | 100 | |
Gateway Live | A Gateway is the payment gateway which allows a merchant to accept/decline payment from customers via online process. This endpoint verifies whether the Gateway is active or not. | Mandatory | Boolean | True |
UpdateMerchant | Mandatory | Boolean | True |
Sample cURL request
curl --location 'https://verify.icheckdev.com/ICGVerifyLegacy/Process' \
--header 'siteID: QAUG' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1laWQiOiJlYjg1M2IzMi01MjYzLTQ3ZDMtODJjOS0yM2NkY2FjNWI4YmQiLCJ1bmlxdWVfbmFtZSI6InN1c2VlbGFzIiwiZW5jcnlwdGVkX2VtYWlsIjoiL0NmWU1tYmpncmF3VzM0a0RBVkZSMzZvY3V4MHRpZjNvU2FTc01QSk14QT0iLCJ0eXBlIjoiIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmljaGVja2Rldi5jb20vIiwiYXVkIjoiN2E4ODM4YjBlMDJlNGI2MWIwZjhiMjlhZTI5YzRmOTMiLCJleHAiOjE3MDkzMTUxNzUsIm5iZiI6MTcwOTIyODc3NX0.Lj2wCTAo_9zbjYP7JBsJKqZcedA9DPpSgLfnUxywSuo' \
--data '{
"BankAccount": {
"RoutingNumber": "083000056",
"AccountNumber": "123467899992"
},
"personInfo": {
"personName": {
"lastName": "summit",
"firstName": "sagar"
}
},
"RuleNum": "100",
"GatewayLive": true,
"UpdateMerchant":true
}'
Sample Response
{
"code": "ND00",
"decision": null,
"description": "The routing number submitted belongs to a financial institution; however, this financial institution does not report information to the National Shared Database. The financial institutions that do report to the National Shared Database have not reported any recent experience (positive or negative) with this account",
"addendaRecords": [],
"error": null
}
To view our list of APIs, please visit the Verify API page.