cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

GetSettledBatchList Request returns No records found for date ranges

Hello, I am new to authorize.net development and I am trying to get a list of settled batches from the TransactionAPI.

 

When I run GetSettledBatchList for a date range (ex: 2014-10-01T00:00:00 to 2014-10-15T00:00:00) that I know have settled batches against the production server, I get the following response:

<?xml version="1.0" encoding="utf-16"?>
<GetTransactionListResponseType xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <resultCode xmlns="https://api.authorize.net/soap/v1/">Ok</resultCode>
    <messages xmlns="https://api.authorize.net/soap/v1/">
        <MessagesTypeMessage>
             <code>I00004</code>
             <text>No records found.</text>
        </MessagesTypeMessage>
     </messages>
</GetTransactionListResponseType>

 

When I run the same date range against the sandbox server with my sandbox API and transaction key, I get the expected list of settled batches which I placed in the system a few days earlier so they would settle.

 

Additional Info for production system:

  • AuthenticateTest returns valid login so I believe I have the right API login id and transaction key.
  • If I select a date range more than 30 days, I get the appropriate error message, I thought perhaps I wasn't sending the dates in correct format.
  • I took the batch id from the 10/14 settled batch and ran GetTransactionList for that batch id, same result as above: no records found.
  • I have confirmed that the Transaction details is enabled.

 

Am I missing a setting? or does anyone have ideas how to troubleshoot this further?

 

Thanks,

Roger

rogerrabbit
Member
11 REPLIES 11

You said GetSettledBatchList but the xml said GetSettledBatchList

RaynorC1emen7
Expert

Thank you!.. I had copied the wrong error  into the post.

Here is the one that was supposed to be there:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <GetSettledBatchListResponse xmlns="https://api.authorize.net/soap/v1/">
            <GetSettledBatchListResult>
                <resultCode>Ok</resultCode>
                <messages>
                    <MessagesTypeMessage>
                        <code>I00004</code>
                        <text>No records found.</text>
                    </MessagesTypeMessage>
                </messages>
            </GetSettledBatchListResult>
        </GetSettledBatchListResponse>
    </soap:Body>
</soap:Envelope>

And you can find transactions with that batchID on the merchant account website?

 

can you post the request xml masked your loginID and tranKey?

yes,  That is where I got the batchid from, I opened a transaction from the detail report and copied/pasted the batch id listed under settlement information.

 

here is the request XML ( i am using SoapUI for initial testing)

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    <soap12:Body>
        <GetSettledBatchList xmlns="https://api.authorize.net/soap/v1/">
            <merchantAuthentication>
                <name>XXXXXXXXX</name>
                <transactionKey>XXXXXXXXXXXXXXX</transactionKey>
            </merchantAuthentication>
            <request>
                <includeStatistics>true</includeStatistics>
                <firstSettlementDate>2014-10-01T00:00:00</firstSettlementDate>
                <lastSettlementDate>2014-10-15T00:00:00</lastSettlementDate>
            </request>
        </GetSettledBatchList>
    </soap12:Body>
</soap12:Envelope>

 

below is the raw XML that SoapUI shows:

POST https://api.authorize.net/soap/v1/Service.asmx HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/soap+xml;charset=UTF-8;action="https://api.authorize.net/soap/v1/GetSettledBatchList"
Content-Length: 738
Host: api.authorize.net
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

 

I wonder if it an issue with how they handled the soap.

The http://www.authorize.net/support/ReportingGuide_SOAP.pdf didn't show the <request></request> node. and the xml don't have them either.

You might consider trying this in the API Reference console: http://developer.authorize.net/api/reference/#transaction-reporting-get-settled-batch-list

 

Richard

Thank you, I tried using it and for sandbox it worked perfectly, when I plugged in the production API Login and key it replied with invalid authentication ( I suspected it would fail as the dev credentials worked, but thought I would try it anyways).

 

is there a production system version of this API reference console?

 

 

The API Reference console only works with the sandbox.  Were you able to successfully use your original request posted in the thread in the console, or did you need to modify it  to work?

 

Richard

No, the API tester would not accept a SOAP request. The page does have a link https://api.authorize.net/soap/v1/Service.asmx?op=GetSettledBatchList which shows a sample.. I compared that to what I had submitted, it is identical except for the values that I had to put in.

 

Are there any differences between production and sandbox (other than the login id and transaction key)? My request works fine agains the sandbox, but when i run the same against production I always get no records found

 

Thanks,
Roger