FILTER BY TAG

Merchant-Initiated Incremental Transaction with
Token Management

An incremental authorization is used to increase the total amount authorized for a payment if the initial authorization does not cover the total cost of goods and services. An incremental transaction is an additional amount to the original authorization. The final authorized total includes amounts for both the initial and the incremental authorizations. Incremental transactions are limited to certain merchant categories, such as rental, lodging, transit, amusement parks, restaurants, and bars.
This section describes how to process a merchant-initiated incremental transaction using these
Token Management
token types:
Customer
Customer tokens store one or more customer payment instrument tokens and shipping address tokens.
Including a customer token eliminates the need to include billing information, card information, and the previous transaction's ID.
"paymentInformation": { "customer": { "id": "07C9CA98022DA498E063A2598D0AA400" } }
Payment Instrument
Payment instrument tokens store an instrument identifier token, card information, and billing information. Payment instruments are not linked to a customer token.
Including a payment instrument eliminates the need to include billing information, card information, and the previous transaction's ID.
"paymentInformation": { "paymentInstrument": { "id": "07CA24EF20F9E2C9E063A2598D0A8565" } }
Instrument Identifier
Instrument identifier tokens store only a PAN. Including an instrument identifier eliminates the need to include a PAN and the previous transaction's ID.
"paymentInformation": { "instrumentIdentifier": { "id": "7010000000016241111" } }
To create an incremental transaction using the
BA360
, choose one of these options:
  • Account Top Up
  • No Show

Supported Card Types

These are the supported card types for processing credentialed transactions:
  • American Express
  • Carta Si
  • Cartes Bancaires
  • Dankort
  • Delta
  • Eurocard
  • JCB
  • Maestro (UK Domestic)
  • Mastercard
  • Visa
  • Visa Electron

Limitations

You can request up to 100 incremental authorizations for each transaction, in addition to the original authorization.
Interchange optimization and split shipments are not supported.

American Express Requirements

When you are processing a payment with an American Express credit card, you are required to reverse any remaining authorized funds that are not captured. For example, if the total of the initial authorization and all of the incremental authorizations is $100, and the amount that you capture is $80, then you must reverse the difference of $20.
To reverse funds from incremental authorizations, send a partial authorization reversal request. For more information, see Partial Authorization Reversal.

Endpoint

Production:
POST
https://api.merchant-services.bankofamerica.com
/pts/v2/payments
Test:
POST
https://apitest.merchant-services.bankofamerica.com
/pts/v2/payments

Time-Out Authorization Reversals for Incremental Transactions

When you do not receive a response message after sending an incremental transaction request, you can reverse the incremental transaction. When processing a time-out authorization reversal for an incremental transaction, include the
clientReferenceInformation.transactionId
request field and set it to the
clientReferenceInformation.code
field value that your payment terminal assigned to it in the incremental transaction.
For more information about how to process a time-out authorization reversal, see Time-Out Authorization Reversal.
After successfully processing a time-out authorization reversal, you can resend the incremental authorization with a new unique field value in the
clientReferenceInformation.code
request field.

Required Fields for MIT Incremental Transaction with
Token Management

Include these Required Fields

orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
paymentInformation.[tokentype].id
Where
[tokentype]
is the
Token Management
token type you are using:
  • customer
  • instrumentIdentifier
  • paymentInstrument
processingInformation. authorizationOptions.initiator. merchantInitiatedTransaction. reason
Set the value to
5
.
Required only for Discover and Visa.

Instrument Identifier Required Fields

If you are using the
paymentInformation.instrumentIdentifier.id
token, include these required fields in addition to the required fields listed above.
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.buildingNumber
Required for
Rede
card customer validation.
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.phoneNumber
orderInformation.billTo.postalCode
paymentInformation.card.expirationMonth
paymentInformation.card.expirationYear

Card-Specific Required Fields

