Skip to main content

incrementalAuthorization Method

Overview

The incrementalAuthorization method increases the authorized amount on an existing authorization that is still in AUTHORIZED status. Use this for hospitality, tips, or add-on charges.

Business Use Case: A hotel guest adds room service charges to their folio. Increase the authorization hold to cover the additional charges.

Purpose

ScenarioBenefit
Hotel incidentalsAdd room service, mini-bar charges
Restaurant tipsAdd post-dining tip
Add-on servicesCover additional costs
Metered servicesExtend hold for actual usage

Request Fields

FieldTypeRequiredDescription
merchantAuthorizationIdstringYesYour unique incremental auth ID
connectorTransactionIdstringYesOriginal authorization ID
amountMoneyYesNew total amount (not incremental amount)
reasonstringNoReason for increase

Response Fields

FieldTypeDescription
connectorAuthorizationIdstringConnector's authorization ID
statusAuthorizationStatusAUTHORIZED, FAILED
errorErrorInfoError details if failed
statusCodenumberHTTP status code

Example

SDK Setup

const { PaymentClient } = require('hyperswitch-prism');

const paymentClient = new PaymentClient({
connector: 'stripe',
apiKey: 'YOUR_API_KEY',
environment: 'SANDBOX'
});

Request

const request = {
merchantAuthorizationId: "incr_auth_001",
connectorTransactionId: "pi_3Oxxx...",
amount: {
minorAmount: 1500, // New total: $15.00 (was $10.00)
currency: "USD"
},
reason: "Room service charges added"
};

const response = await paymentClient.incrementalAuthorization(request);

Response

{
connectorAuthorizationId: "pi_3Oxxx...",
status: "AUTHORIZED",
statusCode: 200
}

Important Notes

  • The authorization must have incrementalAuthorizationAllowed: true
  • Pass the new total amount, not the incremental amount
  • Can only increase while in AUTHORIZED status

Next Steps

  • authorize - Create initial authorization (set requestIncrementalAuthorization: true)
  • capture - Finalize with increased amount