Skip to main content

Check Deposit Guide


Introduction

In this guide, we'll walk you through how to create and submit a successful deposit batch with a single check item within the Mobile API Partner Deposit web service from EPS Ensenta. If you'd like to create deposit batches with multiple items, please see the Multi-Check Deposit guide.

Getting Started

Tasks covered in this guide

  • Creating a check deposit batch
  • Adding a single item to your open batch
  • Retrieving batch and item information
  • Retrieving check item images (optional)
  • Posting your single-check batch
  • Using the GetSessionInfo request to retrieve session info like accounts, limits, etc. (optional)
  • Ending the session

Required prerequisites before you continue

  • You are required to obtain your UAT PartnerId in order to work with any of the examples in this guide. If you don't already have a UAT PartnerId, then you can send an email to EPS.TechIntegrations@jackhenry.com to request one.
  • Review the authentication guide to understand how to authenticate to the EPS Ensenta Mobile API Partner Deposit web service using the EPS Ensenta Mobile API Partner SSO web service. This guide walks you through getting your UAT PartnerID, setting up your mobile API certificate, and how to use those to send your first StartSession request.
  • Download the EPS Ensenta Mobile API WSDL file from the Downloads page.
Ensenta Mobile API Single Check Deposit Workflow

Single Check Deposit Diagram

Integrator Mobile Deposit Flow
Ensenta API3 Mobile Deposit Flow

EPS Web Service

1.


2.


3.


4.


5.


6.


7.


8.


9.


 

 

Creating a Check Deposit Batch

Step 1 Using the EPS Ensenta Mobile API SSO web service, send a StartSession request with the following information:

  • AccountHolderNumber
  • AccountHolderName
  • Username
  • Email
  • List of accounts with the following information: AccountNumber, Description, AccountTypeCode, JointAccountHolderNames(optional)
  • AccountHolderAttributes
note
  • If no AccountHolderAttributes are being used, you will send a single attribute with a blank Name/Value pair
  • For more details on the required information above, see the StartSession API reference page.
  • Steps 1-2 can be skipped if this workflow is being called in the middle of an already active session where StartSession request has already been called.

StartSession request example

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://ensenta.com/ECPartnerDepositRequest/SingleSignon/PartnerSSORequest">
<soapenv:Header/>
<soapenv:Body>
<par:StartSession>
<par:request>
<par:PartnerId>(your PartnerId here)</par:PartnerId>
<par:LanguageId>9</par:LanguageId>
<par:DepositorIpAddress>127.0.0.1</par:DepositorIpAddress>
<par:DeviceIdentifier>B23CED0E</par:DeviceIdentifier>
<par:LocalDateTime>2023-10-06T11:21:56.603Z</par:LocalDateTime>
<par:TimeZone>PST -08:00</par:TimeZone>
<par:Attributes>
<par:Attribute>
</par:Attribute>
</par:Attributes>
<par:AccountHolderNumber>12345</par:AccountHolderNumber>
<par:AccountHolderName>John Doe</par:AccountHolderName>
<par:Username>Jdoe</par:Username>
<par:Email>test@jackhenry.com</par:Email>
<par:Accounts>
<par:Account>
<par:AccountNumber>55555</par:AccountNumber>
<par:Description>Checking</par:Description>
<par:AccountTypeCode>1</par:AccountTypeCode>
<par:JointAccountHolderNames>
<par:string>Jane Doe</par:string></par:JointAccountHolderNames>
<par:Tag>0</par:Tag>
</par:Account>
<par:Account>
<par:AccountNumber>4444444</par:AccountNumber>
<par:Description>Savings</par:Description>
<par:AccountTypeCode>0</par:AccountTypeCode>
<par:JointAccountHolderNames>
<par:string>Jane Doe</par:string></par:JointAccountHolderNames>
<par:Tag>0</par:Tag>
</par:Account>
</par:Accounts>
<par:AccountHolderAttributes>
<par:Attribute>
<par:Name>Tier</par:Name>
<par:Value>Gold</par:Value>
</par:Attribute>
</par:AccountHolderAttributes>
</par:request>
</par:StartSession>
</soapenv:Body>
</soapenv:Envelope>

Step 2 Log the following information from the StartSession response for use in subsequent requests:

  • SessionToken
  • SessionStateId
  • Available accounts and their AccountNumberIndex
  • Deposit Limit Information (Optional)

