Terms and Conditions
Introduction
RDA offers a terms and conditions feature built into the product. This feature is controlled by the FI in the SmartPay Manager portal where they will set and publish the verbiage that customers need to accept. This feature is optional to the FI, but if they have chosen to publish terms and conditions verbiage for RDA then it will need to be handled in the integration or customers will not be able to authenticate.
Getting Started
Here's what you’ll do in this guide
- Retrieve and process terms and conditions for authenticated customers.
Prerequisites needed before continuing
- You will need to obtain your test credentials to try any of the examples in this guide. You should have received these from your Implementation Coordinator or Technical Integrations.
- Review the RDA Authentication Guide for an understanding on how to authenticate customers.
- Download the RDA Web Service WSDL file from the Downloads menu.
Terms and Conditions Workflow
This workflow will apply for FIs that have published terms and conditions verbiage for RDA.
- Step 1 Authenticate the user based on the RDA Authentication Guide. The response to a successful authentication will contain the field “PromptTermsAndConditions”. When the value is “true” the user will need to be presented with the T&C verbiage.
Authenticate SSO JSON Response Example:
{
"RequestId": "123456789",
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"SecurityToken": "365926065:175645:3631503214:175645:637668020662806815:tlDQomEazT4w+uJbuLIX7YEsQc3WsRUg125DjLGNGSGEn1zsgjDqDQ:6:0:4096:ed146458ac6543708f139641d6c59cdd:None"
},
"PromptTermsAndConditions": true
}
- Step 2 Send a GetTermsAndConditions request. This will allow you to retrieve the verbiage that the FI has published to present to the customer. In this example we have also set “HTMLEncoded” to “true” to allow us to get a format more suitable for HTML display.
GetTermsAndConditions JSON Request Example:
{
"__type": "GetTermsAndConditionsRequest:#JackHenry.Eps.Mobile.RDA",
"HTMLEncoded": true,
"Credentials": {
"SecurityToken": "365926065:175645:3631503214:175645:637704302739791314:e/GY+/Ng9Pg+Od/UKkpM+wtEX5Nu/hNDFCJybl8ZGSDD4AgKKnrJVg:6:0:4096:6b2f2d2ed870432ebc94ff3c81224672:None"
},
"RequestDate": "/Date(1631223180000-500)/",
"RequestId": "5d6bccc4-6926-4210-b705-085012808d80"
}
GetTermsAndConditions JSON Response Example:
{
"RequestId": "5d6bccc4-6926-4210-b705-085012808d80",
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"SecurityToken": "365926065:175645:3631503214:175645:637704303017440220:fRmdK2tdwKq1O+Kandbbb/I4EIgT9Fek8kBvsjw+yezMQGbFCqS/lQ:6:0:4096:6b2f2d2ed870432ebc94ff3c81224672:None"
},
"TermsAndConditions": {
"LastUpdated": "/Date(1546286620447-0600)/",
"Text": "Terms and Conditions Version 8<br/>test<br/>"
}
}
- Step 3 The verbiage contained in the “TermsAndConditions” property should be displayed to the customer and given the option to accept or decline the terms. It is required that the customer accept the terms to move forward and access mobile deposit for RDA. To accept the terms, send a ProcessTermsAndConditions request with the “Accepted” property set to “true”. A successful result will provide a new security token that can be used in subsequent RDA calls for the customer.
ProcessTermsAndConditions Request Example:
{
"__type": "ProcessTermsAndConditionsRequest:#JackHenry.Eps.Mobile.RDA",
"Accepted": true,
"Credentials": {
"SecurityToken": "365926065:175645:3631503214:175645:637704302739791314:e/GY+/Ng9Pg+Od/UKkpM+wtEX5Nu/hNDFCJybl8ZGSDD4AgKKnrJVg:6:0:4096:6b2f2d2ed870432ebc94ff3c81224672:None"
},
"RequestDate": "/Date(1631223180000)/",
"RequestId": "e87fdfa5-e109-4c02-83fd-9ce0d15619e1"
}
ProcessTermsAndConditions Response Example:
{
"RequestId": "e87fdfa5-e109-4c02-83fd-9ce0d15619e1",
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"SecurityToken": "365926065:175645:3631503214:175645:637704304342397288:Ehww1f6dpqGoEfzdX2z3KKxEY8LNrIT79K7HIyRydYxAupS8gJEyEA:6:0:4096:6b2f2d2ed870432ebc94ff3c81224672:None"
}
}
Here is how the terms and conditions process looks as a workflow diagram. Click on the method boxes to be taken to the specific API reference.
Integrator Mobile Deposit Flow | EPS RDA Mobile Deposit Flow | ||||
EPS Web Service | |||||
| 1. | |||||
| 2. | |||||
Display the terms and conditions verbiage to the user with an option to either accept or decline. | |||||
| 3. | |||||
| |||||
Handling Errors and Failed Requests
Not all requests will be successful, so we will need to run through a few common errors you should be ready to handle.
- RDA AuthenticateSSO Failure - This can happen for multiple reasons and the most common are a mismatched hash in the request, a timestamp that is out of sync, or the user is not enrolled. For any scenario other than not enrolled, please reach out through your normal support channels for assistance and refer to Authentication in the RDA web service.
"Code" : "Auth-1001",
"Message" : "Authentication failed"
- Timeout waiting for response - Systems should be designed to wait 5 seconds to receive a response before timing out. If a timeout occurs, you can attempt to retry the request or reach out through your normal support channels for assistance.
Next Steps
- Review the API Reference - This guide is just a starting point to show how to process terms and conditions. Please review the API Reference to see all methods and their technical specifications.
- Explore other guides - We have other guides to show how to leverage our APIs in other common use cases so if this one doesn’t cover what you are looking for, give another guide a try.
- Get certified and move into production - Ready to put your new code into production use? Refer to this process guide that explains our certification steps and how to contact us to get started.