---
description: >-
  Capture a pre-authorized payment to initiate settlement. Supports full and
  partial capture.
---

# Capture

Capturing a payment confirms that it's ready for financial settlement. This transfers the authorized funds from the cardholder's account to your merchant account.

## Key Rules

- If not captured **within 7 days**, the authorization is **automatically voided** by the system
- Settlement timing begins from the **moment of capture**, not authorization
- A payment can only be captured **once** (but you can capture a partial amount)
- If the payment was created with `"capture": true`, it was already captured — attempting again returns an error
- If no amount is specified, the **full authorized amount** is captured

## Endpoint

```
POST https://sandbox-gw.simpleps.com/payments/{externalPaymentId}/capture
```

**Headers:**

| Header | Value |
|---|---|
| `Authorization` | `Bearer {accessToken}` |
| `Content-Type` | `application/json` |

## Request Body (Optional)

Omit the body to capture the full authorized amount. Include it for a partial capture:

```json
{
  "amount": {
    "total": 50.00,
    "currency": "USD"
  }
}
```

| Field | Type | Required | Description |
|---|---|---|---|
| `amount.total` | number | ❌ | Amount to capture (must be ≤ authorized amount) |
| `amount.currency` | string | ❌ | Currency code (must match the authorization) |

## Example — Full Capture

```bash
curl -X POST https://sandbox-gw.simpleps.com/payments/order-12345/capture \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...' \
  -H 'Content-Type: application/json'
```

## Example — Partial Capture

```bash
curl -X POST https://sandbox-gw.simpleps.com/payments/order-12345/capture \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...' \
  -H 'Content-Type: application/json' \
  -d '{
    "amount": {
      "total": 50.00,
      "currency": "USD"
    }
  }'
```

## Response (200)

```json
{
  "paymentId": "bfb9eacb-7c72-4cc8-9cae-afd9164ec792",
  "parentPaymentId": "bfb9eacb-7c72-4cc8-9cae-afd9164ec792",
  "externalPaymentId": "order-12345",
  "amount": 100.10,
  "created": "2024-04-22 16:22:06",
  "approved": true,
  "message": "Payment Approved",
  "automaticReversed": false,
  "status": "CAPTURED",
  "captured": true,
  "voided": false,
  "authCode": "bfb9eacb-7c72-4cc8-9cae-afd9164ec792",
  "issuerName": "BANK OF AMERICA",
  "issuerCountry": "US",
  "cvcResult": "APPROVED",
  "avsResult": "NOT_SENT"
}
```

For partial captures, the `status` will be `PARTIALLY_CAPTURED`.

## What's Next

- **Captured?** → You can now [refund](refund.md) the payment (full or partial)
- **Changed your mind?** → Only uncaptured payments can be [voided](void.md)