StartSession response example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<StartSessionResponse xmlns="http://ensenta.com/ECPartnerDepositRequest/SingleSignon/PartnerSSORequest">
<StartSessionResult>
<ResponseCode>00</ResponseCode>
<ErrorResponseText/>
<LocalizedMessageText/>
<SessionToken>(your SessionToken here)</SessionToken>
<SessionStateId>(your SessionStateId here)</SessionStateId>
<SessionInfo>
<AccountKeys>
<AccountKey>
<AccountNumberIndex>0</AccountNumberIndex>
<Description>Checking</Description>
<Tag>1</Tag>
</AccountKey>
<AccountKey>
<AccountNumberIndex>1</AccountNumberIndex>
<Description>Savings</Description>
<Tag>2</Tag>
</AccountKey>
</AccountKeys>
<IsTermsAcceptanceRequired>true</IsTermsAcceptanceRequired>
<IsIntroPageEnabled>false</IsIntroPageEnabled>
<IsHelpEnabled>false</IsHelpEnabled>
<SkinCode>4</SkinCode>
<StartPage>3</StartPage>
<ReceiptEmail/>
<CustomizableMessages>
<CustomizableMessage>
<MessageTextCd>ECP281</MessageTextCd>
<LocalizedText>You have 25 deposits left of your 25 daily transaction limit.</LocalizedText>
</CustomizableMessage>
<CustomizableMessage>
<MessageTextCd>ECP282</MessageTextCd>
<LocalizedText>You have $10000.00 left of your $10000.00 business day deposit limit.</LocalizedText>
</CustomizableMessage>
<CustomizableMessage>
<MessageTextCd>ECP288</MessageTextCd>
<LocalizedText>You have $10000.00 left of your $10000.00 deposit limit.</LocalizedText>
</CustomizableMessage>
</CustomizableMessages>
<AreAcctPermissionsEnabled>false</AreAcctPermissionsEnabled>
<IssuerPolicy>
<IsPlainScannerAllowed>N</IsPlainScannerAllowed>
<IsCheckScannerAllowed>N</IsCheckScannerAllowed>
<IsDepositDescrDisplayed>N</IsDepositDescrDisplayed>
<IsMultChecksPerTxn>Y</IsMultChecksPerTxn>
<IsHistoryAllowed>Y</IsHistoryAllowed>
<IsIntroEnabled>N</IsIntroEnabled>
<IsHelpEnabled>N</IsHelpEnabled>
<ImageCaptureMethod>-1</ImageCaptureMethod>
<IsBatchTotalAllowed>N</IsBatchTotalAllowed>
<IsDepositConfirmEnabled>N</IsDepositConfirmEnabled>
<IsMicrDisplayEnabled>N</IsMicrDisplayEnabled>
<IsPlainScannerOptional>N</IsPlainScannerOptional>
<IsCheckScannerOptional>N</IsCheckScannerOptional>
<IsDepositDescrOptional>N</IsDepositDescrOptional>
<IsMultChecksPerTxnOptional>N</IsMultChecksPerTxnOptional>
<IsIntroOptional>N</IsIntroOptional>
<IsHelpOptional>N</IsHelpOptional>
<IsImageCaptureMethodOptional>N</IsImageCaptureMethodOptional>
<IsBatchTotalOptional>N</IsBatchTotalOptional>
<IsDepositConfirmOptional>N</IsDepositConfirmOptional>
<IsMicrDisplayOptional>N</IsMicrDisplayOptional>
<MaxCheckPerTxn>1</MaxCheckPerTxn>
<IsSettingsEnabled>N</IsSettingsEnabled>
<CheckGuaranteeMethod>1</CheckGuaranteeMethod>
<ImageCaptureTimeoutSeconds>30</ImageCaptureTimeoutSeconds>
<ScanMethods/>
<AlertMethods/>
<TerminalFirmwareMinVersion/>
<TerminalFirmwareMaxVersion/>
<TerminalConfigMinVersion/>
<TerminalConfigMaxVersion/>
</IssuerPolicy>
</SessionInfo>
</StartSessionResult>
</StartSessionResponse>
</s:Body>
</s:Envelope>

Step 3 Display the list of accounts from the StartSession response and have the user select an account to deposit to. Once the user has selected an account, send a CreateDepositBatch request with the appropriate AccountNumberIndex from the selected account. This opens a new deposit batch that you will use in subsequent requests to contain your check deposit item.

