Capture Payment
Use this endpoint to capture funds from a previously authorized payment. During an authorization flow, the payment gateway verifies the payment method and reserves funds on the shopper's account — but does not transfer them. Capturing completes the transaction by collecting those reserved funds.
You can capture payments for payment methods that follow an authorization flow (for example, Card and selected alternative payment methods). Availability and behavior depend on the configured acquirer and product setup.
Capture behavior follows product guidelines and the capabilities of the underlying acquirer.
When to Capture
Capture is required when a payment was created with:
{
"immediateCapture": false
}In this case:
- The payment is authorized
- Funds are reserved on the shopper’s account
- You must call the capture endpoint to collect the funds
If immediateCapture was set to true, no separate capture call is required.
Partial Manual Capture
Partial capture allows you to capture only part of the authorized amount.
The behavior depends on whether you perform a single partial capture or multiple partial captures.
Capture Types
| Type of Partial Capture | Description |
|---|---|
| Single partial capture | Any remaining authorized amount that is not captured is automatically cancelled. |
| Multiple partial captures | The remaining authorized amount is not automatically cancelled and can be captured later in additional capture requests. |
Single Partial Capture
When performing a single partial capture:
- You capture part of the authorized amount.
- The remaining unclaimed amount is automatically cancelled.
- The payment is considered fully processed after the capture.
This approach is typically used when:
- The final amount is known at the time of capture.
- Only one shipment or delivery occurs.
Multiple Partial Captures
When performing multiple partial captures:
- The remaining authorized amount stays open after the first capture.
- You may submit additional capture requests until the full authorized amount is captured.
- The payment transitions to
capturedonce the total captured amount equals the authorized amount.
This is commonly used in business models such as:
- Ecommerce shipments fulfilled in multiple batches
- Omnichannel scenarios (store pickup + warehouse shipment)
- Orders with items delivered separately
Availability of partial capture behavior depends on the underlying acquirer and card scheme rules.
Endpoint
POST /v1/{pspReference}/capture
- pspReference is the unique identifier returned when the payment session was created.
- The idempotency-key header is mandatory.
Full Capture
To capture the full remaining authorized amount, send the request without a body or leave the amountDetailsempty.
{
"reference": "Optional, for example: Goods delivered - partial shipment"
}Example
POST /v1/{pspReference}/capture
Partial Capture
To capture a partial amount, include an amountDetails object in the request body.
Example
{
"merchantId": "Aera Merchant ID",
"amountDetails": {
"amount": 5000,
"currency": "NOK"
},
"reference": "Optional, for example: Goods delivered - partial shipment",
"cancelRemainingReservation": true
}cancelRemainingReservation: Iftrue, any remaining authorized amount is cancelled after this capture. Set this for the final partial capture.
Field Reference
Path Parameter
| Field | Type | Required | Description |
|---|---|---|---|
pspReference | string (UUID v7) | Yes | Unique payment identifier returned when the checkout session was created. |
Request Headers
| Field | Type | Required | Description |
|---|---|---|---|
x-api-key | string | Yes | API key assigned by Aera. |
merchant-id | string | Yes | Merchant ID assigned by Aera. |
idempotency-key | string (UUID v7) | Yes | Unique identifier for this capture request. Required for safe retries. |
Authorization | string | Yes | Bearer <access token> |
Accept | string | Yes | application/vnd.payments.v1+json |
Content-Type | string | Yes | application/vnd.payments.v1+json |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
merchantId | string | Yes (for partial capture) | Merchant ID assigned by Aera. |
amountDetails | object | No | Required for partial capture. If omitted, the full remaining authorized amount is captured. |
reference | string | No | Optional free-text reference for the operation |
amountDetails
| Field | Type | Required | Description |
|---|---|---|---|
amount | integer | Yes (for partial capture) | Amount to capture in minor units. |
currency | string (ISO 4217) | Yes (for partial capture) | Currency code (e.g., NOK). |
Response
| Field | Type | Required | Description |
|---|---|---|---|
responseInfo | object | Yes | High-level processing result information. |
operationInfo | object | Yes | Information about the capture operation result. |
responseInfo
| Field | Type | Required | Description |
|---|---|---|---|
responseCode | string (3 digits) | Yes | Response code from a predefined list. |
responseText | string | Yes | Human-readable description of the result. |
operationInfo
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Operation type (CAPTURE). |
status | string | Yes | Operation status (e.g., SUCCESS, FAILED). |
capturedAmount | object | Yes | Amount successfully captured. |
capturedAmount
| Field | Type | Required | Description |
|---|---|---|---|
amount | integer | Yes | Captured amount in minor units. |
currency | string (ISO 4217) | Yes | Currency code. |
Updated 13 days ago