Batch Management
Efficiently manage transaction settlements by grouping approved payments into batches for streamlined funding and reconciliation.
PCE allows you to process multiple individual transactions as a single group, called a batch. These batches are opened and closed at regular intervals (daily, weekly, or another defined cycle).
Batch Management defines how transactions are grouped before settlement. At the end of a business day (or defined cycle), all captured transactions are collected into a batch, which is then processed for settlement.
Key Highlights:
- Transactions are grouped into a batch through Batch Closure. Only settled batches are eligible for funding.
- Automatically or manually group transactions into daily settlement batches.
- Monitor batch statuses — Open or Closed.
- Control batch timing through merchant-level or terminal-specific settings.
- Retrieve and review batch and transaction details via API.
Benefits:
- Clear visibility into daily sales and settlement activity.
- Simplified reconciliation with processor and funding reports.
- Faster identification of any discrepancies or missing transactions.
How It Works
- Transactions are approved throughout the day.
- Batches automatically close at the configured auto-close time (default: 4:00 AM UTC).
- Settled batches are submitted to the processor for fund transfer.
- A new batch is automatically created upon the next approved transaction.
Best Practice: Close batches daily to ensure timely settlements and prevent funding delays.
Batch Configuration
The rules and configurations determine how and when credit card transactions are grouped (or “batched”) together for settlement. Instead of processing each transaction individually, batching allows multiple transactions to be processed and settled together, typically once per day.
This is common in payment processing systems to improve efficiency, reduce fees, and streamline reconciliation.
Merchants can configure batching behavior based on their operational needs.
Setting | Description | Default Behavior |
|---|---|---|
Auto-Batch Time | Defines the time when open batches close automatically. | Enabled at 4:00 AM UTC. * Any transactions captured during the day will be grouped into a batch and automatically closed at this time. |
Terminal Auto-Close | Allows terminals to close their own batches separately. | Enabled per device when |
Manual Close | Lets merchants manually close batches via API or dashboard. Failure to close a batch manually may result in:
| Disabled (auto-close used by default) |
Batch Management Operations
Below are the API endpoints used for managing batches.
1. Retrieve Batches for a Merchant
Retrieve a list of all batches for a merchant using either of the following endpoints:
- Basic Request: Use the GET
/checkout/v3/batch?merchantid={{merchantId}}endpoint to retrieve all batches associated with the merchant. - Filtered Request: Use the GET
/checkout/v3/batch?merchantid={{merchantId}}&startDate={{startDate}}&endDate={{endDate}}&limit={{limit}}&offset={{offset}}&dateRange={{dateRange}}&status={{status}}endpoint to retrieve batches filtered by date range, status, and pagination parameters.
| Parameter | Required | Description |
|---|---|---|
merchantid | ✅ | Unique identifier of the merchant. |
startDate | Start date/time for batch search in ISO 8601 format. | |
endDate | End date/time for batch search in ISO 8601 format. | |
limit | Maximum number of records to return per request. | |
offset | Record offset for pagination. | |
dateRange | Time period filter (Today, Week, Month, Custom). | |
status | Batch status filter (Open or Closed). |
2. Close an Open Batch
Use the PUT /checkout/v3/batch/{batchId} API endpoint to close a specific batch to initiate settlement.
| Parameter | Required | Description |
|---|---|---|
batchId | ✅ | Unique ID of the batch to close |
3. Get Batch by ID
Use the GET /checkout/v3/batch?batchId={batchId} to Retrieve complete details for a specific batch using its ID.
Key Response Fields:
| Field | Description |
|---|---|
status | Batch status (Open, Pending, Closed) |
opened / closed | Date/time the batch was opened or closed |
saleCount, saleAmount | Count and amount of sale transactions |
netTip, netSurcharge | Tip and surcharge totals for the batch |
processorName | Payment processor handling the batch |
device | Source device or API client that initiated transactions |
4. Retrieve Batch Transactions
Use the GET /checkout/v3/batchpayment?id={batchId} to fetch detailed transaction information for a batch.
Key Response Fields:
| Field | Description |
|---|---|
id | Unique transaction ID |
amount | Transaction amount |
paymentToken | The secure Transaction Token. Use this for follow-up actions like refunds or adjustments after the transaction has settled. |
tenderType | Type of payment (e.g., Card) |
authCode | Authorization code from issuer |
status | Transaction status (e.g., Settled) |
cardAccount | Entire details of the card used within the transaction. |
invoice, customerCode | Reference and customer identifiers |
Batch Lifecycle
The batch lifecycle outlines how transactions move from authorization to settlement, helping merchants track the status of their daily payment batches.
| Stage | Description |
|---|---|
| Open | Batch is collecting approved transactions. |
| Closed | Batch has been finalized and sent for settlement. |
Troubleshooting
| Issue | Possible Cause | Resolution |
|---|---|---|
| Batch not closing automatically | Auto-close disabled or time not set correctly | Verify batch settings or close manually via API |
| Missing transactions | Transaction not approved before batch closure | Ensure all sales complete before batch close |
| Duplicate batches | Device ID misconfiguration | Check unique Device IDs for terminal batching |
See Also
Pending Items
- Questions raised : https://prioritycommerce.atlassian.net/browse/APIHELP-10382
- Need to update links for all API endpoints mentioned above
Updated 18 days ago