CreateDepositBatch request example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://ensenta.com/ECPartnerDepositRequest">
<soapenv:Header/>
<soapenv:Body>
<CreateDepositBatch>
<request>
<PartnerId>(your PartnerId here)</PartnerId>
<LanguageId>9</LanguageId>
<DepositorIpAddress>127.0.0.1</DepositorIpAddress>
<DeviceIdentifier>B23CED0E</DeviceIdentifier>
<LocalDateTime>2023-10-06T11:21:56.603Z</LocalDateTime>
<TimeZone>PST -08:00</TimeZone>
<Attributes>
<Attribute>
<Name></Name>
<Value></Value>
</Attribute>
</Attributes>
<SessionStateId>(your SessionStateId here)</SessionStateId>
<SessionToken>(your SessionToken here)</SessionToken>
<DepositToAccountNumberIndex>0</DepositToAccountNumberIndex>
<ItemCount>1</ItemCount>
<Amount>0.00</Amount>
<Description>Test Deposit</Description>
<Scanner>
<SerialNumber>1</SerialNumber>
<Make>Mobile</Make>
<Model>Mobile</Model>
<ScannerTypeId>34</ScannerTypeId>
</Scanner>
</request>
</CreateDepositBatch>
</soapenv:Body>
</soapenv:Envelope>

Step 4 Once you have sent the CreateDepositBatch request, you'll receive a response with the DepositBatchId. Save this DepositBatchId to use in subsequent requests, specifying which batch you want to perform further actions on.

CreateDepositBatch response example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CreateDepositBatchResponse xmlns="http://ensenta.com/ECPartnerDepositRequest">
<CreateDepositBatchResult>
<ResponseCode>00</ResponseCode>
<ErrorResponseText/>
<LocalizedMessageText/>
<DepositBatchId>12345</DepositBatchId>
</CreateDepositBatchResult>
</CreateDepositBatchResponse>
</s:Body>
</s:Envelope>
Adding a Check Deposit Item

Step 5 Have the user enter the check amount and then capture the check images within your app.

Step 6 Convert the check images to the proper format (Base64 string).

Step 7 Populate an AddDepositItem request with the check amount, front and back images, and DepositBatchId.

note

For details on Mitek image requirements, see the Mitek programmer's guide (you should have recevied this during your project kickoff).

AddDepositItem request example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://ensenta.com/ECPartnerDepositRequest">
<soapenv:Header/>
<soapenv:Body>
<AddDepositItem>
<request>
<PartnerId>(your PartnerId here)</PartnerId>
<LanguageId>9</LanguageId>
<DepositorIpAddress>127.0.0.1</DepositorIpAddress>
<DeviceIdentifier>B23CED0E</DeviceIdentifier>
<LocalDateTime>2023-10-06T11:21:56.603Z</LocalDateTime>
<TimeZone>PST -08:00</TimeZone>
<Attributes>
<Attribute>
<Name></Name>
<Value></Value>
</Attribute>
</Attributes>
<SessionStateId>(your SessionStateId here)</SessionStateId>
<SessionToken>(your SessionToken here)</SessionToken>
<DepositBatchId>12345</DepositBatchId>
<ItemNumber>1</ItemNumber>
<IsFirstItem>true</IsFirstItem>
<TenderType>1</TenderType>
<Amount>10.00</Amount>
<CheckImageCategory>1</CheckImageCategory>
<ImagePreprocessState>2</ImagePreprocessState>
<FrontBase64Image><(your Base64 front image string here)/FrontBase64Image>
<BackBase64Image>(your Base64 back image string here)</BackBase64Image>
</request>
</AddDepositItem>
</soapenv:Body>
</soapenv:Envelope>

Step 9 After you send the request, you'll receive an AddDepositItem response with the response code "00" to indicate that the item was successfully added to the batch.

AddDepositItem response example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<AddDepositItemResponse xmlns="http://ensenta.com/ECPartnerDepositRequest">
<AddDepositItemResult>
<ResponseCode>00</ResponseCode>
<ErrorResponseText/>
<LocalizedMessageText/>
</AddDepositItemResult>
</AddDepositItemResponse>
</s:Body>
</s:Envelope>
Retrieving Batch and Item Info

