Integration Guide, Preparation, Workflow, and API Reference.
An Introduction
Welcome to the GIDX Platform integration guide; please read through this document and familiarize yourself with the services, requirements, suggestions, and preparation steps
provided before beginning your integration.
The GIDX Platform provides direct access to the following services...
Customer Identity Verification
Customer Monitoring
Location Verification
Document Library Management
Device Fingerprinting & Reputation
Watch List Screening – OFAC, PEP, POI, etc.
Payment Management: Deposits & Payouts
Payment Method Tokenization
Payment Transaction Viewer & Wallet
Customer & Payment AML Monitoring
Timeline & Expectations
Below is an overview and timeline expectations for a typical GIDX Platform Implementation / Integration.
The steps marked GIDX are steps approved, executed, implemented by the internal GIDX team.
This is merely a guide and each timeline may be adjusted based on the individual merchants integration resources and requirements.
1.
Compliance Approval for Service Access
1-7 days
GIDX
2.
Integration Dashboard Account Access
1-3 days
GIDX
3.
Merchant Account Settings: Default Assigned
1-3 days
GIDX
4.
Merchant Integration Begins
5.
Merchant Testing
6.
Merchant Settings Review Process with GIDX Team
2-7 days
GIDX
7.
Merchant Revised Integration & Testing
8.
Merchant informs GIDX Team that Integration & Testing Complete
9.
GIDX Team performs internal testing
3-7 days
GIDX
10.
GIDX Team provides testing results back to the Merchant.
11.
If any additional action is required by the merchant then the process goes back to step 7
12.
Certification of Controls for Merchant are provided
2-5 days
GIDX
13.
Production Environment Credentials Assigned
1-3 days
GIDX
14.
Production Dashboard Access Assigned
1-3 days
GIDX
15.
Merchant Launches Production Environment Access to their customers
Prerequisite Steps
This document is a guide to getting started on the right foot - it provides you with an overview of the requirements, suggestions, and best-practice processes for your successful integration with the GIDX Platform.
The items below should be a part of your implementation plan. Any additional compliance related factors based on industry and services needed should also be taken into account when preparing your internal implementation map.
Review Merchant Preparation items
Build Data Storage Environment
Development of Server Side Code Elements (C# SDK is available)
Development of Client Side Interface Elements
Review Merchant System Settings
Implement System Rules and determine testing scenarios
Web-based browser access: Desktop, Tablet, Mobile Phone
Native App. via iOS and/or Android on a mobile device
Familiarize yourself with the GIDX Platform environment.
How to use the ReasonCodes and Session/Data Scoring that is provided within the service response/updates.
Review the testing tools and data that is provided as part of the integration.
How Merchant Settings effect the customer experience and service implementation.
How to customize the Client Side Interface of WebSession based services.
Execute the items in the Merchant Preparation list.
Review the GIDX Service API Reference documents.
Important things to know regarding the GIDX Platform
The following is a list of items we wanted to highlight before a merchant begins planning their integration with the GIDX Platform. From time to time we may add additional items to this list based on the experiences of merchants using the GIDX Platform.
The GIDX Platform has a C# SDK (GIDX.SDK NuGet) that should be used if possible - it makes things a lot easier.
Some of the GIDX Platform Services are provided in two different service formats...
Direct Session: which provides a traditional Request/Response process and does not require customer interaction.
Web Session: which provides a managed/embedded solution where the service being performed communicates directly with the customer and their device. You will learn more about these two Session types within these implementation documents.
The merchant should only implement a Web Session based service within a secure environment once the customer has logged into their specific account. Web Session based services provide secure customer information unique to the Customer ID indicated by the merchant within the API Method Call.
When using a WebSession Service, such as the Customer Identity WebReg Service or Payment Management WebCashier Service, the "CreateSession" method will require that the IP address of the customers' device for this WebSession is provided in the API call. This process is required so that the GIDX Platform can ensure that the device the original WebSession was requested from is the same device that is loading the secure ScriptTag that is provided in the WebSession response.
All customer accounts within the Merchants environment should have a Unique ID that is never shared / used by another customer account of the merchant.
The GIDX Platform requires that all Customer IDs, Session IDs, Transaction IDs, or other unique Identifiers be a minimum of four (4) characters in length.
Service Workflow Example
The following service workflow example provides the typical process that occurs between the Merchant, Customer, and GIDX Platform during the course of several scenarios and can be tailored to met
the specific requirements of the merchant.
To view a more customized workflow please select the options that best describe the merchants implementation strategy.
Attention
For the fast track approach to integration you can start with the "Cashier Service (Payment / Deposit)" step and go from there. The Cashier Service will automatically detect whether a customer has been successfully 'ID-VERIFIED' or not and if they have NOT then the Idetity Verification process will automatically launch when attempting to process their first depost.
Note: Using this fast track approach will require some addtional steps to ensure proper interaction with the first deposit. Contact devteam@tsevo.com for more details on how to successfully integrate this process.
Identity Match
Session Type:
Direct Session
API Path(s):
/api/CustomerIdentity/CustomerRegistration
/api/CustomerIdentity/CustomerProfile
Customer creates an account at the merchants app/website.
The response from an Identity Match attempt will return the results of the match, location details, watch list information, and scoring based on the confidence of the identity
data & the confidence against fraud on the customer.
If the verification is Not Successful then... +/-
Set customer as Not Verified.
Option: Close customers account and do not allow them to participate. (Not recommended)
Recommended: Go to the Identity Verification process.
If the verification is Successful then the merchant ... +/-
Assigns the "Verified" status to that customer's internal account.
Reviews the other ReasonCode values to determine if any additional action may need to be taken based on the customers Age, Location, Fraud/Risk, Etc.
Next: Get the complete profile of the customer using the CustomerProfile Method.
The process for verifying the customer's identity is now complete.
Once the Identity Match service is complete AND IF the customers account/profile is Successfully Verified then the merchant should now make an API call to the
CustomerProfile Method. This method will return all of the important customer profile information that is needed to generate an account within the TOTE service.
Identity Verification
Session Type:
Web Session
API Path(s):
/api/WebReg/CreateSession
/api/CustomerIdentity/CustomerProfile
Using the Web Session service for Customer Identity Verification provides you with a hosted / managed process for identity match and verification.
This allows a merchant to control the functionality of the identity verification through settings on the account rather than needing to write additional code for multiple use case scenarios.
The CreateSession method, located in the WebReg Service,
will return several values that are needed for initiating the Web Session process.
ReasonCodes containing Customer Identity, Customer Device, and Location information - if available.
An encrypted, one time use, script-tag.
The expiration time of the Web Session.
Merchant embeds the encrypted one time use script-tag into the webpage displayed to the customer on their device.
This script-tag will connect to the GIDX Service directly from customers device; this direct connection will initiate the following process...
The customers device is authenticated using the encrypted token of the script-tag.
The GIDX Service detects and interprets the customers device attributes and analyzes the connection.
Based on these attributes and connection status the appropriate service interface is rendered as Bootstrap Formatted HTML and sent
back to the customers device where it is then rendered into the interface and displayed based on the merchants settings.
The HTML interface, that is rendered and embedded by the script-tag into the merchants page on the customers device, is completely customizable by the merchant using
standard CSS, jQuery/JavaScript, or other client side scripting languages.
Based on the Merchant WebReg Customer Verification Service settings the embedded interface will present the customer the following screens/process.
Confirm/Provide their Name & Email Address.
Confirm/Provide their Date of Birth & Citizenship.
A series of KBA Questions / Multiple Choice Answers will be presented to the customer. (If activated in the Merchant settings)
Confirm the SSN by providing the last 4 digits. (If activated in the Merchant settings)
Verification Complete - Notification is sent to merchant.
Note: The embedded WebReg Service can be controlled and monitored by the merchant in real time using a set of pre-defined
JavaScript functions and the WebReg
API Method called RegistrationStatus.
Once the customer has completed the Identity Verification process the GIDX Service will notify the merchant via a client side JavaScript function and server side CallBack service.
For more information on these functions and how to use them please see the GIDX Client Side Library
section within the API Reference Docs.
The response / callback from an Identity Verification attempt will return the results of the verification, location details, watch list information, and scoring based on the
confidence of the identity data & the confidence against fraud on the customer within the ReasonCode value.
If the verification is Not Successful then... +/-
Set customer as Not Verified.
Option: Close customers account and do not allow them to participate. (Not recommended)
Recommended: Go to the Document Library process.
If the verification is Successful then the merchant ... +/-
Assigns the "Verified" status to that customer's internal account.
Reviews the other ReasonCode values to determine if any additional action may need to be taken based on the customers Age, Location, Fraud/Risk, Etc.
Next: Get the complete profile of the customer using the CustomerProfile Method.
For customer accounts with a Successfully Verified profile the merchant can now access additional customer information by calling the
CustomerProfile Method. This method will return all of the primary customer identity
information and can be used to update the customers local account with the merchant or to create additional accounts associated with the merchant outside of the GIDX Platform.
The information returned on the customer from the CustomerProfile method can be used
to generate an account within the TOTE service.
Document Library
Session Type:
Direct Session
API Path:
/api/DocumentLibrary/DocumentRegistration
The merchant presents a page to the customer that allows them to upload an "ID Document", which should be an image of the customer Drivers License, Passport, other official Identification.
This ID Document is send to the GIDX Platform Document Library service using the DocumentRegistration method within the DocumentLibrary service.
Within the GIDX Administrative Dashboard the customers document is reviewed by a certified ID Document manager and the appropriate status is assigned to the customers document and Identity Profile.
The GIDX Platform Notification service generates a JSON formated message, similar to a Callback, that is sent to a pre-defined endpoint associated with the Merchants environment.
This Notification will contain the updated status of the customer and any other information pertinent to the customers profile.
Upon receiving the notification the Merchant should update the local account of the customer based on the ReasonCode value within notification message.
Cashier Service (Payment / Deposit)
Session Type:
Web Session
API Path(s):
/api/WebCashier/CreateSession
/api/WebCashier/WebCashierStatus
Using the Web Session Cashier Service provides you with a hosted managed process for customer deposits, payouts, and payment method management.
This allows a merchant to control the functionality of the cashier and payment functionality through settings on the account rather than needing to write additional
code for multiple use case scenarios.
The CreateSession, located in the WebCashier Service, will return several values that are needed for initiating the Web Session process.
ReasonCodes: System codes containing Customer Identity, Device, and Location information - if available.
SessionURL: An encrypted, one time use, script-tag.
And other values including the sessions expiration time and echoed MerchantSessionID for security purposes.
The merchant decrypts and embeds the SessionURL (one time use script-tag) into the HTML webpage displayed to the customer on their device.
NOTE: This HTML webpage should contain the required metatags and javascript outlined in the example located under the Merchant Preparation section.
Once embeded and viewed by the customer the script-tag will connect to the GIDX Service directly from the customers device; this direct connection will initiate the following process...
The customers device is authenticated using the encrypted token of the script-tag.
The GIDX Service detects and interprets the customers device attributes and analyzes the connection.
Based on these attributes and connection status the appropriate service interface is rendered as Bootstrap Formatted HTML and sent
back to the customers device where it is then rendered into the interface and displayed based on the merchants settings.
The HTML interface, that is rendered and embedded by the script-tag into the merchants page on the customers device, is completely customizable by the merchant using standard
CSS, jQuery/JavaScript, or other client side scripting languages.
Based on the Merchant Cashier Service settings the embedded interface will present the customer the following screens/process.
Select/provide the deposit amount.
Select the payment method type - Credit Card, eCheck/ACH, PayPal, PayNearMe, etc.
Register the Payment Method (if this is the customer first time to make a deposit, or they are making a deposit with a new payment method)
Confirm the deposit amount and click finalize.
If the customer HAS successfully verified their identity already then the transaction is processed and completed.
If the customer HAS NOT successfully verified their identity then this deposit is held in a pending state and the customer is dynamically prompted to verify their identity using the WebReg Customer Verification service.
Once the customer has completed the Cashier Payment process the GIDX Service will notify the merchant via a client side JavaScript function and server side CallBack service.
Note: The embedded WebCashier Service can be controlled and monitored by the merchant in real time using a set of pre-defined JavaScript functions and the WebCashier
API Method called WebCashierStatus.
Important to note...
If the customers identity was not previously set as verified and the customer is required to complete the Identity Verification process within the Web Cashier service then the merchant will receive two (2) Callbacks to their server environment; one for the deposit, and one for the identity verification.
For more information on how to process these Callbacks please see the API Reference Docs.
Updating the customers Account Balance: When the Cashier "deposit" process is completed by the customer then the merchant is notified in several ways:
Client Side...
Non ID Verified Customer: listen for the gidxNextStep JavaScript function to be executed.
ID Verified Customer: listen for the gidxServiceStatus JavaScript function where the "service" equals "cashierComplete-plate".
This means that your customer is now viewing receipt portion after a transaction has been completed.
Server Side...
The merchant will receive a Callback notification...
Upon receiving these notifications the merchant can then call the WebCashierStatus Method and PaymentDetails Methods.
Based on the results returned from the WebCashierStatus
and PaymentDetails methods the merchant will need to update the customers local account balance based on the successfully processed amount of the deposit.
Note: Multiple Cashier "deposit" Callbacks may be sent to the merchants all associated with the same transaction. This would be in the event that the transaction moves from a pending
state to a processed state in the even that the processor does not provide a real-time status notification to the transaction. This happens occasionally with payment services such as
eCheck/ACH, PayPal, PayNearMe, or in the event that the transaction is set to processed AFTER the customer has completed their Identity Verification.
If your Target Environment is browser based Desktop, Tablet, Mobile Phone then all of the instructions needed for integration are already in place within this document. All of the user interface contained in the Web Session service are designed for a responsive environment and will dynamically adjust based on the customer device.
If your Target Environment is a native iOS / Android app then there are a few extra items that need to be reviewed when mapping out your implementation.
iOS / Android GIDX Service Display
Your application will need to generate a screen containing an active WebView.
This WebView will need to point to a page on the merchants server/environment that executes a call to the appropriate GIDX Service
At this point, the process is similar to a standard browser based implementation where the Web Session services will render itself into the embedded HTML page.
If needed, the merchants app can communicate with the executed JavaScript on the HTML page loaded within the WebView using native code. These links below provide some context on how to do this...
Remember, only allow access to the GIDX Platform Web Session services once the customer has authenticated their account.
Get Familiar with the GIDX Platform
If your Target Environment is browser based Desktop, Tablet, Mobile Phone then all of the instructions needed for integration are already in place within this document. All of the user interface contained in the Web Session service are designed for a responsive environment and will dynamically adjust based on the customer device.
ReasonCodes
The following ReasonCodes act as "flags" or a short-hand language so that the merchants environment can quickly and easily understand the GIDX Service results.
The ID-* Reason Codes are applied based during the Identity Match and Verification services as well as during any Session where the identity of the customer is associated with the service. Updates to the customers' identity profile is also indicated within the Reason Codes applied to their account and can provide information based on changes to persons profile.
ID-VERIFIED
Identity service completed and has successfully validated the data provided for this customers identity.
ID-UNKN
Identity Unknown or Unconfirmed.
ID-FAIL
Identity service failed due to incorrect information provided.
ID-INC
Identity service could not complete due to Incomplete Data.
This Reason Code is only applied during the CustomerIdentity Identity Match process as an indicator that there were not enough information provided in the method call to determine a match.
ID-TO
Identity service could not complete due to a Timeout on the session.
ID-EX
Identity service completed and this customer’s data matches an Existing Customers Data.
ID-PASS
Identity service completed and this customer's data was successfully verified.
This Reason Code is only applied during the WebReg Identity Verification process as an indicator that the customers Identity has been found (Matched - they pass). The customer will still need to successfully verify themselves by completing any additional Identity Verification processes such as KBA or ID Document Number confirmation before the ID-VERIFIED Reason Code is applied.
ID-AGE-UNKN
The customer's age was unable to be verified.
ID-UA18
Identity service completed and the customer's indicates that they are under the age of 18.
ID-UA19
Identity service completed and the customers indicates that they are under the age of 19. This is flagged for identities whose device is found to be located within the states of Alabama or Nebraska.
ID-UA21
Identity service completed and the customer's indicates that they are under the age of 21.
ID-WL
Identity service detected a positive hit on the Watch List service.
ID-HR
Identity service determined High Risk associated with this Identity.
ID-HVEL-ACTV
Identity activity from customer is at a high velocity.
ID-ADDR-UPA
Identity does not contain a verified physical address.
ID-BLOCK
Identity set to BLOCK this customer’s profile service access.
The DFP-* Reason Codes are applied during most GIDX Platform Services and provide information based on the device and connection associated with the customers device.
DFP-WL
Device Finger Print service detected a positive hit on the Watch Check service.
DFP-HR
Device Finger Print service determined High Risk.
DFP-VPRP
Device Finger Print service detected VPN, Remote Desktop, Proxy Detected.
DFP-TO
Device Finger Print service could not complete due to a Timeout on the session.
DFP-VPRP-ANON
Device Finger Print detected an anonymous proxy for this connection.
DFP-VPRP-CORP
Device Finger Print detected a Corporate proxy for this connection.
DFP-HR-CONN
Device Finger Print service determined High Risk associated with this Connection.
DFP-HVEL-MIP-WEBREG
Device Finger Print service determined a High Velocity of attempts from Matching IP addresses associated with the Identity Verification Service.
DFP-IPNM
The client IP address detected by the Device Finger Printing service does not match the IP address provided by the merchant in the CreateSession method call.
The LL-* Reason Codes are applied during most GIDX Platform Services and provide information based on the location data associated with the customers device.
LL-GEO-* Location Reason Codes provide the geographic location of the customer are tagged as LL-GEO-* and contain the country code and then the region/state code. Example: LL-GEO-US-TX should be interpreted as the geo-location being located in the United States (US) and in the state of Texas (TX).
LL-BLOCK-* Location Reason Codes are based on customized merchant settings and indicates if the detected location has been selected by the merchant as a geo-location that should be BLOCKED to customer action. Example: LL-BLOCK-US-TX should be interpreted as the geo-location being located in the United States (US) and in the state of Texas (TX) should be blocked.
LL-BLOCK
The location detected has been set to be Blocked by the merchant or operator.
LL-FAIL
Location service failed due to errors in the location data.
LL-HR
Location service determined High Risk associated with this Location.
LL-HR-CO
Location service determined High Risk associated with this Country.
LL-OUT-US
Location service determined connection outside of the United States.
LL-TO
Location service could not complete due to a Timeout on the session.
LL-WL
Location service detected a positive hit on the Watch Check service.
The PAY-* Reason Codes are applied during GIDX Services associated with a Payment and will provide important information regarding the context of the cashier / transaction.
PAY-HV-MA-OMX
High volume of payments with matching amounts sent to multiple merchants.
PAY-HV-CLX-IP
High volume of payments sent to matching merchants from multiple customers / matching IP addresses.
PAY-HV-MA-PRV-A
High volume of payments matching previous amounts (payments, refunds, cancellations, reversals, etc).
PAY-HV-OM1-CL1-MTHDX
High volume of payments sent to one merchant from one customer using multiple payment methods.
PAY-CNCL
Payment is manually canceled by the customer.
PAY-HVEL-CKI
High velocity of payments being attempted by the same Fully KYC (Internally) Customer.
PAY-HVEL-CKE
High velocity of payments being attempted by the same KYC Vouched (Externally) Customer.
PAY-HVEL-OM
High velocity of payouts being attempted by the operator / merchant.
PAY-MANUAL
Payment needs manual approval from merchant.
Testing Tools & Data
Below is a sample of the interface you will receive when utilizing "integration" mode when connecting to a GIDX Platform Web Session service.
In order to leverage the Sandbox Integration Mode environment you will need to prefix your "MerchantSessionID" with the characters "GIDXSB_".
This tool should be used to test the Response and CallBack results based on different pre-defined scenarios.
Items of note...
You will need to adjust the callback URL to match your own server address and directory structure.
The prefix of "MSID_" within the MerchantSessionID field is reserved for internal use only and any MerchantSessionID that is presented in that format will automatically be marked as an internal TEST MODE session. Do not use this pre-fix on your MerchantSessionID’s.
The prefix of "MCID_" within the MerchantCustomerID field is reserved for internal use only and any MerchantCustomerID that is presented in that format will automatically be marked as an internal TEST MODE customer. Do not use this pre-fix on your MerchantCustomerID’s.
Additional testing tools and materials can be accessed below for Customer Identity, Payments, Location, etc.
Sample Payment Credit Cards and other Account information
Merchant Settings
GIDX Platform Services are partially controlled by the associated settings applied to the merchant account. These settings allow the merchant to apply standardization to processes and
methodologies applied to these services by the customer for identity, location, payments, watch list services and much more.
Please review the settings below so that you are familiar with the control you will have over the integrated services.
Customer Identity
SSN Requirement: The requirement for a customer to verify last 4 digits of SSN. (US Customers Only)
If "SSN Required" is ON then your customers will be required to verify the last 4 digits of their Social Security Number as part of the verification process.
KBA Requirement: The requirement for a customer to pass the KBA process during the WebReg Service.
If the KBA Service (Knowledge Based Authentication) is required your customers will be asked to correctly answer a series of questions that represent information within their identity profile that only they should have the answers.
Allowed Identity Verification Attempts: The number of times that a customer may attempt ID verification within a single session.
If a customer is not found based on their initial verification attempt they are allowed to re-try to verify themselves using additional or modified personal information. Example: Update their address, provide their real name instead of a nickname, etc.
Citizenship Location Dependent ID Verification: Requirement for Payment
The countries that require a successfully verified customer registration to process a transaction. Registration will still be attempted for other countries. If setting is empty, all countries
are required. The default countries that require the customer be ID-VERIFIED before a payment will be processed are: CA, GB, US
Payment Management & Cashier Service Settings
Identity Requirement for Payments: If and when should the customer identity verification process take place in regards to a payment.
When a customer initiates the payment service you have the option to require that their identity is successfully VERIFIED before a payment will be processed. If the requirement is set
to active then you can choose for this identity verification process to happen before OR after the first payment is completed. If the requirement is active the payment may be completed
before identity verification but will be placed in a pending state until their identity verification has been successfully complete.
Citizenship Location Dependent ID Verification: Requirement for Payment
The countries that require a successfully verified customer registration to process a transaction. Registration will still be attempted for other countries. If setting is empty, all countries
are required. The default countries that require the customer be ID-VERIFIED before a payment will be processed are: CA, GB, US
Deposit Amount Range & Bonus Management: Manage the default/base amount options available to a customer.
If activated the Dynamic Bonus Management service can manage the amount that is available to your customer during the Cashier Service. The bonus amount is based on calculations that you provide and can be customized according to the amount of the selected deposit.
Deposit & Payout Amount Minimum, Maximum, and Rules: Control the minimum and maximum deposit & payout amounts for a customer.
The Cashier Service will automatically calculate the available deposit amounts to display to a customer based on these settings and the customer's deposit history with your account.
Location Service Settings
Report on all Locations: Log and Report the location on every session.
Activating this session will allow you to get the session location of the customer within the response of the API method call and/or callback. You can manage the locations that are returned within the ReasonCodes by clicking on the "GEO-LOCATION" tab above and turning the switch on or off next the country or US State of your choice.
Report on all Blocked Locations: Set specific Locations to be Blocked / Reported.
Activating this session will allow you to get the session location of the customer when they are within one of the locations that is set to be reporting as "BLOCKED" within the response of the API method call and/or callback. You can manage the locations that are returned within the ReasonCodes by clicking on the "Locations to Block" tab above and turning the switch on or off next the country or US State of your choice.
Testing Scenarios & Data
Customer Identity Verification
The following scenarios will help you test the different results provided when using one of the Customer Identity Verification services. These scenarios cover the most common results returned within the ReasonCode value of the method Response, Callback, and Notification processes.
Service: CustomerIdentity
To achieve a successful Customer Identity Verification follow this process.
Use real information, such as your own personal name, date of birth, email address, home address, etc.
Open: Service Usage
These tables are designed to store the usage logs of GIDX Platform services.
Session
The Session table will store/log each call to a GIDX Platform service and can be used for tracking usage, reviewing possible errors, and as a reference to data sent or received from the GIDX Platform.
Field Name
Data Type
Notes
Standardized Fields
SessionID
uniqueidentifier
Guid()
ServiceType
string
This will be the name of the service that is called.
CustomerID
string
The unique Customer Identifier in the merchants local database.
DeviceLocation
string
Store the IP Address or Device GPS of the customer for this session.
SessionRequestRaw
string
Store the QueryString or JSON of the request that is being made to a GIDX Service.
SessionResponse
The SessionResponse table will store/log each response from the GIDX Platform for a previous service call. Keeping this data in a separate
table from the "Session Request" will allow you to utilize it in other working scenarios other than the standard Request / Response of a Method. All Sessions (Method Request)
will provide a "Response" in some form; and they may also generate one (or multiple) Callbacks from the GIDX Platform that are associated with a specific Session. Another
scenario involves the Notification service which (if active on the Merchant Account) will provide real-time updates to data changes on a specific customer profile. These
notifications can be stored within this table as well.
Field Name
Data Type
Notes
Standardized Fields
SessionID
uniqueidentifier
Guid() stored in the Session table. (Or generated when no previous SessionID is provided ie: Notification)
ServiceType
string
This will be the name of the service associated with the "Response".
CustomerID
string
The unique Customer Identifier in the merchants local database. This field is important when logging any Notifications associated with a customers profile.
ReasonCodes
string
The set of ReasonCodes associated with the Session. ReasonCodes returned in a Session Response should be monitored an trigger events and updates to the Customer Status.
SessionResponseRaw
string
Store the JSON response that is returned by the GIDX Service.
Open: Customer Data
These tables are designed to store customer data provided back from GIDX Services. Some of these tables may not be necessary if the equivalent is already present within
the Merchant System. It is recommended that you evaluate the structure and overall methodology indicated below in this section regarding available customer data,
encryption, and the security of private/sensitive data regarding storage compliance.
Customer
The Customer table will store the data associated with a customers profile. Please note that multiple data sets may be provided for a customer profile with the "Primary" data set marked as such when received from the CustomerProfile service.
Important Design Notations
The table below is design to store only a single set of data for the customer - it is recommended that the "Primary" data from each set is stored under this configuration. Alternatively, you can expand this table into multiple relational tables in order to store all data that is provided for a customer identity profile. IE: A single customer identity profile may contain multiple names, addresses, phone numbers, email addresses, etc.
Field Name
Data Type
Notes
Standardized Fields
CustomerID
string
The unique Customer Identifier in the merchants local database.
FirstName
string
LastName
string
DateOfBirth
Date
Stored in MM/DD/YYYY format
Citizenship
string
Stored as 2 digit ISO Alpha-2 Code
EmailAddress
string
PhoneNumber
string
Recommended to strip any formating of a phone number. IE: convert +1 (982) 555-1212 to 19825551212
Address1
string
Address2
string
AddressCity
string
AddressStateRegion
string
AddressPostalCode
string
AddressCountryCode
string
Stored as 2 digit ISO Alpha-2 Code
IdentityAccuracyScore
double
Score indicating the accuracy level of the identity data. (High number is good, Low number is bad)
FraudScore
double
Score indicating the confidence AGAINST fraud for the customer. (High number means they are trust worthy, Low number means they may have some issues)
CustomerStatus
The CustomerStatus table is recommend as a way to track the progress/changes to a customers Identity Verification.
In most cases a customers Identity Verification status will not changes once they have been marked as "ID-VERIFIED" but there are instances when a customer may have their
verification status updated based on new identity information, changes to compliance laws, etc.
Field Name
Data Type
Notes
Standardized Fields
SessionID
uniqueidentifier
Guid() stored in the Session table. (Or generated when no previous SessionID is provided ie: Notification)
CustomerID
string
The unique Customer Identifier in the merchants local database. This field is important when logging any Notifications associated with a customers profile.
IdentityStauts
bool
True / False
CustomerFlag
The CustomerFlag table is recommend as a way to track any important ReasonCodes or WatchCheck codes returned by a GIDX Service.
These ReasonCodes & WatchCheck codes will most likely be in the SessionResponse table in their raw format but having a table specific to the Codes that you have
determined are most important to a customers account will allow you to generate reports more easily and filter customers based on the assigned Codes.
Field Name
Data Type
Notes
Standardized Fields
Flag
string
ReasonCode provided in a Response.
CustomerID
string
The unique Customer Identifier in the merchants local database.
CustomerMonitor
The CustomerStatus table is recommend as a way to track the progress/changes to a customers Identity Verification.
In most cases a customers Identity Verification status will not changes once they have been marked as "ID-VERIFIED" but there are instances when a customer may have their
verification status updated based on new identity information, changes to compliance laws, etc.
Field Name
Data Type
Notes
Standardized Fields
SessionID
uniqueidentifier
Guid() stored in the Session table. (Or generated when no previous SessionID is provided ie: Notification)
CustomerID
string
The unique Customer Identifier in the merchants local database. This field is important when logging any Notifications associated with a customers profile.
ReasonCodes
string
List of ReasonCodes associated with this Customer and the CustomerMonitorSession
WatchChecks
string
List of WatchChecks associated with this Customer and the CustomerMonitorSession
LocationDetail
string
Details fo the Location
IdentityConfidenceScore
decimal
Score indicating the accuracy level of the identity data. (High number is good, Low number is bad)
FraudConfidenceScore
decimal
Score indicating the confidence AGAINST fraud for the customer. (High number means they are trust worthy, Low number means they may have some issues)
Open: Location Data
These tables are designed to store Location data provided back from GIDX Services. These tables may not be necessary of your implementation of GIDX Location Services will always be associated with an existing customer within your platform.
Location
The Location table is recommend as a way to monitor the location of users and customers of your system. If you are only using Location services
on existing customers and not on "Visitors" you may not need this table in your environment since Location Data associated with a customer would be stored in the CustomerMonitor table.
Field Name
Data Type
Notes
Standardized Fields
SessionID
uniqueidentifier
Guid() stored in the Session table. (Or generated when no previous SessionID is provided ie: Notification)
CustomerID
string
The unique Customer Identifier in the merchants local database. Not required when storing data from "visitors" to your system.
LocationDetail
string
Details fo the Location
Open: Payment Data
These tables are designed to store payment transaction data provided back from GIDX Services. Some of these tables may not be necessary if the equivalent is already present within
the Merchant System. It is recommended that you evaluate the structure and overall methodology indicated below in this section regarding available customer data,
encryption, and the security of private/sensitive data regarding storage compliance.
Transaction
The Session table will store/log each call to a GIDX Platform service and can be used for tracking usage, reviewing possible errors, and as a reference to data sent or received from the GIDX Platform.
Field Name
Data Type
Notes
Standardized Fields
TransactionID
string
The local Transaction ID from the merchants internal system.
ActionType
string
PAY (Deposit by a customer into the merchants system) or PAYOUT (payment out to a customer from the merchants system)
SessionID
uniqueidentifier
Guid() stored in the Session table. (Or generated when no previous SessionID is provided ie: Notification)
CustomerID
string
The unique Customer Identifier in the merchants local database.
AmountProcess
decimal
The amount of the transaction that is processed by the bank/processing service.
AmountBonus
decimal
The amount of the transaction that is applied as a bonus / non-processed amount.
TransactionCurrency
string
USD or other ISO 4217 Currency Codes
TransactionStatus
The TransactionStatus table is recommend as a way to track the progress/changes of transactions during the Cashier, Deposit, Payout, and Processing process.
A transaction may go through multiple stages during the deposit/payout process - storing each step in that process is helpful and can provide valuable information when tracking customer activity,
bank settlements, and other non-realtime events in the payment process.
Note: The Transaction Status is a many to one relationship with the Transaction table.
A transaction may have its status updated over time based on the nature of the process and payment method.
Example: An ACH or PayPal transaction may first return a "Pending" status while the bank/service confirms that the funds are available and then later the status will be
updated to "Complete".
Field Name
Data Type
Notes
Standardized Fields
TransactionID
string
From the original transaction table and corresponding merchant local system table.
StatusType
string
Pending, Complete, Failed, Processing, etc. (See API Response Codes)
TransactionScore
decimal
Score indicating the financial security level of the transaction. (High number is good, Low number is bad)
TransactionType
string
Credit / Debit - this should correspond with the original Action of the transaction.
TransactionMethod
string
Text description of the payment method used by the customer.
TransactionMethodType
string
Type of payment method used: CC, ACH, EWALLET, etc.
TransactionMethodAccount
string
Account of the payment method used: VISA, MC, AMEX, PAYPAL, etc.
ApprovalDateTime
DateTime2(7)
DateTime that the transaction was approved UTC Date Time
StatusDateTime
DateTime2(7)
DateTime that the status was applied UTC Date Time
StatusDateTime
DateTime2(7)
DateTime that the bank/service provided the processing UTC Date Time
AmountProcess
decimal
The amount of the transaction that is processed by the bank/processing service.
AmountBonus
decimal
The amount of the transaction that is applied as a bonus / non-processed amount.