printTransactionResults($response, 'Authorize For CaptureSelective', $merchProfileId); $txnIdCs[0] = $response['TransactionId']; $capDiffData = new CaptureDifferenceData(); $capDiffData->TransactionId = $txnIdCs; if (Settings::IndustryType == 'Restaurant') { $capDiffData->TipAmount = '2.00'; $capDiffData->Amount = $response->Amount + $capDiffData->TipAmount; } $capDiffData->Amount = '2.00'; $capDiffXML = buildCaptureSelectiveXML($capDiffData); $txnIdsXML = buildTxnIdsXML($txnIdCs); $response2 = $client->captureSelective($txnIdsXML, $capDiffXML, null); printBatchResults($response2, $merchProfileId); } if ($_bcs['Operations']['CaptureAll'] == 'true' && $_bcs['AutoBatch'] == 'false') { $response2 = $client->captureAll(null, null); printBatchResults($response2, $merchProfileId); } /* * * Undo funds based on previous transactionId * May also include , $amount) where $amount is what you want to return e.g. 10.00 * */ if ($_bcs['Operations']['Undo'] == 'true') { // First send an Authorize to Void $response3 = $client->authorize($bcpTxnXML); printTransactionResults($response3, 'Authorize for Undo', $merchProfileId); // Now send the Void using TransactionId from above transaction response $undoDiffData = new UndoDifferenceData(); $undoDiffData->TransactionId = $response3['TransactionId'];