Skip to main content

Batch Management - Control Batch Close Times

Introduction

By default, batches that are not closed by the end user automatically close at the processor's next scheduled cutoff time. However, you can control which scheduled cutoff time batches will follow using the Batch Management feature.

For example, consider the following scenario: You have a regularly scheduled 8 p.m. cutoff time for daily processing. In this case, you don’t want a batch of transactions to process that same day at the scheduled 8 p.m. cutoff time. Instead, you would like those transactions to process in the following day's scheduled 8 p.m. cutoff. You can control that specific batch's cutoff time by creating a batch with a value in the AutoCloseDateTime field that is after 8 p.m. that day. Think of the AutoCloseDateTime as a “do not close before” value. For example, 9 p.m. would work in this scenario.

You would then place any transactions into this batch that you want to skip 8 p.m. processing for the current day. When the normal cutoff schedule runs and generates a file at 8 p.m., the approved transactions in this "example batch" will not process until the following day's 8 p.m. cutoff time.

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: Create a new batch with a custom cutoff time
  • Step 2: Add items into the open batch

Optional Steps

  • Step 3: Manually close the batch
  • Step 4: Update/Change the auto-close setting for the batch again
  • Step 5: Send GetBatch request to verify the batch information
JHA SmartPay Transaction Processing™ - Batch Management - Control Batch Close Times Workflow
Batch Management - Control Batch Close Times Workflow
Integrator Flow
EPS WebService Flow

EPS Web Service

1.


2.


3.


4.


5.


 

 

Create a new batch with custom cutoff time

Step 1: Create a batch request

Send a CreateProcessingBatch Request or send a CreateProcessingBatchWithDepositSlipAuxOnUs Request

note
  • Set the isAutoCloseDateTimeRequired to True.
  • Set the AutoCloseDateTime to 9pm.
  • Supply the necessary values according to the request reference, such as the Batch Number.

CreateProcessingBatch Request Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateProcessingBatch xmlns="https://ssl.selectpayment.com/PV">
<storeId>123456</storeId>
<storeKey>XXXXXXXX</storeKey>
<entityId>12345</entityId>
<locationId>102030</locationId>
<terminalNumberIfKnown>__WebService</terminalNumberIfKnown>
<batchNumberToCreate>123</batchNumberToCreate>
<autoCloseDateTime>2010-11-26T19:00:00</autoCloseDateTime>
<isAutoCloseDateTimeRequired>0</isAutoCloseDateTimeRequired>
</CreateProcessingBatch>
</soap:Body>
</soap:Envelope>

Create Processing Batch Response Example

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateProcessingBatchResponse xmlns="https://ssl.selectpayment.com/PV">
<CreateProcessingBatchResult>
<returnValue>Success</returnValue>
<message>Operation successful</message>
</CreateProcessingBatchResult>
</CreateProcessingBatchResponse>
</soap:Body>
</soap:Envelope>
Begin adding items into the open batch

Step 2: Add transactions into the open batch

Send an AuthorizeTransaction Request

note
  • Begin adding transactions into the batch, which will process at the custom cutoff time you have set up for this batch (9pm).
  • This is all that is required at this point for this batch. This batch remains open through the regular cutoff time and any transactions within it remain in the approved state. The following day at 8 p.m., this batch closes with the regular cutoff time, the transactions move to a processed status, and those items are placed into a file.

AuthorizeTransaction Request Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header/>
<soapenv:Body>
<pv:AuthorizeTransaction>
<pv:storeId>123456</pv:storeId>
<pv:storeKey>XXXXXXXX</pv:storeKey>
<pv:transaction>
<pv:EntityId>12345</pv:EntityId>
<pv:LocationId>102030</pv:LocationId>
<pv:PaymentOrigin>Telephone_IVR</pv:PaymentOrigin>
<pv:AccountType>Checking</pv:AccountType>
<pv:OperationType>Auth</pv:OperationType>
<pv:SettlementType>ACH</pv:SettlementType>
<pv:EffectiveDate>2011-02-21</pv:EffectiveDate>
<pv:Description></pv:Description>
<pv:TotalAmount>56.34</pv:TotalAmount>
<pv:Sale></pv:Sale>
<pv:ConvenienceFeeAmount></pv:ConvenienceFeeAmount>
<pv:TerminalNumber>__WebService</pv:TerminalNumber>
<pv:TransactionNumber>1020</pv:TransactionNumber>
<pv:Field1></pv:Field1>
<pv:Field2></pv:Field2>
<pv:Field3></pv:Field3>
<pv:CheckMICRLine></pv:CheckMICRLine>
<pv:CheckMICRSymbolSet></pv:CheckMICRSymbolSet>
<pv:RoutingNumber>111000025</pv:RoutingNumber>
<pv:AccountNumber>5637492437</pv:AccountNumber>
<pv:CheckNumber></pv:CheckNumber>
<pv:SwipeTrack1></pv:SwipeTrack1>
<pv:SwipeTrack2></pv:SwipeTrack2>
<pv:SwipeTrack3></pv:SwipeTrack3>
<pv:IsBusinessPayment>0</pv:IsBusinessPayment>
<pv:NameOnAccount>Susan Doyle</pv:NameOnAccount>
<pv:BillingAddress1></pv:BillingAddress1>
<pv:BillingAddress2></pv:BillingAddress2>
<pv:BillingCity></pv:BillingCity>
<pv:BillingStateRegion></pv:BillingStateRegion>
<pv:BillingPostalCode></pv:BillingPostalCode>
<pv:BillingCountry></pv:BillingCountry>
<pv:BillingPhone></pv:BillingPhone>
<pv:IpAddressOfOriginator></pv:IpAddressOfOriginator>
<pv:EmailAddress></pv:EmailAddress>
<pv:SSN></pv:SSN>
<pv:DLState></pv:DLState>
<pv:DLNumber></pv:DLNumber>
<pv:CheckFrontImageBytes_TiffG4></pv:CheckFrontImageBytes_TiffG4>
<pv:CheckRearImageBytes_TiffG4></pv:CheckRearImageBytes_TiffG4>
<pv:OptionalThirdImageBytes_TiffG4></pv:OptionalThirdImageBytes_TiffG4>
<pv:OptionalThirdImageDescription></pv:OptionalThirdImageDescription>
</pv:transaction>
</pv:AuthorizeTransaction>
</soapenv:Body>
</soapenv:Envelope>

