---
title: "Capture"
method: POST
path: "/v5/payments/{payment_id}/capture"
tags: ["Payments"]
---

# Capture

`POST /v5/payments/{payment_id}/capture`

## Request

- Base URL: `https://sandbox.nmi.com/api`
- URL: `https://sandbox.nmi.com/api/v5/payments/{payment_id}/capture`
- Auth: API key in header `Authorization`

Capture a previously authorized payment.

## Path parameters

- `payment_id` string, required

## Request body

- PaymentCaptureRequest
  - `amount` number, required: Total amount to be settled. This amount must be equal to or less than the original authorized amount. Format: `x.xx`
  - `tracking_number` string: Shipping tracking number
  - `shipping_address` ShippingAddressRest: Shipping address and information
    - `id` string: Shipping address ID (max 32 characters). Generated if omitted on create.
    - `first_name` string: Shipping first name
    - `last_name` string: Shipping last name
    - `company` string: Shipping company
    - `address1` string: Shipping address
    - `address2` string: Shipping address, line 2
    - `city` string: Shipping city
    - `state` string: Shipping state.
    - `zip` string: Shipping zip code
    - `country` string: ISO 3166-1 alpha-2 country code. Example: `US`
    - `email` string, email: Shipping email address
    - `carrier` 'ups' | 'fedex' | 'dhl' | 'usps': Shipping carrier
  - `order_details` OrderDetailsRest: Order details and line items
    - `template_id` string: Order template ID
    - `description` string: Order description
    - `id` string: Order ID (for payment requests)
    - `order_id` string: Order ID (for invoice requests and responses)
    - `customer_id` string: Customer ID (invoice-specific)
    - `customer_tax_id` string: Customer tax ID (invoice-specific)
    - `tax` number: Tax amount
    - `shipping` number: Shipping amount
    - `po_number` string: Purchase order number (maxLength 50 for payments, 255 for invoices)
    - `shipping_postal_code` string: Shipping postal code
    - `ship_from_postal_code` string: Ship from postal code
    - `summary_commodity_code` string: Summary commodity code
    - `duty_amount` number: Duty amount
    - `discount_amount` number: Discount amount
    - `national_tax_amount` number: National tax amount
    - `alternate_tax_amount` number: Alternate tax amount
    - `alternate_tax_id` string: Alternate tax ID
    - `vat_tax_amount` number: VAT tax amount
    - `vat_tax_rate` number: VAT tax rate
    - `vat_invoice_reference_number` string: VAT invoice reference number
    - `customer_vat_registration` string: Customer VAT registration
    - `merchant_vat_registration` string: Merchant VAT registration
    - `order_date` string, date: Order date
    - `order_description` string: Order description (maxLength 255 for both payments and invoices)
    - `ip_address` string: IP address of cardholder (IPv4 or IPv6). Format validated as IP address
    - `line_items` LineItem[]
      - `product_code` string: Product code
      - `description` string: Line item description
      - `commodity_code` string: Commodity code
      - `unit_of_measure` string: Unit of measure
      - `unit_cost` number: Unit cost
      - `quantity` integer: Quantity
      - `total_amount` number: Total amount
      - `tax_amount` number: Tax amount
      - `tax_rate` number: Tax rate
      - `discount_amount` number: Discount amount
      - `discount_rate` number: Discount rate
      - `tax_type` string: Tax type
      - `alternate_tax_id` string: Alternate tax ID
  - `signature_image` string: Base64 encoded signature image

## Response `200`

Success

