---
title: "Capture a Hold"
method: POST
path: "/v1/holds/{id}/capture"
---

# Capture a Hold

`POST /v1/holds/{id}/capture`

Capture the funds of an existing, uncaptured, Hold. 

This is the second half of the two-step payment flow, where first a Hold was created with the `/holds` API or with a Payment Session (`capture` flag set to `false`).

The API will create a Charge from the referenced Hold and response with the created Charge information.

## Request body

- object
  - `amount_to_capture` string — The amount to capture from the Hold in minor units. Amount must be less than or equal to the original amount of the Hold. The field is optional and if not provided will default to the entire Hold.
  - `reference` string — A unique string to reference the Charge created from the Hold. Can be used to reconcile the object with your internal systems.
  - `metadata` Metadata

## Response `200`

Example response

- Charge
  - `id` string — Unique identifier for Charge object.
  - `resource` string — String representing the resource type.
  - `amount` integer — Amount recieved, in minor units.
  - `amount_human_readable` string — Amount in human readable format.
  - `amount_refunded` integer — Amount refunded out of the total amount received, in minor units.
  - `billing_details` BillingDetails — Billing information associated with the customer at the time of the session.
    - `address` Address
      - `city` string — City, district, suburb, town, or village.
      - `country` string — Two-letter country code (ISO 3166-1 alpha-2).
      - `line1` string — Address line 1 (e.g., street, PO Box, or company name).
      - `line2` string — Address line 2 (e.g., apartment, suite, unit, or building).
      - `postal_code` string — ZIP or postal code.
      - `state` string — State, county, province, or region.
    - `name` string — Full name.
    - `email` string, email — Email address.
    - `phone` string — Billing phone number.
  - `calculated_statement_descriptor` string — The full statement descriptor that is displayed on your customers’ bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined.
  - `created` string — Time at which the resource was created. ISO String format.
  - `currency` string — Three-letter ISO currency code, in lowercase.
  - `customer` string — ID of the customer this Charge is for if one exists.
  - `customer_reference_id` string — A unique identifier for your customer, This is a customer ID that identifies the customer that the Charge belongs to.
  - `description` string — A string attached to the resource. Often useful for displaying to users.
  - `disputed` boolean — Indicates whether the charge was disputed.
  - `failure_code` string
  - `failure_message` string
  - `metadata` object — Set of key-value pairs that you can attach to the resource.
  - `paid` boolean — Indicates whether the charge was setteled and paid to your bank account.
  - `payment_session` string — ID of the Payment Session the Charge was created from if exists.
  - `hold` string — ID of the Hold the Charge was created from if exists.
  - `payment_method` string — ID of the Payment Method used for the Charge.
  - `payment_method_details` PaymentMethodDetails
    - `type` string — The type of payment method.
    - `card` object — If this is a card payment, this object contains info card payment method used for the payment.
      - `bin` string — The bin of the card.
      - `brand` string — The brand of the card.
      - `country` string — Two-letter ISO code representing the country of the card.
      - `exp_month` string — Two-digit string representing the card’s expiration month.
      - `exp_year` string — Four-digit string representing the card’s expiration year.
      - `fingerprint` string — Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number.
      - `funding` string — Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
      - `last4` string — The last four digits of the card.
      - `network` string — Identifies which network this payment was processed on.
      - `token` string — A token that identifies the payment method in Pay.com's Tokenization Vault.
      - `security_checks` object — Result of security checks that ran on the card.
        - `address_line1_check` string
        - `address_postal_code_check` string
        - `cvc_check` string
      - `three_d_secure` object — Populated if this payment used 3D Secure authentication.
        - `authentication_flow` string — For authenticated transactions: how the customer was authenticated by the issuing bank.
        - `result` string — Indicates the outcome of 3D Secure authentication.
        - `result_reason` string — Additional information about why 3D Secure succeeded or failed based on the result.
        - `version` string — The version of 3D Secure that was used.
        - `eci` string — ECI Indicator from the 3D Secure authetication.
      - `wallet` object
        - `type` 'google_pay' | 'apple_pay'
  - `payment_method_options` PaymentMethodOptions
    - `card` PaymentMethodOptionsCard
      - `accepted_card_brands` string[] — List of card brands to accept for this payment
      - `accepted_card_categories` string[] — List of card categories to accept for this payment
      - `accepted_card_funding` string[] — List of card funding to accept for this payment
      - `accepted_card_jurisdictions` string[] — List of payment jurisdictions to accept for this payment
      - `duplicate_card_check` boolean — Whether to perform a duplicate card check and bblock (same card on more than 1 customer)
      - `enforce_customer_name_as_cardholder_name` boolean — Whether to enforce the customer name as the card holder name
      - `security_checks` PaymentMethodOptionsCardSecurityChecks
        - `address_line1_check` boolean — Indicats whether the AVS check for address line 1 should be performed
        - `address_postal_code_check` boolean — Indicats whether the AVS check for postal code should be performed
        - `cvv_check` boolean — Indicats whether CVV check should be performed
      - `request_threed_secure` 'none' | 'automatic' | 'challenge' | 'exemption' — Control the 3DS flow for the payment
    - `us_bank_account` PaymentMethodOptionsUSBankAccount
      - `ach_payment_type` 'next_day' | 'same_day' | 'rtp' — The type of ACH payment
  - `refunded` boolean — Indicates whether the Charge was refunded, will only be `true` if the Charge was fully refunded.
  - `refunds` Refunds
    - `data` object[] — List of all the successful refunds created from the resource.
    - `url` string — URL where the resources can be accessed directly.
  - `reference` string — A unique string to reference the Charge that was entered while creating the resource. Can be used to reconcile the object with your internal systems.
  - `shipping` ShippingDetails — Shipping information for the payment.
    - `address` Address
      - `city` string — City, district, suburb, town, or village.
      - `country` string — Two-letter country code (ISO 3166-1 alpha-2).
      - `line1` string — Address line 1 (e.g., street, PO Box, or company name).
      - `line2` string — Address line 2 (e.g., apartment, suite, unit, or building).
      - `postal_code` string — ZIP or postal code.
      - `state` string — State, county, province, or region.
    - `name` string — Full name.
    - `phone` string — Recipient phone.
  - `statement_descriptor_suffix` string — Provides information about the payment that customers can see on their charge statements. Concatenated with the statement descriptor that’s set on the account during onboarding the complete statement descriptor, maximum of 22 characters for the concatenated descriptor.
  - `status` 'succeeded' | 'failed' | 'pending' | 'requires_authentication' | 'requires_confirmation' — Status of the Charge.

---

[API](https://skmtc.net/pay/apis/pay-com-api.md) · [All operations](https://skmtc.net/pay/apis/pay-com-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pay/pay-com-api/versions/53cd74fc31e3/schema)