AuthorizeTransaction Response Example

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AuthorizeTransactionResponse xmlns="https://ssl.selectpayment.com/PV">
<AuthorizeTransactionResult>
<ReferenceNumber>T:5JVMJPT3A5G</ReferenceNumber>
<Success>true</Success>
<Error>false</Error>
<ResponseCode>Success</ResponseCode>
<ActualDate>2011-02-21T15:33:31.1548063-06:00</ActualDate>
<ResponseMessage/>
<OriginatedAs>ACH</OriginatedAs>
</AuthorizeTransactionResult>
</AuthorizeTransactionResponse>
</soap:Body>
</soap:Envelope>
Optional Steps
note
  • These are optional steps you can use to edit, adjust, or pull information about the batch you opened with a custom Auto Close Date Time.

Step 3: Manually close the batch

Send a CloseProcessingBatchRequest Request

note
  • This action overwrites the custom cutoff time and processes the batch normally at the regular cutoff time.

CloseProcessingBatch Request Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header/>
<soapenv:Body>
<pv:CloseProcessingBatch>
<storeId>123456</storeId>
<storeKey>XXXXXXXX</storeKey>
<entityId>12345</entityId>
<pv:batchNumber>123</pv:batchNumber>
</pv:CloseProcessingBatch>
</soapenv:Body>
</soapenv:Envelope>

CloseProcessingBatch Response Example

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CloseProcessingBatchResponse xmlns="https://ssl.selectpayment.com/PV">
<CloseProcessingBatchResult>
<returnValue>Success</returnValue>
<message>Operation successful</message>
</CloseProcessingBatchResult>
</CloseProcessingBatchResponse>
</soap:Body>
</soap:Envelope>

Step 4: Update auto-close custom time for earlier or later

note
  • If you decide you want to adjust the batch auto-close setting, you can do so by sending an Update Auto Close Date Time request with your new time.
  • The Batch Number is required for this request.

Send a UpdateAutoCloseDateTimeRequest

UpdateAutoCloseDateTime Request Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header/>
<soapenv:Body>
<pv:CloseProcessingBatch>
<storeId>123456</storeId>
<storeKey>XXXXXXXX</storeKey>
<entityId>12345</entityId>
<pv:batchNumber>123</pv:batchNumber>
</pv:CloseProcessingBatch>
</soapenv:Body>
</soapenv:Envelope>

UpdateAutoCloseDateTime Response Example

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CloseProcessingBatchResponse xmlns="https://ssl.selectpayment.com/PV">
<CloseProcessingBatchResult>
<returnValue>Success</returnValue>
<message>Operation successful</message>
</CloseProcessingBatchResult>
</CloseProcessingBatchResponse>
</soap:Body>
</soap:Envelope>

Step 5: Send GetBatch request to verify batch information

note
  • This request can be used to gather information regarding the batch details.

Send a GetBatch Request

note
  • The Batch Number is required for this request.

GetBatch Request Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header/>
<soapenv:Body>
<pv:GetBatch>
<pv:storeId>123456</pv:storeId>
<pv:storeKey>XXXXXXXX</pv:storeKey>
<pv:entityId>12345</pv:entityId>
<pv:batchNumber>123</pv:batchNumber>
</pv:GetBatch>
</soapenv:Body>
</soapenv:Envelope>

GetBatch Response Example

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetBatchResponse xmlns="https://ssl.selectpayment.com/PV">
<GetBatchResult>
<EntityId>12345</EntityId>
<BatchNumber>123</BatchNumber>
<BatchStatus>Open</BatchStatus>
<CreateDateTime>2010-12-30T10:31:04.1430000-06:00</CreateDateTime>
<ClosedDateTime>9999-12-31T23:59:59.9999999-06:00</ClosedDateTime>
<DebitCount>0</DebitCount>
<DebitAmount>0</DebitAmount>
<CreditCount>0</CreditCount>
<CreditAmount>0</CreditAmount>
<AuthorizedCount>0</AuthorizedCount>
<DeclinedCount>0</DeclinedCount>
<VoidCount>0</VoidCount>
<CreatedByUserId>0</CreatedByUserId>
<ClosedByUserId>123456</ClosedByUserId>
<AutoCloseDateTime>9999-12-31T23:59:59.9999999-06:00</AutoCloseDateTime>
</GetBatchResult>
</GetBatchResponse>
</soap:Body>
</soap:Envelope>
Next steps
  • Review the API Reference

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 so if this one doesn’t cover what you are looking for, give another guide a try. If your situation or question is not covered in the current guide, consult another resource.