- Captures a transaction
POST {{baseURL}}/v2/transactions/{{transactionId}}/capture
This endpoint captures a transaction.
This captures a previously authorized transaction and settling it for the specified amount. It is used when a transaction was created with captureMethod of Manual. This allows merchants to delay settlement until fulfillment is confirmed. The captureAmount can be less than or equal to the original authorized amount to support partial captures.
If successful, this returns the full transaction object reflecting the updated status. A processor declining the transaction returns a 402 error.
This endpoint is Idempotent. See the idempotency-key header entry. For more information, see Idempotency.
This endpoint requires a merchant API token. A partner API token will result in a permissions error including possibly a 403 response.
See Also:
To list transactions, see GET /v2/transactions.
To retrieve a transaction by ID, see GET /v2/transactions/{transactionId}.
To create a new transaction, see POST /v2/transactions.
Specifies the client-generated idempotency-key.
This key is optional. We recommend using the key to prevent multiple invocations of the operation. This key makes this request safely retryable, or idempotent. If the idempotency key is not included, the call will not have idempotency protection.
A retry with the same key, made within the retention window, returns the original response verbatim. The operation is not repeated. The retention window, also called the TTL (time to live) is 1440 minutes (24 hours) by default but this setting may be changed.
A retry with the same key while the original request is still processing returns 409 Conflict (IdempotencyKeyInProgress). Retry again after a short delay.
Reusing the same key with a different request body returns 422 Unprocessable Content (IdempotencyKeyConflict). Generate a new key for each distinct operation.
A 500 series server error is not stored against the key. A retry with the same key after a 500 series response processes the request again.
Specifies an object defining the transaction.
If the request body is null or omitted, a full capture is included.
If baseAmount is included, a partial capture is made.
Specifies the amount to capture (in USD).
If null or omitted, the full authorized amount is captured.
If an amount is specified, a partial amount is captured.
This value must both:
- Be greater than zero
- Not exceed the remaining authorized amount.
Examples:
null
129.99
- Sandbox environmenthttps://sandbox.api.flute.com/v2/transactions/{transactionId}/capture
- Production environmenthttps://api.flute.com/v2/transactions/{transactionId}/capture
curl -i -X POST \
https://sandbox.api.flute.com/v2/transactions/487471b7-0149-44ed-840b-97d920e06829/capture \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-H 'idempotency-key: 6a1f7e2c-4b3d-4e5a-8f9c-1d2e3f4a5b6c' \
-d '{
"amount": 50
}'OK
Indicates the attached transaction identifier.
This value is available after processing.
Example: f01339ec-8184-48c7-b58d-0780d6499ef4
Indicates the date-time (in an ISO 8601 date-time format) of the transaction.
Example: 2026-05-05T14:30:42.938Z
Indicates the aggregated transaction status.
Valid values are:
| Status | Description |
|---|---|
| Authorized | Payment approved but funds not yet captured. |
| Cancelled | Transaction stopped before it completed. |
| Captured | Approved funds collected from the card. |
| ChargedBack | Cardholder disputed the charge with their bank. |
| Cleared | Funds finished processing and settled. |
| Declined | Payment rejected by the bank or processor. |
| Failed | Transaction could not complete due to an error. |
| Held | Transaction paused and awaiting release. |
| HeldByProcessor | Processor paused the transaction for review. |
| Informational | Record used for reference only, not a live charge. |
| InProgress | Transaction is still processing. |
| PartiallyAuthorized | Only part of the requested amount was approved. |
| Pending | Transaction is waiting for a result. |
| Refunded | Funds returned to the cardholder. |
| Scheduled | Transaction set to run at a future time. |
| Settled | Funds moved from issuer to the merchant account. |
| Verified | Card or account confirmed as valid. |
| Voided | Authorization canceled before capture. |
Example: Authorized
Identifies the type of the transaction.
Valid values are:
| Type | Explanation |
|---|---|
| AchCancel | Cancels a pending ACH transaction. |
| AchCredit | Sends funds to a bank account. |
| AchDebit | Pulls funds from a bank account. |
| AchHold | Holds an ACH transaction temporarily. |
| AchRefund | Returns funds from an ACH payment. |
| AchUnHold | Releases a held ACH transaction. |
| Authorization | Reserves funds for later capture. |
| Capture | Collects funds from an authorization. |
| CardAuthentication | Confirms cardholder identity before payment. |
| Refund | Returns funds from a transaction. |
| RefundWORef | Refunds a transaction without a reference. |
| Sale | Authorizes and captures funds together. |
| Settle | Submits a batch for final processing. |
| TipAdjustment | Changes the tip amount on a transaction. |
| Void | Cancels a transaction before settlement. |
Example: AchDebit
Indicates the type of the token.
Valid values are:
| Type | Meaning |
|---|---|
| Local | Tokenized and stored within Flute's own vault |
| Network | Tokenized through a card network, such as Visa or Mastercard, using their network tokenization services |
Example: Local
Identifies the payment method type.
Valid values are:
| Type | Description |
|---|---|
| ACH | Payment made through an ACH bank transfer. |
| Card | Payment made with a credit or debit card. |
| Cash | Payment made with physical currency. |
Example: Card
Indicates a reference identifier provided by the merchant.
This is included in the duplicate-check key. It allows the same card and amount combination to be charged multiple times when the reference identifiers are different.
Example: REF-EXT-12345
Indicates the original transaction identifier.
This value will be provided if the current transaction is a card refund.
Otherwise, it will be null or omitted.
Example: 4d5d19c0-7b8c-4d9e-0f1a-2b3c4d5e6f92
Indicates the transaction amount (in USD).
The value will be null until the transaction is completed.
Examples:
87.39 (for $87.39)
null
Indicates an object detailing the refund posture for a transaction that can be refunded.
This value is null on transactions that are themselves refunds or credits. Those cannot be refunded again.
Identifies the transaction's currency code (in uppercase ISO 4217 currency code).
Example: USD
Identifies the type of pricing.
This value is required only when Dual Pricing is enabled.
Valid values are:
| Status | Explanation |
|---|---|
| Card | The transaction uses the card price, which may include a surcharge. |
| Cash | The transaction uses the cash price, which may include a cash discount. |
Example: Card
Identifies the merchant identifier.
Example: 5611f824-48ef-4255-978d-91ce13953bbd
Identifies the payment processor.
Defaults to merchant's default processor.
Example: 76215e54-a85b-4d42-9553-163fe393cb02
Identifies the customer to link this payment method to.
This value may be null when this payment method is an orphan owned by the merchant directly. An orphan payment method is a payment method in the merchant's vault but has no customer record associated with it.
Example: 8fa8e727-73c6-436e-b56f-6f55aabf3b1c
Indicates the batch settlement identifier.
Example: 42df0a13-4bf4-48f8-929c-08a379c0a0d6
Identifies the tax charged on the transaction.
A checkout session or a payment link configures the tax. This object is null when the transaction carries no tax. It is also null when the only tax sent was a level 2 sales tax rate. A level 2 sales tax rate qualifies the transaction for interchange. The payer is not charged it.
This differs from the tax in the amount breakdown. The amount breakdown reports only a tax that raised the total. An Inclusive tax is already inside the base amount, so the amount breakdown reports it as 0.
Indicates the card details exposed on transaction responses.
These may be masked for sensitive fields or fully displayed for non-sensitive fields.
Indicates ACH account details exposed on transaction responses.
These may be masked for sensitive fields or fully displayed for non-sensitive fields.
Indicates an object detailing a declined or failed transaction. This value is null when the transaction was approved or is pending.
Indicates the AVS (address verification service) response for card payments.
Indicates an object detailing the chronological list of events that occurred for this transaction.
{ "transactionId": "1db9c80e-1265-49b9-b2ef-fbf92acf5d42", "transactionStatus": "Approved", "processedAmount": 100, "currencyCode": "USD", "amountDetails": { "baseAmount": 100, "tipAmount": 0, "surchargeAmount": 0, "discountAmount": 0 }, "processorResponse": { "processorName": "TSYS", "responseCode": "00", "responseMessage": "Approved", "responseDefinition": "Approved and completed" }, "responseDetails": null, "addressVerificationServiceResponse": null, "receipt": null }