cancel
Showing results for 
Search instead for 
Did you mean: 

Transactions Details API: getUnsettledTransactionListRequest delay?

I'm writing some unit tests to test getUnsettledTransactionListRequest. I'm submitting a test AuthorizationRequest then querying for it using getUnsettledTransactionListRequest. If I immeditally use getUnsettledTransactionListRequest the test transaction isn't listed. If I wait 15-30 seconds its there. The delay seems to be inconsistent. 

 

Is there a delay in the live system and what is the minimum I should way before checking the transaction?

jakea
Member
1 ACCEPTED SOLUTION

Accepted Solutions

Hello @jakea

 

I spoke with our lead database engineer.  When you create transactions they are inserted into one database, and your subsequent getUnsettledTransactionListRequest is returned from a separate database using replicated data.  This would explain why there is a short delay.

 

Richard

View solution in original post

11 REPLIES 11

Hello @jakea

 

We're unable to duplicate the problem you reported.  We ran a transaction and then immediately used getUnsettledTransactionListRequest and the transaction appears as expected.

 

Richard

RichardH
Administrator Administrator
Administrator

@RichardH thanks for taking a look. It has consistently reproduced for me using the sdk for .net. I've uploaded my test for this, would it possible for you take a look and let me know if my test (TransactionDetailsDelayTest.cs) is passing for you?

 

You can find a copy of my test solution (its your .net sdk with my additional test) at:

https://www.dropbox.com/s/zitvv7q8fr3rpv1/sdk-dotnet-master-transaction%20details%20delay%20test.zip...

jakea
Member

@RichardH did the attached tests not reproduce the issue for you?

Hello @jakea

 

Sorry, I overlooked your response.  May I suggest you submit an issue/pull request with the issue/solution in GitHub?  This will notify the developer assigned to this language.

 

Richard

I don't see any sign that this is an issue with the .net sdk. I can reproduce the same delay using curl also:

Post transaction:

curl --data "x_delim_data=TRUE&x_delim_char=%7c&x_relay_response=FALSE&x_method=CC&x_version=3.1&x_type=AUTH_CAPTURE&x_card_num=4111111111111111&x_exp_date=0224&x_amount=5&x_description=&x_invoice_num=TEST_INVOICE_001&x_login=LOGIN ID HERE&x_tran_key=TRANSACTION KEY HERE" -H "Content-Type: application/x-www-form-urlencoded" https://test.authorize.net/gateway/transact.dll

Request unsettled list:

curl --data "<?xml version=\"1.0\" encoding=\"utf-8\"?><getUnsettledTransactionListRequest xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\"><merchantAuthentication><name>LOGIN ID HERE</name><transactionKey>TRANSACTION KEY HERE</transactionKey></merchantAuthentication></getUnsettledTransactionListRequest>" -H "Content-Type: text/xml" https://apitest.authorize.net/xml/v1/request.api


If you put these in the same script and they run immediatly after each other you won't find the expected invoice number. Wait 5-10 seconds and run the "Request unsettled list" and it will show u

Hello @jakea

 

I spoke with our lead database engineer.  When you create transactions they are inserted into one database, and your subsequent getUnsettledTransactionListRequest is returned from a separate database using replicated data.  This would explain why there is a short delay.

 

Richard

Thanks for checking, that makes sense. It would be helpful to have some guidance on what types of delay we can expect in production. Should I be expecting a similar 15-30 seconds like I'm seeing in the sandbox or an even larger delay?

Can you do the GetTransactionDetails with the transactionID instead? I would expected that would be on the same database

New transactions will insert as Authorized/Pending Capture or Authorized/Pending Settlement.  Settlement only occurs once a day and begins sometime after the transaction cut-off time specified in the merchant interface. You should see similar performance in production.

 

Richard