Step 10 After receiving a successful AddDepositItem response, you will send a GetDepositBatchSummary request with the appropriate DepositBatchId to review the batch details.

GetDepositBatchSummary request example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://ensenta.com/ECPartnerDepositRequest">
<soapenv:Header/>
<soapenv:Body>
<GetDepositBatchSummary>
<request>
<PartnerId>(your PartnerId here)</PartnerId>
<LanguageId>9</LanguageId>
<DepositorIpAddress>127.0.0.1</DepositorIpAddress>
<DeviceIdentifier>B23CED0E</DeviceIdentifier>
<LocalDateTime>2023-10-06T11:21:56.603Z</LocalDateTime>
<TimeZone>PST -08:00</TimeZone>
<Attributes>
<Attribute>
<Name></Name>
<Value></Value>
</Attribute>
</Attributes>
<SessionStateId>(your SessionStateId here)</SessionStateId>
<SessionToken>(your SessionToken here)</SessionToken>
<DepositBatchId>12345</DepositBatchId>
</request>
</GetDepositBatchSummary>
</soapenv:Body>
</soapenv:Envelope>

Step 11 You will receive a GetDepositBatchSummary response. At this point, check the ItemCount to ensure that it shows an integer of 1. If it shows an integer of 0, wait approximately 2-5 seconds, and then repeat step 7. Repeat this step as necessary until the ItemCount shows an integer of 1.

note

It is crucial that the ItemCount matches your expected item count of 1, or the GetItem request will fail until it does. This is why it is important to repeat this request until the ItemCount equals 1.

GetDepositBatchSummary response example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetDepositBatchSummaryResponse xmlns="http://ensenta.com/ECPartnerDepositRequest">
<GetDepositBatchSummaryResult>
<ResponseCode>00</ResponseCode>
<ErrorResponseText/>
<LocalizedMessageText/>
<ItemCount>1</ItemCount>
<OkItemCount>1</OkItemCount>
<NeedReviewItemCount>0</NeedReviewItemCount>
<ItemNumbers>
<int>1</int>
</ItemNumbers>
<Amount>6.00</Amount>
<UserItemCount>0</UserItemCount>
<UserAmount>0.00</UserAmount>
<UserDescription>Test Deposit</UserDescription>
<DepositToAccountNumberIndex>0</DepositToAccountNumberIndex>
</GetDepositBatchSummaryResult>
</GetDepositBatchSummaryResponse>
</s:Body>
</s:Envelope>

Step 12 After receiving a successful GetDepositBatchSummary response with an ItemCount of 1, you will send a GetDepositItem request with the appropriate ItemNumber to review the item details, including any risk factors that the item has triggered.

GetDepositItem request example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://ensenta.com/ECPartnerDepositRequest">
<soapenv:Header/>
<soapenv:Body>
<GetDepositItem>
<request>
<PartnerId>(your partnerId here)</PartnerId>
<LanguageId>9</LanguageId>
<DepositorIpAddress>127.0.0.1</DepositorIpAddress>
<DeviceIdentifier>B23CED0E</DeviceIdentifier>
<LocalDateTime>2023-10-06T11:21:56.603Z</LocalDateTime>
<TimeZone>PST -08:00</TimeZone>
<Attributes>
<Attribute>
<Name></Name>
<Value></Value>
</Attribute>
</Attributes>
<SessionStateId>(your SessionStateId here)</SessionStateId>
<SessionToken>(your sessionToken here)</SessionToken>
<DepositBatchId>12345</DepositBatchId>
<ItemNumber>1</ItemNumber>
</request>
</GetDepositItem>
</soapenv:Body>
</soapenv:Envelope>

Step 13 You will receive a GetDepositItem response with item details, including generic funds availability text and an array of any risk factors that the item may have triggered.

Step 14 Display any desired check deposit details to the end user for review before submitting the deposit.

