Batch Management - Control Merchant Settlements
By default, payment processing will create 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 to process 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 beginning: 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
SmartPay Payment Vault™ - Batch Management - Control Merchant Settlements Workflow
Batch Management - Control Merchant Settlements Diagram
Integrator Flow | EPS WebService Flow | ||||
EPS Web Service | |||||
| 1. | |||||
| 2. | |||||
| 3. | |||||
| 4. | |||||
| 5. | |||||
| |||||
Creating a new batch
Step 1: Create a batch
Send a CreateProcessingBatch Request
Supply the necessary values according to the request reference, such as the unique BatchNumber.
CreateProcessingBatch Request Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header>
<pv:SecurityHeader>
<pv:BinarySecurityToken>your security token here</pv:BinarySecurityToken>
</pv:SecurityHeader>
</soapenv:Header>
<soapenv:Body>
<pv:CreateProcessingBatch>
<pv:storeId>0</pv:storeId>
<pv:storeKey isNull="true" />
<pv:entityId>your entityId</pv:entityId>
<pv:locationId>locationId of your merchant</pv:locationId>
<pv:terminalNumberIfKnown>__WebService</pv:terminalNumberIfKnown>
<pv:batchNumberToCreate>123</pv:batchNumberToCreate>
<pv:autoCloseDateTime>2010-11-26T19:00:00</pv:autoCloseDateTime>
<pv:isAutoCloseDateTimeRequired>0</pv:isAutoCloseDateTimeRequired>
</pv:CreateProcessingBatch>
</soapenv:Body>
</soapenv:Envelope>
CreateProcessingBatch 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 items into the open batch
Send an SaleFromBankAccount Request
Items within a batch will be grouped together as a single settlement amount for each batch, using this workflow.
SaleFromBankAccount Request Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header>
<pv:SecurityHeader>
<pv:BinarySecurityToken>your security token here</pv:BinarySecurityToken>
</pv:SecurityHeader>
</soapenv:Header>
<soapenv:Body>
<pv:SaleFromBankAccount>
<pv:storeId>0</pv:storeId>
<pv:storeKey isNull="true" />
<pv:entityId>your entityId</pv:entityId>
<pv:locationId>locationId of your merchant</pv:locationId>
<pv:accountReferenceId>string</pv:accountReferenceId>
<pv:paymentOrigin>Internet</pv:paymentOrigin>
<pv:Amount>47</pv:Amount>
<pv:TaxAmount>53</pv:TaxAmount>
<pv:ShippingAmount>76</pv:ShippingAmount>
<pv:terminalNumber>string</pv:terminalNumber>
<pv:TransactionNumber>string</pv:TransactionNumber>
<pv:Description>string</pv:Description>
<pv:Field1>string</pv:Field1>
<pv:Field2>string</pv:Field2>
<pv:Field3>string</pv:Field3>
<pv:CheckNumber>string</pv:CheckNumber>
<pv:EffectiveDate>string</pv:EffectiveDate>
<pv:faceFeeType>__None</pv:faceFeeType>
<pv:ownerApplication>Web_Service</pv:ownerApplication>
<pv:batchNumber>string</pv:batchNumber>
<pv:holdDays>0</pv:holdDays>
</pv:SaleFromBankAccount>
</soapenv:Body>
</soapenv:Envelope>
SaleFromBankAccount 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>
<SaleFromBankAccountResponse xmlns="https://ssl.selectpayment.com/PV">
<SaleFromBankAccountResult>
<ReferenceNumber>T:XXXXXXX</ReferenceNumber>
<Success>true</Success>
<Error>false</Error>
<ResponseCode>Success</ResponseCode>
<ActualDate>2010-12-30T00:00:00.0000000-06:00</ActualDate>
<ResponseMessage/>
<OriginatedAs>ACH</OriginatedAs>
</SaleFromBankAccountResult>
</SaleFromBankAccountResponse>
</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>
<pv:SecurityHeader>
<pv:BinarySecurityToken>your security token here</pv:BinarySecurityToken>
</pv:SecurityHeader>
</soapenv:Header>
<soapenv:Body>
<pv:CloseProcessingBatch>
<pv:storeId>0</pv:storeId>
<pv:storeKey isNull="true" />
<pv:entityId>your entityId</pv: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: Add more batches/settlements
As necessary, add additional settlements (batches) by repeating steps 1-3.
If any of the batches are left open, they will automatically be 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.