Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6339391
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T19:38:26+00:00 2026-05-24T19:38:26+00:00

I’m having some trouble making sense of the authorize.net Transaction Details API ( documentation

  • 0

I’m having some trouble making sense of the authorize.net Transaction Details API (documentation here). I’ll try my best to be brief.

The only practical way of pulling transaction status updates from authorize (without using their ‘silent post’ feature, which seems like a big bag of nightmares* ), is to get a batch list of settled transactions (for let’s say a day) and then pull transaction lists for every settled batch. Eg:

public function getTransactionsForDay($month = false, $day = false, $year = false)
{
    $transactions = array();
    $month = ($month ? $month : date('m'));
    $day = ($day ? $day : date('d'));
    $year = ($year ? $year : date('Y'));
    $firstSettlementDate = substr(date('c',mktime(0, 0, 0, (int)$month, (int)$day, (int)$year)),0,-6);
    $lastSettlementDate  = substr(date('c',mktime(0, 0, 0, (int)$month, (int)$day, (int)$year)),0,-6);
    $response = $this->getSettledBatchList(true, $firstSettlementDate, $lastSettlementDate);
    $batches = $response->xpath("batchList/batch");
    foreach ($batches as $batch) {
        $batch_id = (string)$batch->batchId;
        $request = new AuthorizeNetTD;
        $tran_list = $request->getTransactionList($batch_id);
        $transactions = array_merge($transactions, $tran_list->xpath("transactions/transaction"));
    }
    return $transactions;
}

   $request = new AuthorizeNetTD;
    $transactions = $request->getTransactionsForDay(12, 8, 2010);
    $this->assertTrue(is_array($transactions));

Yet, there’s a multitude of possible transaction statuses.

These appear to be ‘final’ and unchangeable:

  • communicationError
  • refundSettledSuccessfully
  • declined
  • couldNotVoid
  • expired
  • generalError
  • failedReview
  • settledSuccessfully
  • settlementError
  • voided

The following appear to be ‘pending’ statuses:

  • authorizedPendingCapture
  • capturedPendingSettlement
  • refundPendingSettlement
  • pendingFinalSettlement
  • pendingSettlement
  • underReview
  • updatingSettlement
  • FDSPendingReview
  • FDSAuthorizedPendingReview
  • authorizedPendingRelease

These, I’m not sure about:

  • returnedItem (?)
  • chargeback (?)
  • chargebackReversal (?)
  • approvedReview (?)

The getUnsettledTransactionList just dumps the last 1000 ‘unsettled’ transactions on your lap, including declined, error, etc — making it pretty unreliable, not mention you have to parse that junk.

So, my questions are:

  • What’s up with the last four statuses above? Should I expect those to change or not?

  • Which of these go into a ‘settled’ batch? (settlementError AND settledSuccessfully? JUST settledSuccessfully? )

  • Do recurring billing transactions (documentation here) even show up in the settled batches?

  • Is there really no way to pull just the ‘pending’ transactions from authorize, ignoring all the irrelevant error, declined, etc ones? It seems necessary for recurring billing — because otherwise, an app (in lieu of a transaction id) has no way of knowing if there’s a problem with a subscription transaction, until enough time passes that you can safely assume it should have showed up in a settled batch.

* due to the two second timeout, fail-and-never-talk-to-you-again policy, plus having to rely on users to properly configure their settings

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T19:38:27+00:00Added an answer on May 24, 2026 at 7:38 pm

    I have gotten a response from Authorize.net Here it is:


    A part of the confusion with the transaction statuses is that the transaction status object is built off of a similar object that we use internally and includes ever possible transaction status in our system. Some of these status will effectively never actually be seen by you as an external developer. I’ve checked our public knowledge base and confirmed that we don’t currently have a good list of all of the transaction statuses, so I’m working on creating one for you. I’m working with our internal developers just to confirm some details on the statuses and I’ll reply with that list as soon as I can. I can answer the rest of your questions right now.

    Which of these go into a ‘settled’ batch? (settlementError AND
    settledSuccessfully? JUST settledSuccessfully? )

    Within Authorize.Net, all transactions are moved into a batch when the transaction state is final. This is a significant difference in the Authorize.Net definition of a batch and the definition used by most merchant services provider. Because all of our reporting is organized into batches, it is important that all of your transactions ultimately end up in a batch.

    Do recurring billing transactions ([documentation here][2]) even show
    up in the settled batches?

    Yes, the transactions initiated by the Automated Recurring Billing (ARB) system are treated no different from any other transaction once they are created.

    Is there really no way to pull just the ‘pending’ transactions from
    authorize, ignoring all the irrelevant error, declined, etc ones?
    It seems necessary for recurring billing — because otherwise, an app
    (in lieu of a transaction id) has no way of knowing if there’s a
    problem with a subscription transaction, until enough time passes that
    you can safely assume it should have showed up in a settled batch.

    There is currently no way to pull a list of only successful unsettled transactions or of pulling only transactions that are associated with a specific ARB subscription. We are aware of this limitation and have a few ideas of how to address it, but unfortunately the only 100% reliable way of checking ARB transactions programmatically is to pull the whole batch after settlement.

    I’m working towards making more of an official document for defining these fields, but I thought I would post what I have so far:

    BasicTransaction Statuses
    I don’t think these statuses need any further explanation, but let me know if I’m mistaken.
    – authorizedPendingCapture
    – capturedPendingSettlement
    – refundPendingSettlement
    – settledSuccessfully
    – refundSettledSuccessfully
    – voided
    – expired
    – declined

    Fraud Detection Suite (FDS or AFDS) Specific Responses
    Both of these statuses indicate that a transaction is pending manual review by the merchant.
    – FDSPendingReview
    – FDSAuthorizedPendingReview

    eCheck Specific Responses
    – underReview – Under manual review, will be approved or declined.
    – failedReview – Final status of a transaction that fails review.
    – returnedItem – This will not show on an original transaction, but eCheck returns generate their own transactions with this status.

    Other Errors
    – communicationError – An individual transaction was rejected by the processor. This is a final transaction status.
    – settlementError – A day’s batch was rejected by the processor. This status is not final. The merchant should try to recover the batch.
    – General Error – This is a catch-all status for any transaction status that is not otherwise defined.

    Transitional Transaction Statuses
    These transaction statuses occur only as a transaction is taking place. They should not be returned by the Transaction Details API.
    – couldNotVoid
    – approvedReview

    Legacy Statuses
    These transaction statuses relate to services that we have not offered for over 3 years. Because an Authorize.Net merchant account stores only 2-3 years of history, you will not see these statuses actually returned in any normal operation.
    – pendingFinalSettlement
    – pendingSettlement
    – updatingSettlement
    – chargeback
    – chargebackReversal
    – authorizedPendingRelease

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

link Im having trouble converting the html entites into html characters, (&# 8217;) i
I'm having trouble keeping the paragraph square between the quote marks. In firefox the
I'm making a simple page using Google Maps API 3. My first. One marker
I have just tried to save a simple *.rtf file with some websites and
For some reason, after submitting a string like this Jack’s Spindle from a text
I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
We're building an app, our first using Rails 3, and we're having to build
I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out
I have some data like this: 1 2 3 4 5 9 2 6

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.