GetDepositItem response example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetDepositItemResponse xmlns="http://ensenta.com/ECPartnerDepositRequest">
<GetDepositItemResult>
<ResponseCode>00</ResponseCode>
<ErrorResponseText/>
<LocalizedMessageText/>
<DepositItem>
<ItemNumber>1</ItemNumber>
<Micr>(your check micr here)</Micr>
<CheckNumber>000001</CheckNumber>
<OcrAmount>1.23</OcrAmount>
<UserAmount>6.00</UserAmount>
<Amount>6.00</Amount>
<Status>0</Status>
<FundsAvailabilityText>Funds availability: Funds deposited to your account may not be available immediately based on your Credit Union's Hold Policies. Please contact your Credit Union regarding the Hold Policies on your account.</FundsAvailabilityText>
<RiskFactors>
<RiskFactor>
<RiskFactorId>12</RiskFactorId>
<RiskFactorDescription>Date Not Recognized By OCR</RiskFactorDescription>
<RiskFactorLocalizedDescription>The check date is between 2/8/2018 and 8/8/2018.</RiskFactorLocalizedDescription>
<Severity>1</Severity>
<IsFixable>false</IsFixable>
<IsConfirmable>true</IsConfirmable>
<DepositFields>
<int>16</int>
</DepositFields>
</RiskFactor>
<RiskFactor>
<RiskFactorId>11</RiskFactorId>
<RiskFactorDescription>Payee Does Not Match Acct Holder or Institution</RiskFactorDescription>
<RiskFactorLocalizedDescription>Payee Does Not Match Acct Holder or Institution</RiskFactorLocalizedDescription>
<Severity>1</Severity>
<IsFixable>false</IsFixable>
<IsConfirmable>true</IsConfirmable>
<DepositFields>
<int>5</int>
</DepositFields>
</RiskFactor>
</RiskFactors>
</DepositItem>
</GetDepositItemResult>
</GetDepositItemResponse>
</s:Body>
</s:Envelope>
Posting The Deposit Batch

Step 15 After reviewing the check details, you can submit the deposit by sending a PostDepositBatch request.

PostDepositBatch request example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://ensenta.com/ECPartnerDepositRequest">
<soapenv:Header/>
<soapenv:Body>
<PostDepositBatch>
<request>
<PartnerId>(your PartnerId here)</PartnerId>
<LanguageId>9</LanguageId>
<DepositorIpAddress>127.0.0.1</DepositorIpAddress>
<DeviceIdentifier>B23CED0E</DeviceIdentifier>
<LocalDateTime>2023-10-06T11:21:56.603Z</LocalDateTime>
<TimeZone>PST -08:00</TimeZone>
<Attributes>
<Attribute>
<Name></Name>
<Value></Value>
</Attribute>
</Attributes>
<SessionStateId>(your SessionStateId here)</SessionStateId>
<SessionToken>(your SessionToken here)</SessionToken>
<DepositBatchId>(your DepositBatchId here)</DepositBatchId>
<ItemNumbers>
<int>1</int>
</ItemNumbers>
</request>
</PostDepositBatch>
</soapenv:Body>
</soapenv:Envelope>

Step 16 You will receive a response with a response code of 00, showing that the deposit has been successfully submitted.

PostDepositBatch response example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PostDepositBatchResponse xmlns="http://ensenta.com/ECPartnerDepositRequest">
<PostDepositBatchResult>
<ResponseCode>00</ResponseCode>
<ErrorResponseText/>
<LocalizedMessageText/>
<TransactionSummary>
<TransactionId>(your TransactionId here)</TransactionId>
<TransactionDate>2023-10-24T07:16:31.21</TransactionDate>
<Description>Test Deposit</Description>
<ReceiptNumber>(Your ReceiptNumber here)</ReceiptNumber>
<SubmittedAmount>6.00</SubmittedAmount>
<AdjustmentAmount>0.00</AdjustmentAmount>
<CurrentAmount>6.00</CurrentAmount>
<NumberofChecks>1</NumberofChecks>
<Status>Submitted</Status>
<AccountNumber>x5555</AccountNumber>
<AccountHolderNumber/>
<TransactionType>Deposit</TransactionType>
<AcceptedByDescription>Travis Mobile Test</AcceptedByDescription>
<ChannelType>7</ChannelType>
<ChannelTypeDescription>Mobile</ChannelTypeDescription>
<StatusId>0</StatusId>
<StatusDescription>Submitted</StatusDescription>
<StatusChangeDate>2023-10-24T07:16:31.21</StatusChangeDate>
<Username/>
<DepositItems>
<DepositHistoryItem>
<ItemNumber>1</ItemNumber>
<CheckNumber>000001</CheckNumber>
<AdjustmentAmount>0.00</AdjustmentAmount>
<SubmittedAmount>6.00</SubmittedAmount>
<CurrentAmount>6.00</CurrentAmount>
<StatusDescription>Submitted</StatusDescription>
<Check21ReturnReasonDescription>Not Applicable / Other</Check21ReturnReasonDescription>
<StatusId>0</StatusId>
</DepositHistoryItem>
</DepositItems>
<RedeemedDtTm>0001-01-01T00:00:00</RedeemedDtTm>
<PayerAccountNumber/>
<TransactionTypeId>0</TransactionTypeId>
</TransactionSummary>
</PostDepositBatchResult>
</PostDepositBatchResponse>
</s:Body>
</s:Envelope>
Optional Steps