Include these fields when processing an authorization with these card types.
The listed card type requires an additional field.
Diners Club
processorInformation.cardReferenceData
:
Required only for token transactions. Set this field to the
processorInformation.cardReferenceData
field that was in the response message when you obtained the customer's credentials.
issuerInformation.transactionInformation
:
Required only for token transactions. Set this field to the
processorInformation.transactionID
field that was in the response message when you obtained the customer's credentials.
Discover
processingInformation.authorizationOptions.initiator. merchantInitiatedTransaction.originalAuthorizedAmount
Set to the original transaction amount.
processorInformation.cardReferenceData
Required only for token transactions. Set this field to the
processorInformation.cardReferenceData
field that was in the response message when you obtained the customer's credentials.
issuerInformation.transactionInformation
Required only for token transactions. Set this field to the
processorInformation.transactionID
field that was in the response message when you obtained the customer's credentials.

Example: MIT Incremental Transaction with a
Token Management
Instrument Identifier

Request
{ "processingInformation": { "authorizationOptions": { "initiator": { "merchantInitiatedTransaction": { "reason": "
5
" } } } }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2031" }, "instrumentIdentifier": { "id": "7010000000016241111" } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "
test@bankofamerica.com
", "phoneNumber": "4158880000" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6976922830456934003954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6976922830456934003954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6976922830456934003954/captures" } }, "clientReferenceInformation": { "code": "1697692283160" }, "id": "6976922830456934003954", "orderInformation": { "amountDetails": { "authorizedAmount": "102.21", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "instrumentIdentifier": { "id": "7010000000016241111", "state": "ACTIVE" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "015" }, "processorInformation": { "paymentAccountReferenceNumber": "V0010013022298169667504231315", "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "62700184NNMR6XFK", "status": "AUTHORIZED", "submitTimeUtc": "2023-10-19T05:11:23Z" }

Example: MIT Incremental Transaction with a
Token Management
Payment Instrument

Request
{ "processingInformation": { "authorizationOptions": { "initiator": { "merchantInitiatedTransaction": { "reason": "5" } } } }, "paymentInformation": { "paymentInstrument": { "id": "080AE120369A7947E063A2598D0A718F" } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6976917718796256603955/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6976917718796256603955" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6976917718796256603955/captures" } }, "clientReferenceInformation": { "code": "1697691771976" }, "id": "6976917718796256603955", "orderInformation": { "amountDetails": { "authorizedAmount": "102.21", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "instrumentIdentifier": { "id": "7010000000016241111", "state": "ACTIVE" }, "paymentInstrument": { "id": "080AE120369A7947E063A2598D0A718F" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "015" }, "processorInformation": { "paymentAccountReferenceNumber": "V0010013022298169667504231315", "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "62700629BNN13VGW", "status": "AUTHORIZED", "submitTimeUtc": "2023-10-19T05:02:52Z" }

Example: MIT Incremental Transaction with a
Token Management
Customer token

Request
{ "processingInformation": { "authorizationOptions": { "initiator": { "merchantInitiatedTransaction": { "reason": "5" } } } }, "paymentInformation": { "customer": { "id": "080AC9AB60C92AA2E063A2598D0A0C74" } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6976916433716228003955/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6976916433716228003955" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6976916433716228003955/captures" } }, "clientReferenceInformation": { "code": "1697691643458" }, "id": "6976916433716228003955", "orderInformation": { "amountDetails": { "authorizedAmount": "102.21", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "instrumentIdentifier": { "id": "7010000000016241111", "state": "ACTIVE" }, "paymentInstrument": { "id": "080AE6DB37B09557E063A2598D0AA4C9" }, "card": { "type": "001" }, "customer": { "id": "080AC9AB60C92AA2E063A2598D0A0C74" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "015" }, "processorInformation": { "paymentAccountReferenceNumber": "V0010013022298169667504231315", "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "62700435FNN143RY", "status": "AUTHORIZED", "submitTimeUtc": "2023-10-19T05:00:43Z" }