Skip to main content

AddItem Error for Multi-Item

Introduction

In this workflow guide, we will walk through how to correct items with errors within the JHA SmartPay Remote Deposit Anywhere™ (referred to as Consumer Mobile or RDA) API. We will pickup this workflow as if the user has already opened a batch and submitted an item.
Please see the Deposit Checks Guide for a full explanation of the necessary steps to complete a deposit.

Getting Started

Each step in the workflow diagram is a hyperlink which 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 Items Request
  • Step 3: Send Update Item Request, using Delete Criteria
  • Step 4: Send Get Items Request
  • Step 5: Send Update Batch Request, using Close Criteria

Required prerequisites before you continue

  • You are required to obtain Demo Non-Processing credentials in order to perform testing within this workflow. You should receive these from the Integrations team near the start of your project.
  • Review the RDA Authentication Guide to understand how to authenticate to the JHA SmartPay Remote Deposit Anywhere™ (referred to as Consumer Mobile or RDA).
  • Download the RDAWebServices WSDL file under the Downloads page.
JHA SmartPay Remote Deposit Anywhere™ (referred to as Consumer Mobile or RDA) Add Item Error Workflow
AddItem Error for Multi-Item Diagram
Send Authenticate Request

Step 1: Send an Authenticate Request with the necessary information

  • Request ID
  • Request Date
  • Credentials
  • Device Tracking
  • PhoneKey
note

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
}
Pull item status, edit item in batch, verify item status after updating

Step 2: Send a GetItems Request

note

This will pull items that have been added into a batch using the "Batch Reference".

Display the error message to the user that explains the reason for the rejection of the item.

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 GetItemsResponse for use in subsequent requests:

note

For more information on Item Status Descriptions see Items.

  • 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 (0099)",
"AccountReferenceID": "String Content",
"Amount": 0.0000,
"BatchReference": "B:P7XJ1V1",
"Events": [
{
"Date": "/Date(1706718834237-0600)/",
"Description": "Rejected"
},
{
"Date": "/Date(1706718834080-0600)/",
"Description": "Created"
}
],
"IQAStatus": "Nothing",
"ItemReference": "I:T0YW0G5",
"Memo": null,
"ProcessingStatus": null,
"ProcessingStatusDescription": null,
"Status": "ItemStatus09",
"StatusDescription": "Rejected",
"TransactionReferenceNumber": null
},
{
"AccountName": "Trex Checking (0099)",
"Amount": 5.0000,
"BatchReference": "B:P7XJ1V1",
"Events": [
{
"Date": "/Date(1706718858853-0600)/",
"Description": "Check Decision Performed"
},
{
"Date": "/Date(1706718858853-0600)/",
"Description": "Created"
}
],
"IQAStatus": "Nothing",
"ItemReference": "I:7VYW0G5",
"Memo": null,
"ProcessingStatus": null,
"ProcessingStatusDescription": null,
"Status": "ItemStatus04",
"StatusDescription": "Created",
"TransactionReferenceNumber": null
}
]
}

Step 3: Send an UpdateItem Request with the UpdateItemCriteriaDeleteItem parameter

note

This request will delete the item out of the open batch so it can be rescanned or processed in another way.

Only items in an open batch can be edited. Once a batch is closed the items and/or the batch cannot be updated.

UpdateItem Request with delete criteria Example

{
"__type": "UpdateItemRequest:#JackHenry.Eps.Mobile.RDA",
"RequestDate": "/Date(1685977560000-500)/",
"RequestId": "123456789",
"Credentials": {
"__type": "TokenCredentials:#JackHenry.Eps.Mobile.RDA",
"SecurityToken": "String Content"
},
"Criteria": {
"__type": "UpdateItemCriteriaDeleteItem:#JackHenry.Eps.Mobile.RDA",
"ItemReference": "String Content"
}
}

UpdateItem Response Example

{
"RequestId": "123456789",
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"SecurityToken": "String Content"
},
"Item": {
"AccountName": " CHECKING (XXXX)",
"AccountReferenceID": "String Content",
"Amount": 1.2300,
"BatchReference": "B:XXXXXXXX",
"Events": [
{
"Date": "/Date(1707239647140-0500)/",
"Description": "Deleted"
},
{
"Date": "/Date(1707239156280-0500)/",
"Description": "IQUA"
},
{
"Date": "/Date(1707239156267-0500)/",
"Description": "CAR Reco"
},
{
"Date": "/Date(1707239112953-0500)/",
"Description": "Check Decision Performed"
},
{
"Date": "/Date(1707239112937-0500)/",
"Description": "Created"
}
],
"IQAStatus": "Done",
"ItemReference": "I:XXXXXXXX",
"Memo": "Test Deposit",
"ProcessingStatus": null,
"ProcessingStatusDescription": null,
"Status": "ItemStatus05",
"StatusDescription": "Deleted",
"TransactionReferenceNumber": null
}
}

Step 4: Send a GetItems Request

note

To verify the item has been deleted from the batch, re-run the "Get Items Request".

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

note

The rejected items should no longer display in the list of items for this batch. The user may now choose to rescan the item, continue adding other items into the batch, or close the batch for processing.

{
"RequestId": null,
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"SecurityToken": "String Content"
},
"Items": [ ]
}
Send Update Batch Request using Close Criteria

Step 5: Send an UpdateBatch Request with UpdateBatchCriteriaCloseBatch parameter

note

This step will close the open batch for processing, once completed the ability to add or remove an item will be closed.

UpdateBatch Request with close criteria Example

    {
"__type": "UpdateBatchRequest:#JackHenry.Eps.Mobile.RDA",
"Credentials": {
"SecurityToken":"String Content",
"PhoneKey":"1"
},
"Criteria": {
"__type": "UpdateBatchCriteriaCloseBatch:#JackHenry.Eps.Mobile.RDA",
"BatchReference": "String Content"
},
"RequestDate": "/Date(1685977560000-500)/",
"RequestId": "123456789"
}

UpdateBatch Response Example

Log the following information from the UpdateBatchResponse for use in subsequent requests:

  • SecurityToken
  • Batch Number
  • Batch Reference
  • ItemReference
  • Events
  • Status
  • StatusDescription
  • Amount
  • ItemReference
  • TransactionReferenceNumber
{
"RequestId": "123456789",
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"SecurityToken": "String Content"
},
"Batch": {
"BatchNumber": "3d070b56-c241-432f-8656-189ecfe57aef",
"BatchReference": "B:P7XJ1V1",
"Events": [
{
"Date": "/Date(1706731703510-0600)/",
"Description": "Closed"
},
{
"Date": "/Date(1706718859027-0600)/",
"Description": "Updated"
},
{
"Date": "/Date(1706718834237-0600)/",
"Description": "Approved"
},
{
"Date": "/Date(1706718440840-0600)/",
"Description": "Opened"
}
],
"LocationName": "Mobile Consumer Capture",
"Status": "BatchStatus08",
"StatusDescription": "Submitted",
"TotalAmount": 5.0000,
"TotalCount": 1
}
}
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 Reference section to see all API methods and their technical specifications.
  • Review FAQ and Best Practices documents for general information for preperation.