Skip to main content

EmailReceipt Guide


Introduction

In this guide, we will walk you through how to send an additional email for the end user to receive email alerts using the PAPI3 Single Flow web service. The feature is useful in the scenario where a user would like to allow an additional individual or department to receive notifications on the deposit's status. If you plan to use this feature, you will want to follow this guide.

Getting Started

Tasks covered in this guide

  • Send an additional email for receiving notifications

Required prerequisites before you continue

  • You will want to obtain your test credentials in order to try any of the examples in this guide. You should have received these from your Integration Project Lead.
  • Review the Authentication guide for an understanding of how to authenticate to the EPS web service. This guide walks you through sending a StartSession to ensure that you are able to authenticate before moving forward.
  • Download the PAPI3 Single Flow WSDL file from the Downloads menu.
EPS Ensenta Mobile API Single Check EmailReceipt Workflow

EmailReceipt Diagram

Integrator Mobile Deposit Flow
Ensenta PAPI3 Mobile Deposit Flow

EPS Web Service

1.


2.

 

 

Submitting the Deposit

Step 1 During the check deposit process, the customer will log in to the app and make a deposit. Upon submitting the deposit, a PostDepositBatch request is sent.

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 Partner Id</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>1a6eed95-a93e-42bc-ba89-ed6ea050c5e4</SessionStateId>
<SessionToken>2deebb10-57fb-449d-a75a-5cd63df84308</SessionToken>
<DepositBatchId>f67268e9-7fb7-40f1-904a-904f1160d11b</DepositBatchId>
<ItemNumbers>
<int>1</int>
</ItemNumbers>
</request>
</PostDepositBatch>
</soapenv:Body>
</soapenv:Envelope>

Step 2 Once this request is sent to the endpoint, you should get a successful response. The customer is notified on the app that the deposit was submitted. The response includes some important fields needed for the EmailReceipt request.

  • ReceiptNumber - A unique value that represents the deposit batch.
  • TransactionID - A unique value that comes from the PostDepositBatch response.

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>e52cafed-39e0-4bc7-a2af-d773640425cc</TransactionId>
<TransactionDate>2023-10-05T14:11:49.653</TransactionDate>
<Description>Test Deposit</Description>
<ReceiptNumber>3278345</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-05T14:11:49.653</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>
Adding Email to Receive Notifications

Step 3 An option can be displayed for the customer to add an additional email address to receive notifications on the deposit. If they decide to add an email address, an EmailReceipt request will be sent with the ReceiptNumber and TransactionID from the PostDepositBatch request, along with the email address they are adding.

EmailReceipt request example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://ensenta.com/ECPartnerDepositRequest">
<soap:Header/>
<soap:Body>
<EmailReceipt>
<request>
<PartnerId>{{partnerId}}</PartnerId>
<LanguageId>9</LanguageId>
<DepositorIpAddress>203.0.113.0</DepositorIpAddress>
<DeviceIdentifier>21d182e6-10b1-48e2-8c53-1b72674836c1</DeviceIdentifier>
<LocalDateTime>2018-08-08T08:46:00.0000880-07:00</LocalDateTime>
<TimeZone>PST -8:00 America/Redwood_Shores</TimeZone>
<Attributes>
<Attribute>
<Name></Name>
<Value></Value>
</Attribute>
</Attributes>
<SessionStateId>1a6eed95-a93e-42bc-ba89-ed6ea050c5e4</SessionStateId>
<SessionToken>2deebb10-57fb-449d-a75a-5cd63df84308</SessionToken>
<Email>example_2@example.com</Email>
<ReceiptNumber>3278345</ReceiptNumber>
<TransactionId>e52cafed-39e0-4bc7-a2af-d773640425cc</TransactionId>
</request>
</EmailReceipt>
</soap:Body>
</soap:Envelope>

Step 4 Once this request is sent to the endpoint, you should get a successful response. No further action is required. The email that was sent in the request will receive notifications regarding the deposit.

EmailReceipt response example

<EmailReceiptResponse>
<EmailReceiptResult>
<ResponseCode>00</ResponseCode>
<ErrorResponseText/>
<LocalizedMessageText/>
</EmailReceiptResult>
</EmailReceiptResponse>
Handling Errors and Failed Requests

Not all requests will be successful, so we will run through a few common errors you should be prepared to handle.

  • Session Expired Error: This error is returned when your session times out. To resolve the error, have the user start a new session.
                <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 then try the request again.
                <ResponseCode>E50</ResponseCode>
<ErrorResponseText>Single Sign-On Session Not Found</ErrorResponseText>
<LocalizedMessageText>Single sign-on session not found.</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>
  • Generic Error: This generic error informs you that something went wrong with the request, but it does not have a detailed error code. You will need to start 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>There was an unexpected error. Please attempt the deposit again.</LocalizedMessageText>
Next steps
  • Review the API Reference This guide is a starting point to show the use case scenario for adding an additional email for deposit notifications. Please review the API Reference to see all APIs 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.
  • 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.