Skip to main content

Batch Management - Control Merchant Settlements

Introduction

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

note

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

note

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.

note

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.