Showing results for 
Search instead for 
Did you mean: 

How can I capture multiple transactions at once using AIM?

How can I capture multiple transactions at once?  Not with the merchant interface, but in code.  I can capture them one at a time with the following HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<html lang="en">
  <title>Capture Prior Transaction</title>
<body onload="document.PostPayment.submit()">
   <form name="PostPayment" method="post" action="" >
     <input type="hidden" name="x_login" value="MyAPILogin" />
     <input type="hidden" name="x_tran_key" value="MyTransKey" />
     <input type="hidden" name="x_delim_data" value="TRUE" />
     <input type="hidden" name="x_delim_char" value="~" />
     <input type="hidden" name="x_relay_response" value="FALSE" />
     <input type="hidden" name="x_type" value="PRIOR_AUTH_CAPTURE" />
     <input type="hidden" name="x_trans_id" value="2160297358" />
    <p>Please wait ....</p>

How do I send a whole list of TransactionIDs?  Which lines do I repeat?  My trial-and-error attempts result in only the last TranID being processed.

We don't want to capture until we ship the product. At the end of the day our custom software has a list of what needs to be captured.  My software is mostly Delphi code.  I have Delphi code creating HTML, and it is working fine.  I just need sample HTML for multiple captures.  At the end of the day I need to be able to capture all but 5-6 out of a list of 200-300.


Hmm, so every capture generates a batch fee? This text is in the control panel:


The time listed below represents the time of day at which transactions will be picked up for settlement.

Any transactions entered or successfully authorized after the time indicated below will not be sent to the processor for settlement until this time the following day.

It is recommended that the merchant batch cut off time be kept the same on both Authorize.Net and on the Concord processing platform. If the times are NOT kept in sync, there may be batch reconciliation issues.

Setting the batch cut off time only guarantees that the transaction will be picked up for settlement at the cut off time specified, it does NOT guarantee that a transaction will be funded by the processor or acquiring bank at that time.


I always thought from reading this that batching was just done once per day if there are any transactions, not once every time you authorize. So I would hope that if you authorize a huge number of transactions automatically, they'd all show up in that day's batch. Can a dev chime in here and verify this one way or another?

The method of capture definitely has no effect on how the transactions are batched.  Authorize.Net automatically batches your transactions just once every 24 hours.  A second batch will only be created if your total number of transactions exceeds the maximum batch size for your processor.  The processor that we connect to with the smallest batch size is 800 transactions and most of them allow 2000 per batch or more.


So regardless of the method you use for capturing your transactions, you will only see multiple batches in a day if you have run more than 800 transactions in that day.

Thanks! So it should then be theoretically possible to have an automated process running for hours, or threaded several dozen times, or whatever, that generates thousands of transactions, with the batch fee only being charged maybe a handful of times.