Batch Management - Control Merchant Settlements
By default, payment processing creates one settlement (deposit) per merchant location, per day. This default setting ignores the number of batches being submitted. However, you can control the number of settlements desired with the Batch Management feature. Be sure to speak with your Implementation Coordinator if this is desired, as there are back office settings that must be configured to ensure that your merchants are set up properly to facilitate multiple settlements.
For example, consider the following scenario: For "Merchant A," you want a different settlement per every 10 transactions on "Location 1" each day. You would control that by creating a batch for "Location 1" and defining a custom batch number. You would then begin placing transactions into that batch using the custom batch number until you reach 10 transactions in the batch. Then, close that batch and create a new one with a new custom batch number on "Location 1" to place the next 10 transactions in. Repeat this process throughout the day. If you create 5 different batches that processed for the day, the result would be 5 different settlements (deposits) for "Location 1".
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
-
Before you begin: Contact your Implementation Coordinator to add Merchant Settlement per Batch to your setup.
-
Step 1: Open a new batch
-
Step 2: Add items into the open batch
-
Step 3: Close the batch once the desired # of transactions has been reached
-
Step 4: Repeat steps 1-3 for more batches/settlements
JHA SmartPay Transaction Processing™ - Batch Management - Control Batch Merchant Settlements 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
Step 1: Create a batch using either Create Processing Batch or Create Processing Batch With Deposit Slip Aux On Us.
Send a CreateProcessingBatch Request
or
send a CreateProcessingBatchWithDepositSlipAuxOnUsRequest
- Supply the necessary values according to the request reference, such as the unique BatchNumber.
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>
CreateProcessingBatch Request 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 items to the open batch
Send an AuthorizeTransaction Request
- Items within a batch are grouped together as a single settlement amount for each batch, using this workflow.
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>
Close the processing batch
Step 3: Close the batch once the desired # of transactions has been reached
Send a CloseProcessingBatch Request
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: Repeat Steps 1-3 for more batches/settlements
As necessary, add additional settlements (deposits) by repeating steps 1-3.
- If any of the batches are left open, they will be automatically closed and processed at the next scheduled cutoff time unless you use the AutoClose DateTime field to keep them open.
See Batch Management - Control Batch Close Times for more information regarding those settings.
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.