• Login
  • Create a Free Developer Account
logo
Home Support Desk My

Developer Reference Docs

API Overview

  • Auth API
    • Account
    • Applications
    • Audiences
    • OTPermissions
    • Permissions
    • Portal
    • Roles
    • Users
  • 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
    • Holding Transactions
    • Invoices
    • Merchants
    • Reconciliation
    • Rtp
    • Rtp Transactions
    • Settlements
    • Settlements Reports
    • Settlements Reports Groups
    • Tokens
    • Transactions
  • Main API
    • Reports
    • ReportsV2
  • API Onboarding Tutorial
  • Verify API
    • iCG Verify Legacy
    • iCG Verify

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
/ICGVerifyLegacy/Process
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:

Parameter Description
access_token The access token to be used to call the functional APIs
token_type Bearer
expires_in The number of seconds until the access token expires

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.

NEXT: Main API Overview
company logo iCheckGateway.com Support Desk
  • facebook_social_link_icon_alt_text
  • twitter_social_link_icon_alt_text
  • instagram_social_link_icon_alt_text
  • linkedin_social_link_icon_alt_text
  • youtube_social_link_icon_alt_text
  • Home
  • Sign out