Step 17 (optional) Send a GetCheckImage request and you will receive a GetCheckImage response. Use the data from the GetCheckImage response to display the check images to the end user for review.

GetCheckImage request example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://ensenta.com/ECPartnerDepositRequest">
<soapenv:Header/>
<soapenv:Body>
<GetCheckImage>
<request>
<PartnerId>(your partnerId here)</PartnerId>
<LanguageId>9</LanguageId>
<DepositorIpAddress>203.0.113.0</DepositorIpAddress>
<DeviceIdentifier>21d182e6-10b1-48e2-8c53-1b72674836c1</DeviceIdentifier>
<LocalDateTime>2020-08-24T11:21:56.603Z</LocalDateTime>
<TimeZone>PST -8:00 PST</TimeZone>
<Attributes>
<Attribute>
<Name></Name>
<Value></Value>
</Attribute>
</Attributes>
<SessionStateId>(your sessionStateId here)</SessionStateId>
<SessionToken>(your sessionToken here)</SessionToken>
<ItemNumber>1</ItemNumber>
<CheckImageViewType>2</CheckImageViewType>
<CheckImageType>2</CheckImageType>
</request>
</GetCheckImage>
</soapenv:Body>
</soapenv:Envelope>

GetCheckImage response example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetCheckImageResponse xmlns="http://ensenta.com/ECPartnerDepositRequest">
<GetCheckImageResult>
<ResponseCode>00</ResponseCode>
<ErrorResponseText/>
<LocalizedMessageText/>
<CheckImages>
<CheckImageInfo>
<CheckImage>(check image string here)</CheckImage>
<CheckImageViewType>0</CheckImageViewType>
</CheckImageInfo>
<CheckImageInfo>
<CheckImage>(check image string here)</CheckImage>
<CheckImageViewType>1</CheckImageViewType>
</CheckImageInfo>
</CheckImages>
</GetCheckImageResult>
</GetCheckImageResponse>
</s:Body>
</s:Envelope>

Step 18 (optional) You can send a GetSessionInfo request to retrieve the current details of your session, such as updated deposit limit information.

GetSessionInfo request example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://ensenta.com/ECPartnerDepositRequest">
<soapenv:Header/>
<soapenv:Body>
<GetSessionInfo>
<request>
<PartnerId>(your partnerId here)</PartnerId>
<LanguageId>9</LanguageId>
<DepositorIpAddress>127.0.0.1</DepositorIpAddress>
<DeviceIdentifier>B23CED0E</DeviceIdentifier>
<LocalDateTime>2020-08-24T11:21:56.603Z</LocalDateTime>
<TimeZone>PST -08:00</TimeZone>
<Attributes>
<Attribute>
<Name></Name>
<Value></Value>
</Attribute>
</Attributes>
<SessionStateId>(your sessionStateId here)</SessionStateId>
<SessionToken>(your sessionToken here)</SessionToken>
</request>
</GetSessionInfo>
</soapenv:Body>
</soapenv:Envelope>

Step 19 The GetSessionInfo response will return information about the current session, including updated deposit limit information (if you have set up the deposit limit messages in EPS Ensenta EZAdmin™).

