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