On This Page
Incremental Authorization
This section shows you how to process an incremental authorization.
Incremental authorizations allow merchants to add additional products and services to an
existing authorization. This section will show you how to append an original
authorization to include additional transactions.
The supported card types for incremental authorizations are Mastercard and Visa.
The incremental authorization service has these limitations:
- Maximum of 100 incremental authorizations per transaction, in addition to the initial authorization.
- Interchange optimization is not supported.
- Split shipments are not supported.
Supported Card Types
These card types support incremental authorizations:
- Mastercard
- Visa
Endpoint
Production:
PATCH
https://api.visaacceptance.com
/pts/v2/payments/{id}
Test:
PATCH
https://apitest.visaacceptance.com
/pts/v2/payments/{id}
The is the transaction ID returned in the
original authorization response.
{id}
Required Fields for Processing an Incremental Authorization
- clientReferenceInformation.code
- orderInformation.amountDetails.totalAmount
- orderInformation.amountDetails.currency
- processingInformation.authorizationOptions. initiator.storedCredentialUsed
- Set this field totrue.
Country-Specific Required Fields for Processing an Incremental Authorization
Use these country-specific required fields to process an incremental authorization.
Argentina
- merchantInformation.transactionLocalDateTime
- Required in Argentina when the time zone is not included in your account. Otherwise, this field is optional.
Optional Field for Processing an Incremental Authorization
You can use this optional field to
include your transaction ID when processing an incremental authorization.
- clientReferenceInformation.transactionId
REST Example: Processing an Incremental Authorization
Request
{ "clientReferenceInformation": { "code": "33557799" }, "processingInformation": { "authorizationOptions": { "initiator": { "storedCredentialUsed": "true" } } }, "orderInformation" : { "amountDetails" : { "totalAmount": "105.00", "currency" : "USD" } } "merchantInformation": { "transactionLocalDateTime": "20191002080000" } }
Response to a Successful Request
{ "_links" : { "authReversal" : { "method" : "POST", "href" : "/pts/v2/payments/6479624584536070903093/reversals" }, "self" : { "method" : "GET", "href" : "/pts/v2/payments/6479624584536070903093" }, "capture" : { "method" : "POST", "href" : "/pts/v2/payments/6479624584536070903093/captures" } }, "clientReferenceInformation" : { "code" : "33557799" }, "id" : "6479624584536070903093", "orderInformation" : { "amountDetails" : { "authorizedAmount" : "105.00", "currency" : "USD" } }, "paymentAccountInformation" : { "card" : { "type" : "001" } }, "paymentInformation" : { "tokenizedCard" : { "type" : "001" }, "card" : { "type" : "001" } }, "processorInformation" : { "systemTraceAuditNumber" : "819203", "approvalCode" : "831000", "cardVerification" : { "resultCodeRaw" : "M", "resultCode" : "M" }, "merchantAdvice" : { "code" : "01", "codeRaw" : "M001" }, "responseDetails" : "ABC", "networkTransactionId" : "016153570198200", "retrievalReferenceNumber" : "208115819203", "consumerAuthenticationResponse" : { "code" : "2", "codeRaw" : "2" }, "transactionId" : "016153570198200", "responseCode" : "00", "avs" : { "code" : "Y", "codeRaw" : "Y" } }, "reconciliationId" : "6479624584536070903093", "status" : "AUTHORIZED", "submitTimeUtc" : "2022-03-22T15:20:58Z" }