---
title: "CompletePayment"
method: POST
path: "/v2/payments/{payment_id}/complete"
tags: ["Payments"]
---

# CompletePayment

`POST /v2/payments/{payment_id}/complete`

Completes (captures) a payment.
By default, payments are set to complete immediately after they are created.

You can use this endpoint to complete a payment with the APPROVED `status`.

## Path parameters

- `payment_id` string, required

## Response `200`

Success

- CompletePaymentResponse — Defines the response returned by[CompletePayment](https://developer.squareup.com/reference/square_2021-08-18/payments-api/complete-payment).
  - `errors` Error[] — Information about errors encountered during the request.
    - `category` string, required — The high-level category for the error.
    - `code` string, required — The specific code of the error.
    - `detail` string — A human-readable description of the error for debugging purposes.
    - `field` string — The name of the field provided in the original request (if any) that the error pertains to.
  - `payment` Payment — Represents a payment processed by the Square API.
    - `amount_money` Money — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
      - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
      - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
    - `app_fee_money` Money — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
      - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
      - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
    - `approved_money` Money — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
      - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
      - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
    - `bank_account_details` BankAccountPaymentDetails — Additional details about BANK_ACCOUNT type payments.
      - `account_ownership_type` string — The ownership type of the bank account performing the transfer. The type can be `INDIVIDUAL`, `COMPANY`, or `UNKNOWN`.
      - `ach_details` ACHDetails — ACH-specific details about `BANK_ACCOUNT` type payments with the `transfer_type` of `ACH`.
        - `account_number_suffix` string — The last few digits of the bank account number.
        - `account_type` string — The type of the bank account performing the transfer. The account type can be `CHECKING`, `SAVINGS`, or `UNKNOWN`.
        - `routing_number` string — The routing number for the bank account.
      - `bank_name` string — The name of the bank associated with the bank account.
      - `country` string — The two-letter ISO code representing the country the bank account is located in.
      - `errors` Error[] — Information about errors encountered during the request.
        - `category` string, required — The high-level category for the error.
        - `code` string, required — The specific code of the error.
        - `detail` string — A human-readable description of the error for debugging purposes.
        - `field` string — The name of the field provided in the original request (if any) that the error pertains to.
      - `fingerprint` string — Uniquely identifies the bank account for this seller and can be used to determine if payments are from the same bank account.
      - `statement_description` string — The statement description as sent to the bank.
      - `transfer_type` string — The type of the bank transfer. The type can be `ACH` or `UNKNOWN`.
    - `billing_address` Address — Represents a postal address in a country. The address format is based on an [open-source library from Google](https://github.com/google/libaddressinput). For more information, see [AddressValidationMetadata](https://github.com/google/libaddressinput/wiki/AddressValidationMetadata). This format has dedicated fields for four address components: postal code, locality (city), administrative district (state, prefecture, or province), and sublocality (town or village). These components have dedicated fields in the `Address` object because software sometimes behaves differently based on them. For example, sales tax software may charge different amounts of sales tax based on the postal code, and some software is only available in certain states due to compliance reasons. For the remaining address components, the `Address` type provides the `address_line_1` and `address_line_2` fields for free-form data entry. These fields are free-form because the remaining address components have too many variations around the world and typical software does not parse these components. These fields enable users to enter anything they want. Note that, in the current implementation, all other `Address` type fields are blank. These include `address_line_3`, `sublocality_2`, `sublocality_3`, `administrative_district_level_2`, `administrative_district_level_3`, `first_name`, `last_name`, and `organization`. When it comes to localization, the seller's language preferences (see [Language preferences](https://developer.squareup.com/docs/locations-api#location-specific-and-seller-level-language-preferences)) are ignored for addresses. Even though Square products (such as Square Point of Sale and the Seller Dashboard) mostly use a seller's language preference in communication, when it comes to addresses, they will use English for a US address, Japanese for an address in Japan, and so on.
      - `address_line_1` string — The first line of the address. Fields that start with `address_line` provide the address's most specific details, like street number, street name, and building name. They do *not* provide less specific details like city, state/province, or country (these details are provided in other fields).
      - `address_line_2` string — The second line of the address, if any.
      - `address_line_3` string — The third line of the address, if any.
      - `administrative_district_level_1` string — A civil entity within the address's country. In the US, this is the state.
      - `administrative_district_level_2` string — A civil entity within the address's `administrative_district_level_1`. In the US, this is the county.
      - `administrative_district_level_3` string — A civil entity within the address's `administrative_district_level_2`, if any.
      - `country` string — The address's country, in ISO 3166-1-alpha-2 format.
      - `first_name` string — Optional first name when it's representing recipient.
      - `last_name` string — Optional last name when it's representing recipient.
      - `locality` string — The city or town of the address.
      - `organization` string — Optional organization name when it's representing recipient.
      - `postal_code` string — The address's postal code.
      - `sublocality` string — A civil region within the address's `locality`, if any.
      - `sublocality_2` string — A civil region within the address's `sublocality`, if any.
      - `sublocality_3` string — A civil region within the address's `sublocality_2`, if any.
    - `buyer_email_address` string — The buyer's email address.
    - `capabilities` string[] — Actions that can be performed on this payment: - `EDIT_AMOUNT_UP` - The payment amount can be edited up. - `EDIT_AMOUNT_DOWN` - The payment amount can be edited down. - `EDIT_TIP_AMOUNT_UP` - The tip amount can be edited up. - `EDIT_TIP_AMOUNT_DOWN` - The tip amount can be edited down.
    - `card_details` CardPaymentDetails — Reflects the current status of a card payment. Contains only non-confidential information.
      - `application_cryptogram` string — For EMV payments, the cryptogram generated for the payment.
      - `application_identifier` string — For EMV payments, the application ID identifies the EMV application used for the payment.
      - `application_name` string — For EMV payments, the human-readable name of the EMV application used for the payment.
      - `auth_result_code` string — The status code returned by the card issuer that describes the payment's authorization status.
      - `avs_status` string — The status code returned from the Address Verification System (AVS) check. The code can be `AVS_ACCEPTED`, `AVS_REJECTED`, or `AVS_NOT_CHECKED`.
      - `card` Card — Represents the payment details of a card to be used for payments. These details are determined by the payment token generated by Web Payments SDK.
        - `billing_address` Address — Represents a postal address in a country. The address format is based on an [open-source library from Google](https://github.com/google/libaddressinput). For more information, see [AddressValidationMetadata](https://github.com/google/libaddressinput/wiki/AddressValidationMetadata). This format has dedicated fields for four address components: postal code, locality (city), administrative district (state, prefecture, or province), and sublocality (town or village). These components have dedicated fields in the `Address` object because software sometimes behaves differently based on them. For example, sales tax software may charge different amounts of sales tax based on the postal code, and some software is only available in certain states due to compliance reasons. For the remaining address components, the `Address` type provides the `address_line_1` and `address_line_2` fields for free-form data entry. These fields are free-form because the remaining address components have too many variations around the world and typical software does not parse these components. These fields enable users to enter anything they want. Note that, in the current implementation, all other `Address` type fields are blank. These include `address_line_3`, `sublocality_2`, `sublocality_3`, `administrative_district_level_2`, `administrative_district_level_3`, `first_name`, `last_name`, and `organization`. When it comes to localization, the seller's language preferences (see [Language preferences](https://developer.squareup.com/docs/locations-api#location-specific-and-seller-level-language-preferences)) are ignored for addresses. Even though Square products (such as Square Point of Sale and the Seller Dashboard) mostly use a seller's language preference in communication, when it comes to addresses, they will use English for a US address, Japanese for an address in Japan, and so on.
          - `address_line_1` string — The first line of the address. Fields that start with `address_line` provide the address's most specific details, like street number, street name, and building name. They do *not* provide less specific details like city, state/province, or country (these details are provided in other fields).
          - `address_line_2` string — The second line of the address, if any.
          - `address_line_3` string — The third line of the address, if any.
          - `administrative_district_level_1` string — A civil entity within the address's country. In the US, this is the state.
          - `administrative_district_level_2` string — A civil entity within the address's `administrative_district_level_1`. In the US, this is the county.
          - `administrative_district_level_3` string — A civil entity within the address's `administrative_district_level_2`, if any.
          - `country` string — The address's country, in ISO 3166-1-alpha-2 format.
          - `first_name` string — Optional first name when it's representing recipient.
          - `last_name` string — Optional last name when it's representing recipient.
          - `locality` string — The city or town of the address.
          - `organization` string — Optional organization name when it's representing recipient.
          - `postal_code` string — The address's postal code.
          - `sublocality` string — A civil region within the address's `locality`, if any.
          - `sublocality_2` string — A civil region within the address's `sublocality`, if any.
          - `sublocality_3` string — A civil region within the address's `sublocality_2`, if any.
        - `bin` string — The first six digits of the card number, known as the Bank Identification Number (BIN). Only the Payments API returns this field.
        - `card_brand` string — The card's brand.
        - `card_type` string — The type of the card. The Card object includes this field only in response to Payments API calls.
        - `cardholder_name` string — The name of the cardholder.
        - `customer_id` string — The ID of a customer created using the Customers API to be associated with the card.
        - `enabled` boolean — Indicates whether or not a card can be used for payments.
        - `exp_month` integer — The expiration month of the associated card as an integer between 1 and 12.
        - `exp_year` integer — The four-digit year of the card's expiration date.
        - `fingerprint` string — __Not currently set.__ Intended as a Square-assigned identifier, based on the card number, to identify the card across multiple locations within a single application.
        - `id` string — Unique ID for this card. Generated by Square.
        - `last_4` string — The last 4 digits of the card number.
        - `prepaid_type` string — Indicates whether the Card is prepaid or not. The Card object includes this field only in response to Payments API calls.
        - `reference_id` string — An optional user-defined reference ID that associates this card with another entity in an external system. For example, a customer ID from an external customer management system.
        - `version` integer — Current version number of the card. Increments with each card update. Requests to update an existing Card object will be rejected unless the version in the request matches the current version for the Card.
      - `card_payment_timeline` CardPaymentTimeline — The timeline for card payments.
        - `authorized_at` string — The timestamp when the payment was authorized, in RFC 3339 format.
        - `captured_at` string — The timestamp when the payment was captured, in RFC 3339 format.
        - `voided_at` string — The timestamp when the payment was voided, in RFC 3339 format.
      - `cvv_status` string — The status code returned from the Card Verification Value (CVV) check. The code can be `CVV_ACCEPTED`, `CVV_REJECTED`, or `CVV_NOT_CHECKED`.
      - `device_details` DeviceDetails — Details about the device that took the payment.
        - `device_id` string — The Square-issued ID of the device.
        - `device_installation_id` string — The Square-issued installation ID for the device.
        - `device_name` string — The name of the device set by the seller.
      - `entry_method` string — The method used to enter the card's details for the payment. The method can be `KEYED`, `SWIPED`, `EMV`, `ON_FILE`, or `CONTACTLESS`.
      - `errors` Error[] — Information about errors encountered during the request.
        - `category` string, required — The high-level category for the error.
        - `code` string, required — The specific code of the error.
        - `detail` string — A human-readable description of the error for debugging purposes.
        - `field` string — The name of the field provided in the original request (if any) that the error pertains to.
      - `refund_requires_card_presence` boolean — Whether the card must be physically present for the payment to be refunded. If set to `true`, the card must be present.
      - `statement_description` string — The statement description sent to the card networks. Note: The actual statement description varies and is likely to be truncated and appended with additional information on a per issuer basis.
      - `status` string — The card payment's current state. The state can be AUTHORIZED, CAPTURED, VOIDED, or FAILED.
      - `verification_method` string — For EMV payments, the method used to verify the cardholder's identity. The method can be `PIN`, `SIGNATURE`, `PIN_AND_SIGNATURE`, `ON_DEVICE`, or `NONE`.
      - `verification_results` string — For EMV payments, the results of the cardholder verification. The result can be `SUCCESS`, `FAILURE`, or `UNKNOWN`.
    - `cash_details` CashPaymentDetails — Stores details about a cash payment. Contains only non-confidential information. For more information, see [Take Cash Payments](https://developer.squareup.com/docs/payments-api/take-payments/cash-payments).
      - `buyer_supplied_money` Money, required — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
        - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
        - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
      - `change_back_money` Money — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
        - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
        - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
    - `created_at` string — The timestamp of when the payment was created, in RFC 3339 format.
    - `customer_id` string — The [Customer](https://developer.squareup.com/reference/square_2021-08-18/objects/Customer) ID of the customer associated with the payment.
    - `delay_action` string — The action to be applied to the payment when the `delay_duration` has elapsed. This field is read-only. Current values include `CANCEL`.
    - `delay_duration` string — The duration of time after the payment's creation when Square automatically applies the `delay_action` to the payment. This automatic `delay_action` applies only to payments that do not reach a terminal state (COMPLETED, CANCELED, or FAILED) before the `delay_duration` time period. This field is specified as a time duration, in RFC 3339 format. Notes: This feature is only supported for card payments. Default: - Card-present payments: "PT36H" (36 hours) from the creation time. - Card-not-present payments: "P7D" (7 days) from the creation time.
    - `delayed_until` string — The read-only timestamp of when the `delay_action` is automatically applied, in RFC 3339 format. Note that this field is calculated by summing the payment's `delay_duration` and `created_at` fields. The `created_at` field is generated by Square and might not exactly match the time on your local machine.
    - `employee_id` string — An optional ID of the employee associated with taking the payment.
    - `external_details` ExternalPaymentDetails — Stores details about an external payment. Contains only non-confidential information. For more information, see [Take External Payments](https://developer.squareup.com/docs/payments-api/take-payments/external-payments).
      - `source` string, required — A description of the external payment source. For example, "Food Delivery Service".
      - `source_fee_money` Money — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
        - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
        - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
      - `source_id` string — An ID to associate the payment to its originating source.
      - `type` string, required — The type of external payment the seller received. It can be one of the following: - CHECK - Paid using a physical check. - BANK_TRANSFER - Paid using external bank transfer. - OTHER\_GIFT\_CARD - Paid using a non-Square gift card. - CRYPTO - Paid using a crypto currency. - SQUARE_CASH - Paid using Square Cash App. - SOCIAL - Paid using peer-to-peer payment applications. - EXTERNAL - A third-party application gathered this payment outside of Square. - EMONEY - Paid using an E-money provider. - CARD - A credit or debit card that Square does not support. - STORED_BALANCE - Use for house accounts, store credit, and so forth. - FOOD_VOUCHER - Restaurant voucher provided by employers to employees to pay for meals - OTHER - A type not listed here.
    - `id` string — A unique ID for the payment.
    - `location_id` string — The ID of the location associated with the payment.
    - `note` string — An optional note to include when creating a payment.
    - `order_id` string — The ID of the order associated with the payment.
    - `processing_fee` ProcessingFee[] — The processing fees and fee adjustments assessed by Square for this payment.
      - `amount_money` Money — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
        - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
        - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
      - `effective_at` string — The timestamp of when the fee takes effect, in RFC 3339 format.
      - `type` string — The type of fee assessed or adjusted. The fee type can be `INITIAL` or `ADJUSTMENT`.
    - `receipt_number` string — The payment's receipt number. The field is missing if a payment is canceled.
    - `receipt_url` string — The URL for the payment's receipt. The field is only populated for COMPLETED payments.
    - `reference_id` string — An optional ID that associates the payment with an entity in another system.
    - `refund_ids` string[] — A list of `refund_id`s identifying refunds for the payment.
    - `refunded_money` Money — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
      - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
      - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
    - `risk_evaluation` RiskEvaluation — Represents fraud risk information for the associated payment. When you take a payment through Square's Payments API (using the `CreatePayment` endpoint), Square evaluates it and assigns a risk level to the payment. Sellers can use this information to determine the course of action (for example, provide the goods/services or refund the payment).
      - `created_at` string — The timestamp when payment risk was evaluated, in RFC 3339 format.
      - `risk_level` string — The risk level associated with the payment
    - `shipping_address` Address — Represents a postal address in a country. The address format is based on an [open-source library from Google](https://github.com/google/libaddressinput). For more information, see [AddressValidationMetadata](https://github.com/google/libaddressinput/wiki/AddressValidationMetadata). This format has dedicated fields for four address components: postal code, locality (city), administrative district (state, prefecture, or province), and sublocality (town or village). These components have dedicated fields in the `Address` object because software sometimes behaves differently based on them. For example, sales tax software may charge different amounts of sales tax based on the postal code, and some software is only available in certain states due to compliance reasons. For the remaining address components, the `Address` type provides the `address_line_1` and `address_line_2` fields for free-form data entry. These fields are free-form because the remaining address components have too many variations around the world and typical software does not parse these components. These fields enable users to enter anything they want. Note that, in the current implementation, all other `Address` type fields are blank. These include `address_line_3`, `sublocality_2`, `sublocality_3`, `administrative_district_level_2`, `administrative_district_level_3`, `first_name`, `last_name`, and `organization`. When it comes to localization, the seller's language preferences (see [Language preferences](https://developer.squareup.com/docs/locations-api#location-specific-and-seller-level-language-preferences)) are ignored for addresses. Even though Square products (such as Square Point of Sale and the Seller Dashboard) mostly use a seller's language preference in communication, when it comes to addresses, they will use English for a US address, Japanese for an address in Japan, and so on.
      - `address_line_1` string — The first line of the address. Fields that start with `address_line` provide the address's most specific details, like street number, street name, and building name. They do *not* provide less specific details like city, state/province, or country (these details are provided in other fields).
      - `address_line_2` string — The second line of the address, if any.
      - `address_line_3` string — The third line of the address, if any.
      - `administrative_district_level_1` string — A civil entity within the address's country. In the US, this is the state.
      - `administrative_district_level_2` string — A civil entity within the address's `administrative_district_level_1`. In the US, this is the county.
      - `administrative_district_level_3` string — A civil entity within the address's `administrative_district_level_2`, if any.
      - `country` string — The address's country, in ISO 3166-1-alpha-2 format.
      - `first_name` string — Optional first name when it's representing recipient.
      - `last_name` string — Optional last name when it's representing recipient.
      - `locality` string — The city or town of the address.
      - `organization` string — Optional organization name when it's representing recipient.
      - `postal_code` string — The address's postal code.
      - `sublocality` string — A civil region within the address's `locality`, if any.
      - `sublocality_2` string — A civil region within the address's `sublocality`, if any.
      - `sublocality_3` string — A civil region within the address's `sublocality_2`, if any.
    - `source_type` string — The source type for this payment. Current values include `CARD`, `BANK_ACCOUNT`, `WALLET`, `CASH`, or `EXTERNAL`.
    - `statement_description_identifier` string — Additional payment information that gets added to the customer's card statement as part of the statement description. Note that the `statement_description_identifier` might get truncated on the statement description to fit the required information including the Square identifier (SQ *) and the name of the seller taking the payment.
    - `status` string — Indicates whether the payment is APPROVED, PENDING, COMPLETED, CANCELED, or FAILED.
    - `tip_money` Money — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
      - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
      - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
    - `total_money` Money — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
      - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
      - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
    - `updated_at` string — The timestamp of when the payment was last updated, in RFC 3339 format.
    - `version_token` string — Used for optimistic concurrency. This opaque token identifies a specific version of the `Payment` object.
    - `wallet_details` DigitalWalletDetails — Additional details about `WALLET` type payments. Contains only non-confidential information.
      - `status` string — The status of the `WALLET` payment. The status can be `AUTHORIZED`, `CAPTURED`, `VOIDED`, or `FAILED`.

---

[API](https://skmtc.net/square/apis/squareup.md) · [All operations](https://skmtc.net/square/apis/squareup/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/square/squareup/versions/8d95e3639487/schema)
