> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tesouro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Increment an authorization

> Increase the amount of an existing uncaptured authorization for scenarios like tips, hotel sundry charges, or car rental adjustments.

An incremental authorization allows merchants to adjust the amount of an [authorization](/acquiring/reference/graphql/operations/authorizecustomerinitiatedtransaction) before it is captured.
Examples include adding a tip onto a restaurant bill, applying sundry charges to a hotel bill at the end of a guest's stay, and adjusting a car rental service bill upon
returning the rental.

<Tip type="when to use">
  **When to Use**

  <ul>
    <li>
      You need to increase the amount of a previously authorized transaction.
    </li>

    <li>
      The final cost of goods or services exceeds the original authorization
      amount.
    </li>

    <li>
      You have an existing uncaptured authorization and need to add additional
      charges.
    </li>
  </ul>
</Tip>

<Callout icon="clapperboard-play" color="#6938EF" type="scenario">
  **Scenario**

  Ben and his family check into a hotel for a 5 night/6 day vacation, billed at \$300 per night including tax. When they check in, Clearpath Payments
  [authorizes](/acquiring/reference/graphql/operations/authorizecustomerinitiatedtransaction) Ben's
  card for the anticipated total of \$1,500 on behalf of the hotel, but does not capture it right away. During their stay, Ben and his family eat at the hotel's numerous restaurants, have a spa day, and use the hotel laundry services, and each time charges the amount to the room.

  <br />

  At the end of the stay, Ben is presented a final hotel bill of \$2,500 showing the price of the room plus the \$1,000 spent during their stay.

  | Description                                         | Amount      |
  | --------------------------------------------------- | ----------- |
  | Room cost (\$300 a night x 5 nights, including tax) | \$1,500     |
  | Sundry items                                        |             |
  | - Restaurants & bar                                 | \$650       |
  | - Spa services                                      | \$300       |
  | - Laundry services                                  | \$50        |
  | **Total sundry items**                              | **\$1,000** |
  | **Total bill**                                      | **\$2,500** |

  Because the original authorization hasn't been captured, the hotel will submit an incremental authorization for the additional \$1,000 before capturing the full \$2,500.
</Callout>

### Steps

1. Retrieve the `paymentId` from the [original authorization](/acquiring/transaction-processing/authorize-customer-initiated-transaction) you need to increment. This is how we link the incremental authorization to its original authorization.

2. Call the [incrementAuthorization](/acquiring/reference/graphql/operations/incrementauthorization) mutation and pass in the required [inputs](/acquiring/reference/graphql/types/incrementauthorizationinput):

   | Required input             | Description                                                                                                                                                                                               |
   | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | `paymentId`                | The unique "payment ID" returned on the original, approved authorization, used to tie that transaction together with this incremental authorization.                                                      |
   | `acceptorID`               | The unique, 36 character identifier assigned to the entity providing the goods or services to the cardholder. Other processors may refer to this as the Merchant ID (MID), Outlet ID, or Customer number. |
   | `transactionReference`     | The unique transaction identifier created by YOU to distiniguish this transaction from another.                                                                                                           |
   | `transactionAmountDetails` | The transaction currency and incremental amount. <br /><br />Example: If the initial authorization was \$1,500 and you are incrementing it \$1,000 then input `totalAmount:1000.00`                       |

3. Upon the incremental authorization's approval, [capture the transaction](/acquiring/transaction-processing/capture-authorization) the final transaction amount.

<RequestExample>
  ```graphql Operation lines expandable theme={null}
  mutation incrementAuthorization($input: IncrementAuthorizationInput!) {
    incrementAuthorization(incrementAuthorizationInput: $input) {
      incrementAuthorizationResponse {
        status: __typename
        activityDate
        transactionId
        paymentId
      }
      errors {
        errorType: __typename
        ... on RuleInViolationError {
          advice
          explanationOfRule
          ruleName
        }
        ... on ValidationFailureError {
          fieldName
          fieldPath
          valueInError
        }
        ... on IGraphQlError {
          message
          transactionId
          processorResponseCode
        }
      }
    }
  }
  ```

  ```json Variables lines expandable theme={null}
  {
    "input": {
      "paymentId": "b2a92262-4c17-11ee-900c-7944c7cf2a3c",
      "transactionReference": "55f1ec71-874b-4e53-8c76-2ff0ee6c89z9",
      "acceptorId": "05a39b14-f29f-443b-a107-da3e3e8969fb",
      "transactionAmountDetails": {
        "currency": "USD",
        "totalAmount": 1000
      }
    }
  }
  ```
</RequestExample>

<ResponseExample>
  ```json title="Response" lines expandable theme={null}
  {
    "data": {
      "incrementAuthorization": {
        "transactionInformation": {
          "paymentId": "64495c8b-4c0f-11ee-bf97-0e7d489d8cb0"
        }
      }
    }
  }
  ```
</ResponseExample>

### Resources

* [Visa Incremental Authorization Best Practices](https://usa.visa.com/content/dam/VCOM/regional/na/us/support-legal/documents/authorization-and-reversal-processing-best-practices-for-merchants.pdf)
