Deposit History With Images
In this workflow guide, we will walk through how to display Deposit History with Images within the JHA SmartPay Remote Deposit Anywhere™ (referred to as Consumer Mobile or RDA) web service.
Getting Started
Each step in the workflow diagram is a hyperlink that will take you to the API reference information for the method being used.
Tasks covered in this guide
- Step 1: Send Authenticate Request
- Step 2: Send Get Batches Request
- Step 3: Send Get Items Request
- Step 4: Send Get Item Images Request
Required prerequisites before you continue
- You are required to obtain Demo Non-Processing credentials in order to perform testing within this workflow. If you do not have Demo credentials, please email your EPS Tech Integrations contact and request this information.
- Review the
RDA Authentication Guideto understand how to authenticate to the JHA SmartPay Remote Deposit Anywhere™ (referred to as Consumer Mobile or RDA) API. - Download the RDAWebServices WSDL file under the Downloads page.
JHA SmartPay Remote Deposit Anywhere™ (referred to as Consumer Mobile or RDA) Deposit History with Images Workflow
Deposit History with Images Workflow Diagram
Integrator Mobile Deposit Flow | EPS RDA Mobile Deposit Flow | ||||
EPS Web Service | |||||
| 1. | |||||
Display list of historical batches with status details | |||||
| 2. | |||||
Display list of items in the selected batch with item status details. Also display batch level events | |||||
| 3. | |||||
Display the item images to the user. Also display the item level events | |||||
| |||||
Send Authenticate Request
Step 1: Send Authenticate Request
Send an Authenticate Request with the necessary information.
- Request ID
- Request Date
- Credentials
- Device Tracking
- PhoneKey
For more details on the required information above, see the Authenticate Request API reference page.
Also refer to the RDA Authentication Guide for a full explanation of the authentication components and parameters.
The newest security token is required to complete each subsequent request. You can get the newest security token from each web service response. If more than 15 minutes have passed between successful requests, a new authenticate request will need to be sent.
Authenticate Request Example
{
"Credentials":{
"__type":"SSOCredentialsSHA256:#JackHenry.Eps.Mobile.RDA",
"FIIdentifier":"456789",
"Hash":"String Content",
"HomeBankingId":"1234",
"SaltValue":"xyz",
"Timestamp":"/Date(1560817240000-500)/",
"PhoneKey":"1"
},
"DeviceTracking":{
"AppBundleId":"testbundleid",
"AppVersion":"1.0",
"DeviceModel":"android",
"DeviceSystemName":"testuserandroid",
"DeviceSystemVersion":"1.0",
"Vendor":"Your Company Name Here"
},
"RequestDate":"/Date(1560817240000-500)/",
"RequestId":"123456789"
}
Authenticate Response Example
Log the following information from the AuthenticateResponse for use in subsequent requests:
- SecurityToken
{
"RequestId": "123456789",
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"SecurityToken": "String Content"
},
"PromptTermsAndConditions": false
}
Get Batches, Get Items, and Get Item Images Requests
Step 2: Send a GetBatches Request
This pulls any open batches tied to the authenticated customer, with the batch status details.
If customers have open batches, it would be optimal for them to close or delete those old batches if they are not going to continue adding items to those batches at this point. This step avoids more batches being left open and unprocessed in the system.
GetBatches Request Example
{
"__type":"GetBatchesRequest:#JackHenry.Eps.Mobile.RDA",
"Credentials":{
"SecurityToken":"String Content",
"PhoneKey":"1"
},
"RequestDate":"/Date(1685977560000-500)/",
"RequestId":"123456789"
}
GetBatches Response Example
Log the following information from the GetBatchesResponse for use in subsequent requests:
- SecurityToken
- Batch Number
- Batch Reference
- Events
- Status
- StatusDescription
- TotalAmount
- TotalCount
{
"RequestId": "123456789",
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"SecurityToken": "String Content"
},
"Batches": [{
"__type":"Batch:#JackHenry.Eps.Mobile.RDA",
"LocationName":"String Content",
"BatchReference":"String Content",
"BatchNumber":"String Content",
"Status":"String Content",
"StatusDescription":"String Content",
"TotalAmount":12678967.54,
"TotalCount":12678967.54,
"Events":
}],
[{
"__type":"Batch:#JackHenry.Eps.Mobile.RDA",
"LocationName":"String Content",
"BatchReference":"String Content",
"BatchNumber":"String Content",
"Status":"String Content",
"StatusDescription":"String Content",
"TotalAmount":12678967.54,
"TotalCount":12678967.54,
"Events":
}]
}
Step 3: Send a GetItems Request
This request displays a list of items in the selected batch with item status details and batch-level events.
GetItems Request Example**
{
"__type": "GetItemsRequest:#JackHenry.Eps.Mobile.RDA",
"BatchReference": "String Content",
"Credentials": {
"SecurityToken":"String Content",
"PhoneKey":"1"
},
"RequestDate": "/Date(1685977560000-500)/",
"RequestId": "123456789"
}
GetItems Response Example
Log the following information from the Get Items Response for use in subsequent requests:
For more information on Item Status Descriptions, see the Items link on the Get Items Response page above.
- SecurityToken
- Batch Number
- Batch Reference
- ItemReference
- Events
- Status
- StatusDescription
- Amount
- ItemReference
- TransactionReferenceNumber
{
"RequestId": null,
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"SecurityToken": "String Content"
},
"Items": [
{
"AccountName": "Checking (XXXX)",
"AccountReferenceID": "String Content",
"Amount": 2.0000,
"BatchReference": "B:XXXXXXXX",
"Events": [
{
"Date": "/Date(1706718834237-0500)/",
"Description": "Check Decision Performed"
},
{
"Date": "/Date(1706718834080-0500)/",
"Description": "Created"
}
],
"IQAStatus": "Nothing",
"ItemReference": "I:XXXXXXXX",
"Memo": null,
"ProcessingStatus": null,
"ProcessingStatusDescription": null,
"Status": "ItemStatus04",
"StatusDescription": "Created",
"TransactionReferenceNumber": null
},
{
"AccountName": "Checking (XXXX)",
"Amount": 5.0000,
"BatchReference": "B:XXXXXXXX",
"Events": [
{
"Date": "/Date(1706718858853-0500)/",
"Description": "Check Decision Performed"
},
{
"Date": "/Date(1706718858853-0500)/",
"Description": "Created"
}
],
"IQAStatus": "Nothing",
"ItemReference": "I:XXXXXXXX",
"Memo": null,
"ProcessingStatus": null,
"ProcessingStatusDescription": null,
"Status": "ItemStatus04",
"StatusDescription": "Created",
"TransactionReferenceNumber": null
}
]
}
Step 4: Send a GetItemImages Request
This displays the item images to the user and displays the item-level events.
GetItemImages Request Example
{
"__type": "GetItemImagesRequest:#JackHenry.Eps.Mobile.RDA",
"RequestId": "123456789",
"RequestDate": "/Date(1629199027219-500)/",
"Credentials": {
"__type": "TokenCredentials:#JackHenry.Eps.Mobile.RDA",
"SecurityToken": "String Content"
},
"ItemReference": "I:XXXXXXXX"
}
GetItemImages Response Example
{
"RequestId": "123456789",
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"SecurityToken": "String Content"
},
"Images": {
"BackImage": "String Content",
"FrontImage": "String Content",
"ItemReference": "I:XXXXXXXX"
}
}
Handling Errors and Failed Requests
Not all requests will be successful, so we will cover a couple of common error messages you should be ready to handle.
- RDA AuthenticateSSO Failure - This can happen for multiple reasons, the most common being a mismatched hash in the request, a timestamp that is out of sync, or the user is not enrolled. For any scenario other than a user who is not enrolled, please reach out through your normal support channels for assistance and refer to the RDA Authenticate Guide in the RDA web service API Guides.
"Code" : "Auth-1001",
"Message" : "Authentication failed"
- RDA AuthenticateSSO Invalid Hash Length Failure – This error response is returned if the hash being sent in the request is an invalid length. Check to make sure you are using the proper hashing algorithm that is compatible for the request type, either SHA 256 or SHA 512.
"Code" : "Cred 1232",
"Message" : "Hash Length is Invalid"
Next steps
- Expore other Developer Guides - We have other guides to show how to leverage our APIs in other common use cases. If your situation or question is not covered in the current guide, consult another resource.
- Review the API Reference section - This guide is a starting point to show common use case scenarios for making successful deposits. Please review the
API Referencesection to see all API methods and their technical specifications. - Review -
FAQandBest Practicesdocuments for general information for preparation.