- TransactionResponse: Generic payment response
  - `object` 'transaction', required: Resource type identifier
  - `id` string, required: Payment ID
  - `type` string: Customer's payment type (e.g., 'cc', 'ck', 'cs')
  - `amount` string: Payment amount. Format: `x.xx`
  - `currency` string: Payment currency (ISO 4217)
  - `auth_code` string: Authorization code
  - `avs_response` string: Address Verification Service response code
  - `cvv_response` string: Card Verification Value response
  - `customer_vault_id` string: Customer vault ID associated with the payment
  - `status` string: Payment status
  - `response` '1' | '2' | '3': Response code: 1 = approved, 2 = declined, 3 = error
  - `response_text` string: Textual description of the operation's result
  - `response_code` string: Processor response code
  - `processor_id` string: Processor ID used for the payment
  - `created_date` string, date-time: Payment creation date in UTC ISO 8601 format
  - `updated_date` string, date-time: Payment last update date in UTC ISO 8601 format
  - `signature_image` string: Base64 encoded cardholder signature image. Omitted when no signature was captured. Returned on get and list when the payment was loaded with signature data.
  - `merchant_defined_fields` MerchantDefinedFields: Custom fields configured in the merchant control panel under Settings → Merchant Defined Fields (`field_1` through `field_20`).
    - `field_1` string: Merchant defined field 1
    - `field_2` string: Merchant defined field 2
    - `field_3` string: Merchant defined field 3
    - `field_4` string: Merchant defined field 4
    - `field_5` string: Merchant defined field 5
    - `field_6` string: Merchant defined field 6
    - `field_7` string: Merchant defined field 7
    - `field_8` string: Merchant defined field 8
    - `field_9` string: Merchant defined field 9
    - `field_10` string: Merchant defined field 10
    - `field_11` string: Merchant defined field 11
    - `field_12` string: Merchant defined field 12
    - `field_13` string: Merchant defined field 13
    - `field_14` string: Merchant defined field 14
    - `field_15` string: Merchant defined field 15
    - `field_16` string: Merchant defined field 16
    - `field_17` string: Merchant defined field 17
    - `field_18` string: Merchant defined field 18
    - `field_19` string: Merchant defined field 19
    - `field_20` string: Merchant defined field 20
  - `payment_details` object: Payment method details (card or check)
    - `card_number` string: Masked credit card number
    - `card_exp` string: Credit card expiration date. Format: `MMYY`
    - `card_hash` string: Card hash
    - `card_type` string: Card type (e.g., 'Visa', 'Mastercard')
    - `card_bin` string: Card BIN (Bank Identification Number)
    - `entry_mode` string: Entry mode
    - `cavv` string: Cardholder Authentication Verification Value
    - `cavv_result` string: CAVV result
    - `xid` string: Identifier for 3D Secure
    - `eci` string: Electronic Commerce Indicator
    - `card_start_date` string: Card start date. Format: `MMYY`
    - `card_issue_number` string: Card issue number
    - `cardholder_auth` string: Cardholder authentication
    - `check_account` string: Masked check account number
    - `check_aba` string: Bank routing number
    - `check_name` string: Name on the check
    - `account_type` 'checking' | 'savings': Account type
    - `account_holder_type` 'personal' | 'business': Account holder type
    - `sec_code` 'PPD' | 'WEB' | 'TEL' | 'CCD' | 'POP' | 'RCK': Standard Entry Class code
  - `billing_address` object: Billing address information
    - `first_name` string: First name
    - `last_name` string: Last name
    - `company` string: Company name
    - `address1` string: Address line 1
    - `address2` string: Address line 2
    - `city` string: City
    - `state` string: State or province
    - `zip` string: ZIP or postal code
    - `country` string: Country code (ISO 3166-1 alpha-2)
    - `phone` string: Phone number
    - `cell_phone` string: Cell phone number
    - `email` string, email: Email address
    - `fax` string: Fax number
  - `shipping_address` object: Shipping address information
    - `first_name` string: First name
    - `last_name` string: Last name
    - `company` string: Company name
    - `address1` string: Address line 1
    - `address2` string: Address line 2
    - `city` string: City
    - `state` string: State or province
    - `zip` string: ZIP or postal code
    - `country` string: Country code (ISO 3166-1 alpha-2)
    - `email` string, email: Email address
    - `phone` string: Phone number
    - `fax` string: Fax number
  - `order_details` object: Order details
    - `order_id` string: Order ID
    - `ip_address` string: IP address of cardholder
    - `order_description` string: Order description
    - `customer_id` string: Customer ID
    - `customer_tax_id` string: Customer tax ID
    - `tax` string: Tax amount. Format: `x.xx`
    - `shipping` string: Shipping amount. Format: `x.xx`
    - `discount_amount` string: Discount amount. Format: `x.xx`
    - `surcharge` string: Surcharge amount. Format: `x.xx`
    - `tip` string: Tip amount. Format: `x.xx`
    - `po_number` string: Purchase order number
    - `shipping_carrier` string: Shipping carrier
    - `tracking_number` string: Tracking number
    - `shipping_date` string, date-time: Shipping date in UTC ISO 8601 format
  - `actions` object[]: Array of actions for the payment
    - `id` string: Action ID
    - `type` string: Action type
    - `amount` string: Action amount. Format: `x.xx`
    - `success` boolean: Whether the action was successful
    - `response` '1' | '2' | '3': Response code: 1 = approved, 2 = declined, 3 = error
    - `response_text` string: Response text
    - `response_code` string: Response code
    - `auth_code` string: Authorization code
    - `avs_response` string: AVS response
    - `cvv_response` string: CVV response
    - `processor_id` string: Processor ID
    - `ip_address` string: IP address
    - `user_id` string: User ID who performed the action
    - `date` string, date-time: Action date in UTC ISO 8601 format
    - `source` string: Source of the action

## Other responses

- `400`: Bad Request - Validation Error
- `401`: Unauthorized

---

[API](https://skmtc.dev/nmi/apis/payments-api.md) - [All operations](https://skmtc.dev/nmi/apis/payments-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nmi/apis/payments-api/revisions/c03727f27e27?raw)