GetSessionInfo response example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetSessionInfoResponse xmlns="http://ensenta.com/ECPartnerDepositRequest">
<GetSessionInfoResult>
<ResponseCode>00</ResponseCode>
<ErrorResponseText/>
<LocalizedMessageText/>
<SessionToken>(your SessionToken here)</SessionToken>
<PartnerId>(your PartnerId here)</PartnerId>
<ChannelTypeId>7</ChannelTypeId>
<SessionInfo>
<AccountKeys>
<AccountKey>
<AccountNumberIndex>0</AccountNumberIndex>
<Description>Checking</Description>
<Tag>0</Tag>
</AccountKey>
</AccountKeys>
<IsTermsAcceptanceRequired>true</IsTermsAcceptanceRequired>
<IsIntroPageEnabled>false</IsIntroPageEnabled>
<IsHelpEnabled>false</IsHelpEnabled>
<SkinCode>4</SkinCode>
<StartPage>3</StartPage>
<ReceiptEmail/>
<CustomizableMessages>
<CustomizableMessage>
<MessageTextCd>ECP281</MessageTextCd>
<LocalizedText>You have 24 deposits left of your 25 daily transaction limit.</LocalizedText>
</CustomizableMessage>
<CustomizableMessage>
<MessageTextCd>ECP282</MessageTextCd>
<LocalizedText>You have $9994.00 left of your $10000.00 business day deposit limit.</LocalizedText>
</CustomizableMessage>
<CustomizableMessage>
<MessageTextCd>ECP288</MessageTextCd>
<LocalizedText>You have $9994.00 left of your $10000.00 deposit limit.</LocalizedText>
</CustomizableMessage>
</CustomizableMessages>
<AreAcctPermissionsEnabled>false</AreAcctPermissionsEnabled>
<IssuerPolicy>
<IsPlainScannerAllowed>N</IsPlainScannerAllowed>
<IsCheckScannerAllowed>N</IsCheckScannerAllowed>
<IsDepositDescrDisplayed>N</IsDepositDescrDisplayed>
<IsMultChecksPerTxn>Y</IsMultChecksPerTxn>
<IsHistoryAllowed>Y</IsHistoryAllowed>
<IsIntroEnabled>N</IsIntroEnabled>
<IsHelpEnabled>N</IsHelpEnabled>
<ImageCaptureMethod>-1</ImageCaptureMethod>
<IsBatchTotalAllowed>N</IsBatchTotalAllowed>
<IsDepositConfirmEnabled>N</IsDepositConfirmEnabled>
<IsMicrDisplayEnabled>N</IsMicrDisplayEnabled>
<IsPlainScannerOptional>N</IsPlainScannerOptional>
<IsCheckScannerOptional>N</IsCheckScannerOptional>
<IsDepositDescrOptional>N</IsDepositDescrOptional>
<IsMultChecksPerTxnOptional>N</IsMultChecksPerTxnOptional>
<IsIntroOptional>N</IsIntroOptional>
<IsHelpOptional>N</IsHelpOptional>
<IsImageCaptureMethodOptional>N</IsImageCaptureMethodOptional>
<IsBatchTotalOptional>N</IsBatchTotalOptional>
<IsDepositConfirmOptional>N</IsDepositConfirmOptional>
<IsMicrDisplayOptional>N</IsMicrDisplayOptional>
<MaxCheckPerTxn>1</MaxCheckPerTxn>
<IsSettingsEnabled>N</IsSettingsEnabled>
<CheckGuaranteeMethod>1</CheckGuaranteeMethod>
<ImageCaptureTimeoutSeconds>30</ImageCaptureTimeoutSeconds>
<ScanMethods/>
<AlertMethods/>
<TerminalFirmwareMinVersion/>
<TerminalFirmwareMaxVersion/>
<TerminalConfigMinVersion/>
<TerminalConfigMaxVersion/>
</IssuerPolicy>
</SessionInfo>
</GetSessionInfoResult>
</GetSessionInfoResponse>
</s:Body>
</s:Envelope>
Ending the Session

Step 20 Once the user has finished creating the deposits they want to submit within this session, you will send an EndSession request.

note

If the user wishes to submit more deposits or retrieve within the same session, do not proceed with an EndSession request, but repeat the workflow from step 3. Alternatively, if the user wishes to retrieve transaction history, proceed with the transaction history workflow before ending the session.

EndSession request example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://ensenta.com/ECPartnerDepositRequest">
<soapenv:Header/>
<soapenv:Body>
<EndSession>
<request>
<PartnerId>(your PartnerId here)</PartnerId>
<LanguageId>9</LanguageId>
<DepositorIpAddress>127.0.0.1</DepositorIpAddress>
<DeviceIdentifier>B23CED0E</DeviceIdentifier>
<LocalDateTime>2023-10-06T11:21:56.603Z</LocalDateTime>
<TimeZone>PST -08:00</TimeZone>
<Attributes>
<Attribute>
<Name></Name>
<Value></Value>
</Attribute>
</Attributes>
<SessionStateId>(your SessionStateId here)</SessionStateId>
<SessionToken>(your SessionToken here)</SessionToken>
</request>
</EndSession>
</soapenv:Body>
</soapenv:Envelope>

