Skip to main content
An incremental authorization allows merchants to adjust the amount of an authorization 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.
When to Use
  • You need to increase the amount of a previously authorized transaction.
  • The final cost of goods or services exceeds the original authorization amount.
  • You have an existing uncaptured authorization and need to add additional charges.
ScenarioBen 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, the hotel authorizes Ben’s card for the anticipated total of $1,500, 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.
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.
DescriptionAmount
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.

Steps

  1. Retrieve the paymentId from the original authorization you need to increment. This is how we link the incremental authorization to its original authorization.
  2. Call the incrementAuthorization mutation and pass in the required inputs:
    Required inputDescription
    paymentIdThe unique “payment ID” returned on the original, approved authorization, used to tie that transaction together with this incremental authorization.
    acceptorIDThe 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.
    transactionReferenceThe unique transaction identifier created by YOU to distiniguish this transaction from another.
    transactionAmountDetailsThe transaction currency and incremental amount.

    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 the final transaction amount.
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
      }
    }
  }
}
{
  "data": {
    "incrementAuthorization": {
      "transactionInformation": {
        "paymentId": "64495c8b-4c0f-11ee-bf97-0e7d489d8cb0"
      }
    }
  }
}
Run in Playground

Resources