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:
Am I missing a setting? or does anyone have ideas how to troubleshoot this further?
Thanks,
Roger
10-16-2014 11:28 AM
You said GetSettledBatchList but the xml said GetSettledBatchList
10-16-2014 01:53 PM
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>
10-16-2014 02:02 PM
And you can find transactions with that batchID on the merchant account website?
can you post the request xml masked your loginID and tranKey?
10-16-2014 02:08 PM - edited 10-16-2014 02:11 PM
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)
10-16-2014 02:39 PM
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.
10-16-2014 04:17 PM
You might consider trying this in the API Reference console: http://developer.authorize.net/api/reference/#transaction-reporting-get-settled-batch-list
Richard
10-16-2014 06:52 PM
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?
10-17-2014 12:48 PM
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
10-17-2014 01:06 PM
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
10-17-2014 02:08 PM