# Split Capture

## **Overview** <a href="#splitcapture-background" id="splitcapture-background"></a>

Sola's Split Capture feature enables merchants to capture multiple payments for a single authorization-only transaction. This functionality is ideal for e-commerce merchants who ship out orders in increments, as they have the ability to capture several portions of the authorization as each shipment goes out.

The benefits of Split Capture are as follows:

* **Ability to Confirm Available Funds for the Entire Order Amount** \
  Rather than having to process multiple authorizations and captures, merchants can run a single authorization to confirm there are funds available before capturing several portions of the total amount.
* **Improve Record Keeping and Account Reconciliations** \
  Using Split Capture helps merchants to ensure that payments more accurately reflect shipments. Invoices and records are more organized, and the account reconciliation process is that much simpler.
* **Customer Satisfaction**\
  Customers appreciate that they’re only getting charged for shipments that have actually shipped out.

## **Transaction Flow** <a href="#splitcapture-transactionflow" id="splitcapture-transactionflow"></a>

### **CC:AuthOnly Transaction** <a href="#splitcapture-cc-authonlytransaction" id="splitcapture-cc-authonlytransaction"></a>

A standard authonly command is executed for the amount to be authorized with no additional flags.

* For the best merchant experience, it is recommended that the transaction include `xRequireSplitCapturable=1,` which ensures that the transaction can be split captured. If the flag is sent in on the authorization and the account is not set up to support split capture, the transaction errors with, “Split capture not supported.“ This flag is only supported on `cc:authonly` transactions.
* If the authorization can be split captured (i.e., the engine and account setup support split captures), then the authonly response includes `IsSplitCapturable=1`.

#### Transaction Incoming Fields (Specific to AuthOnly Transactions) <a href="#splitcapture-transactionincomingfields-specifictoauthonlytransactions" id="splitcapture-transactionincomingfields-specifictoauthonlytransactions"></a>

\[Optional] flag to require that authorization is able to be split captured before processing the authorization

| **Field**                 | **Value**                                                                                                            |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `xCommand`                | `cc:authonly`                                                                                                        |
| `xRequireSplitCapturable` | \[Optional] flag to require that authorization will be able to be split captured before processing the authorization |
| `xAmount`                 | Amount to be authorized                                                                                              |

### **CC:SplitCapture Transaction** <a href="#splitcapture-cc-splitcapturetransaction" id="splitcapture-cc-splitcapturetransaction"></a>

For a single `cc:authonly`, many `cc:splitcapture` commands can be executed. Each `cc:splitcapture`must specify the amount of the original authorized amount to be captured. The authorization is updated with the `ClearedAmount` (amount that was successfully captured) and the `ClearedCount` (count of successful split capture transactions).

#### Transaction Incoming Fields (Specific to Split Capture Transactions) <a href="#splitcapture-transactionincomingfields-specifictosplitcapturetransactions" id="splitcapture-transactionincomingfields-specifictosplitcapturetransactions"></a>

Reference number of the authonly transaction.

| **Field**  | **Value**                                     |
| ---------- | --------------------------------------------- |
| `xCommand` | `cc:splitcapture`                             |
| `xRefnum`  | Reference number of the authonly transaction. |
| `xAmount`  | Amount to be split captured                   |

## **Follow Up Transactions** <a href="#splitcapture-followuptransactions" id="splitcapture-followuptransactions"></a>

### Closing an AuthOnly Transaction <a href="#splitcapture-closinganauthonlytransaction" id="splitcapture-closinganauthonlytransaction"></a>

The user has the option to close an authonly transaction so that additional transactions cannot be processed for the authorization.

Once the auth has been closed:

* The status of the auth would be set to `AuthCloseTransaction`.
* In the transaction details of the auth, canceled would be set to `true`.
* An auth that was already closed would be blocked.
  * "Auth can no longer be closed"
* A voided auth would be blocked.
  * "Cannot close voided auth"
* Additional split captures would be blocked.
* Voids and refunds on the auth would be blocked.
  * Void: "Authorization was closed and can no longer be voided."
  * Refund: "Refund not allowed. Issue refund on split capture transaction."

| **Field**  | **Value**                                     |
| ---------- | --------------------------------------------- |
| `xCommand` | `cc:authclose`                                |
| `xRefnum`  | Reference number of the authonly transaction. |

The close command should only be used to close an authorization that has already been split captured. If a merchant wants to close an authorization that has not been split captured yet, the authorization should be voided.

### Voids <a href="#splitcapture-voids" id="splitcapture-voids"></a>

* An auth can not be voided/voidrefunded if it was split captured or closed.
  * "Authorization was split captured. Issue refund on split capture transaction."
* A split capture transaction can not be voided.
  * “Split capture cannot be voided. Issue refund."

### Refunds <a href="#splitcapture-refunds" id="splitcapture-refunds"></a>

* Refunding an authonly transaction:
  * If the authonly was not captured/split captured or closed, refund would be blocked.
    * “Refund not allowed on non-captured auth. Issue void.”
  * Once the authonly has been split captured, refund would be blocked.
    * &#x20;“Refund not allowed. Issue refund on split capture transaction.”
* Refunding a split capture transaction:

**VoidRefund**

* AuthOnly Transaction
  * If transaction has not been split captured, it will be processed as a void.
  * If transaction has been split captured, this will be blocked.
* Split Capture Transaction
  * Transaction will be processed as a refund.

## **Reporting** <a href="#splitcapture-reporting" id="splitcapture-reporting"></a>

The following fields can be requested on all standard report types. See [here](https://docs.solapayments.com/api/reporting#reporting-fields) for more reportable fields.

| **Field**            | **Value**                                                     |
| -------------------- | ------------------------------------------------------------- |
| `xClearedCount`      | Count of cleared split capture transactions on original auth. |
| `xClearedAmount`     | Amount that has been split captured on original auth.         |
| `xIsSplitCapturable` | Specifies whether or not the auth can be split captured.      |

`Report:auth` will only display authorizations that have not been closed. It *will* display authorizations that have been split captured.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.solapayments.com/products/split-capture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