Step 21 You'll receive a response with the ResponseCode 00 indicating a successful logout from the API.

EndSession response example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<EndSessionResponse xmlns="http://ensenta.com/ECPartnerDepositRequest">
<EndSessionResult>
<ResponseCode>00</ResponseCode>
<ErrorResponseText/>
<LocalizedMessageText/>
</EndSessionResult>
</EndSessionResponse>
</s:Body>
</s:Envelope>
Handling Errors and Failed Requests

Not all requests will be successful, so we will run through a few common error messages you should be ready to handle.

note

For an exhaustive list of all other error responses click here.



  • Session Expired Error: This error is returned when your session times out. If this appears, have the user start the deposit over with a new session beginning from step 1.
                <ResponseCode>E51</ResponseCode>
<ErrorResponseText>Single Sign On Session Expired</ErrorResponseText>
<LocalizedMessageText>It appears your connection to us has expired. Please attempt the deposit again. [E51]</LocalizedMessageText>
  • Single Sign-On Session Not Found: The web serivce cannot find the session you are referencing in your request. Verify your SessionStateToken and/or SessionId and try the request again.
                <ResponseCode>E50</ResponseCode>
<ErrorResponseText>Single Sign On Session Not Found</ErrorResponseText>
<LocalizedMessageText>Single sign-on session not found.</LocalizedMessageText>
  • User Blocklisted: This error is returned when you try to send a StartSession request with an AccountHolderNumber that is currently on a blocklist. In order to proceed, remove the user from the list and then update the blocklist on EZAdmin.
                <ResponseCode>E77</ResponseCode>
<ErrorResponseText>Your access has been suspended. Please contact your financial institution.</ErrorResponseText>
<LocalizedMessageText>Your access has been suspended. Please contact your financial institution.</LocalizedMessageText>
  • Invalid Parameter: If you input an invalid parameter in any request, this error message may appear. Check the response to see which parameter is invalid, and then update that parameter in your request to a valid value.
                <ResponseCode>E500</ResponseCode>
<ErrorResponseText>Invalid parameter. </ErrorResponseText>
<LocalizedMessageText>SessionStateId</LocalizedMessageText>
  • Deposit Item Not Found: This error message appears when you send a GetDepositItem request with an invalid ItemNumber. Send a GetDepositBatchSummary request to determine if the ItemCount is equal to 1. If the ItemCount does not equal 1, wait 2-5 seconds and then repeat the GetDepositBatchSummary request until the ItemCount equals 1.
                <ResponseCode>E88</ResponseCode>
<ErrorResponseText>Deposit Item Not Found</ErrorResponseText>
<LocalizedMessageText>Deposit Item Not Found</LocalizedMessageText>
  • Deposit Limit Error: This error message appears when you send a PostDepositBatch request with an amount that exceeds a deposit limit.
                <ResponseCode>EL1</ResponseCode>
<ErrorResponseText>The calendar day deposit limit of %1 will be exceeded. You may deposit up to %2.</ErrorResponseText>
<LocalizedMessageText>The calendar day deposit limit of $1.00 will be exceeded. You may deposit up to $1.00.</LocalizedMessageText>
  • Generic Error: This generic error informs you that something went wrong with the deposit, but it does not have a detailed error code. You will need to start the deposit over from step 1. If you continue to receive this error, please reach out to EPS Ensenta support.
                <ResponseCode>E99</ResponseCode>
<ErrorResponseText>Unexpected error</ErrorResponseText>
<LocalizedMessageText>We're sorry, there was an unexpected error. Please attempt the deposit again.</LocalizedMessageText>

Next steps
  • Review the Reject Scenario Guide Now that you know how to successfully submit a deposit, you can review the Reject guide that explains what to do in the event that your check deposit item is rejected.
  • Review the API Reference This guide is a starting point to show a common use case scenario for making a successful single-check deposit. Please review the API Reference to see all API methods and their technical specifications.
  • Explore other 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.