Fintech jXchange REST Requirements and Readiness
Fintech Requirements Overview
The creation of this document was born out of the need to create a standard that all consumers should abide by. Its purpose is to prepare Fintechs to function within the boundaries of the Jack Henry (JH) integration environment. The requirements are simple but are designed to set certain technical expectations, enhance ease of support from all parties and allow consumers to be prepared/flexible for changes that are not considered breaking changes. Each requirement was added to address a shortcoming or issue previous consumers dealt with that created a roadblock either during development or production implementation.
Expectations
Fintechs are expected to plan for the tested topics section when developing applications that will use JH environments. At the end of a Fintech’s development life cycle and before deployment of the consuming product, an Integration Readiness Check (IRC) will be administered by Developer Relations personnel to gauge the product readiness and ensure proper steps and development practices have been followed. The product presented during the check should be in a completed stage and ready for implementation in a bank’s environment.
Failure to meet these requirements can result in a delay of access to a bank’s environments until these requirements have been met. This check is self service with evidence returned to JH.
Results
- Pass
- Allows the product to be implemented and supported for bank environments.
- Fail
- Prevents the implementation within bank environments. Retests may be performed at any time by following the IRC scripts and resubmitting the evidence packet.
Fintech Requirement Details: REST
Requirements
The following Items are required for successful passing of the IRC when developing using JH REST Endpoints.
Soft Code Values
| Item | Example |
|---|---|
| Uniform Resource Locators (URL’s) Fully Quallifed Domain Name (FQDN) | JH REST Endpoint |
| Credentials | ClientId and Client Secret |
| Endpoint Variables* | InstitutionId, EnvironmentId, InstitutionUniversalId, ProductId, etc. |
To ensure flexibility across different banking environments, Fintechs will be assigned a fully qualified domain name and variables based on specific endpoint requirements for a bank environment. Endpoint variables—identified by curly brackets in the provider’s API Reference documentation—must be configurable and not hard-coded.
This approach allows for seamless updates to variable values without requiring changes to the underlying code, making integrations more adaptable and easier to maintain.
Error Handling: Provider, Credentials, and Communications
Demonstrate the ability to identify errors, manage each type and interpret their meaning. Fintech developers and support staff should have basic familiarity with errors presented by JH providers that their integration utilizes. Some types of errors to consider:
- Invalid credentials
- Invalid Client ID or Client Secret
- Expired token
- Endpoint timeouts
- Provider errors
Produce application Request/Response JSON log
Ability to provide the unredacted, raw request and response JSON is required. A key component for troubleshooting is the ability of the consumer to produce a properly formatted JSON log for any individual operation request/response pair upon request by an institution or JH Support teams.
Other Considerations
The following Items are not part of the IRC, though they still need to be considered while developing within the JH environment.
Proper Parsing
Treat the JSON as JSON and interpret it with an appropriate parser instead of treating it as text or searching for strings.
Example IRC Scripts
Example IRC Script for SOAP
Below is a sample IRC that might be administered for a Fintech’s product. Checks are tailored specifically to the Fintech’s relationship and as such JH might not check all items listed below during every IRC, but all items should be taken into consideration as there will be no communication prior to the check as to what items will be involved.
| Test | Category |
|---|---|
| Fintech will be asked to change client Id to demonstrate that the value is not hard coded. | Soft Code Client ID/Error Handling |
| Fintech will be asked to change one or more endpoint variables | Soft Code Endpoint Variables/Error Handling |
| Fintechs will be asked to change the Fully Qualified Domain Name (FQDN) | Error Handling |
| JH will ask Fintech to demonstrate each JH REST Endpoint that a product will be utilizing to ensure proper functionality. | General Review |
| At any point during the check, a request will be made of the Fintech to provide an JSON log for the most recent request/response operation. This may be requested more than once. | Logging |
Request An IRC
If you have reviewed the information above and have completed your development, your may request an IRC for your solution by submitting an Integration Readiness Check Request Form.
- Have a how-to question? Seeing a weird error? Get help on StackOverflow.
- Register for the Developer Office Hours where we answer technical Q&A from the audience.