Auth Only Increment

You can increment the auth amount of a previous Auth Only transaction. You will need to use the unique transaction identifier returned in the response to the Auth Only transaction.

You must still use Pre-Auth Complete to convert the transaction to a Sale or use Auth Only Reversal to delete and restore the funds in the card. Note that you must still use the unique transaction identifier of the original Auth Only transaction to perform either one of these actions.

Code Samples

CWS

Request

{
  "method" : "startPaymentTransaction",
  "requestId" : "832364634",
  "targetType" : "paymentGatewayConverge",
  "parameters" : {
    "paymentGatewayId" : "cc9b37e3-1a59-4c8b-a3e6-8e9b18468ab8",
    "transactionType" : "PRE_AUTH_INCREMENT",
    "tenderType" : "CARD",
    "originalTransId" : "070316A15-D808755A-4283-4280-B4D6-5029D84F34B3",
    "baseTransactionAmount" : {
      "value" : 300,
      "currencyCode" : "USD"
    },
    "isTaxInclusive" : false,
    "taxAmounts" : [{
      "value" : 0,
      "currencyCode" : "USD"
    }]
  }
}

Response

{
  "requestId" : "832364635",
  "statusDetails" : "REQUEST_ACCEPTED"
  "data" : {
    "paymentGatewayCommand" : {
      "completed" : true,
      "eventQueue" : [],
      "chanId" : "908b70e4-9fbe-4551-b192-0bc4cbfc88b9",
      "paymentTransactionData" : {
        "date": "Thu Feb 24 10:23:44 EST 2022",
        "transactionType": "PRE_AUTH_INCREMENT",
        "result": "APPROVED",
        "amountAuthorized": {
          "value": 300,
          "currencyCode": "USD"
        },
        "approved": "yes",
        "amount": {
          "value": 300,
          "currencyCode": "USD"
        },
        "tax": {
          "value": 0,
          "currencyCode": "USD"
        },
        "id": "240222ED4-9B83AD84-79C4-4C19-B15A-F0A6CCD96984",
        "errors": []
      }
    }
  }
}

Java

  1. Initialize Commerce SDK and receive an ECLAccountInterface instance named account.

  2. Create a money object by specifying a currency code and an amount.

    ECLMoney amount = new ECLMoney(ECLCurrencyCode.USD, 300L);
    
  3. Add the unique transaction identifier of the original Auth Only transaction and create a transaction interface.

    ECLCurrencyTransactionInterface transaction = account.getTransactionProcessor().createPreAuthIncrementTransactionWithSubtotal(amount, originalTxnId);
    
  4. Create a card tender interface.

    ECLCardTenderInterface tender = account.getTransactionProcessor().createCardTender();
    

Objective-C

  1. Initialize Commerce SDK and receive an ECLAccountProtocol instance named account.

  2. Create a money object by specifying a currency code and an amount.

    ECLMoney *amount = [[ECLMoney alloc] initWithMinorUnits:300 withCurrencyCode:ECLCurrencyCode_USD];
    
  3. Add the unique transaction identifier of the original Auth Only transaction and create a transaction protocol.

    id<ECLCurrencyTransactionProtocol> transaction = [[_account transactionProcessor] createPreAuthIncrementTransactionWithSubtotal:amount transactionID:originalTxnId];
    
  4. Create a card tender protocol.

    id<ECLCardTenderProtocol> tender = [[_account transactionProcessor] createCardTender];
    

C#

PaymentArgs paymentArgs = new PaymentArgs();
Money m = new Money(Money.CurrencyCodefromString("USD"), myAmount);
paymentArgs.baseTransactionAmount = m;
paymentArgs.tenderType = TenderType.CARD;
paymentArgs.transactionType = TransactionType.PRE_AUTH_INCREMENT;
paymentArgs.originalTransId = m_OriginalTransId;
 
paymentArgs.paymentGatewayId = m_PaymentGatewayId;
  
m_CWS.StartPaymentTransaction(paymentArgs, MyNotifyCWSEvent, MyPaymentComplete);