cancel
Showing results for 
Search instead for 
Did you mean: 

No SilentPost Call In Production Environment

Hi there,

 

This is related to my merchant's LIVE ACCOUNT.

I have never received the silent post URL for one of my client's transaction on 16th Oct. 2012.

I should have got the "x_type = auth_capture" type response, which i never got (I have the logs enabled to confirm).

Instead after few hours, I got the VOID response.
Can anyone help me in this?

 

More interestingly, the next exact transaction worked correctly.

Below is the "createCustomerProfileTransactionResponse" returned XML (edited to remove email, address, etc.):
<?XML version="1.0" encoding="utf-8"?>
<createCustomerProfileTransactionResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
  <refId />
  <messages>
    <resultCode>Ok</resultCode>
    <message>
      <code>I00001</code>
      <text>Successful.</text>
    </message>
  </messages>
  <directResponse>1,1,1,This transaction has been approved.,012748,Y,4718884033,10217,,100.00,CC,auth_capture,FSD18,<client-fname>,<client-lname>,Up N Close,<client-address>,Woodstock,ON,N4S 5C3,Canada,<client-phn-no-1>,<client-phn-no-2>,<client-email-here>,,,,,,,,,,,,FALSE,,3BF4D8710AAEBF5F13373D3A44CB5CB1,,,,,,,,,,,,,XXXX0535,Visa,,,,,,,,,,,,,,,,,<validate-text-here>,fsd-credits,18,4</directResponse>
</createCustomerProfileTransactionResponse>


Thanks in Advance
Sandeep

Sandeep
Member
7 REPLIES 7

Assuming your log actually picks up everything, there are a variety of reasons why something might not come through. Silent post only waits for 10 seconds (if I remember correctly), so anything that delays the call for more than 10 seconds will kill it. Maybe your hosting was not responding at that particular moment, or the Internet had a hiccup, or whatever. If this happens more than once, you should probably implement a follow-up routine with the Transaction Details API that runs through all the transactions and makes sure they've been updated in your database.

TJPride
Expert

Thanks for the reply TJPride,

 

I did looked at the "Transaction Details API" you thought could solve my problem.

But I have a concern in that, hope you can answer those.

 

In my this new "follow-up routine", I have to get all those transactions that are missing from my database and insert them to the database in this routine.

But to do so I need the "MERCHANT DEFINED" variables that I have send to the Authorize.Net while doing the transaction.

 

Look at the "<validate-text-here>,fsd-credits,18,4" line in the above "createCustomerProfileTransactionResponse" response.

I use these details to do a insert in the database. It also decides the table to be used for the insert.

 

And I doubt of getting these details while using the "Transaction Details API" functions.

Functions in "Transaction Details API" provides very limited details of the transactions.

Is there any other way of getting more elaborate results? Or am I missing something here?

 

 

question, if you are using cim createcustomerprofiletransaction, what the point of using silent post? the results is return at the response, and since CIM is a backend call, you would know the merchant defined variables for that call.

 

also, since merchant defined fields are not saved at authorize.net, you can't get it from Transaction Details API - GetTransactionDetails Response

Am using SilentPost for the security reasons. As the SilentPost page is only known to me and the Authorize.Net.

This makes me feel more secure.. as I am also using AIM in some cases now.

This as I have read, is the most safe way.

 

But if this happens to continue then I surely have to think of changing my flow.

But both CIM and AIM are call from your backend server, what kind of security reason are you seeing?

Yes, I think you are right here.


I just wanted to keep my "insert into transactiontables" code page/URL hidden to the user and so decided to use the Silent Post. Moreover it is easy to just loop through the POST variables than parse the XML.

 

But yes I got your point.. and this is what I have to fallback to, if this issue (not getting silentpost) persists with my production server.

 

On the other hand, project I am working on tends to change.. and I cant be sure that I wont be using ARB in the next few month. In which case I think I have no other option than using the Silent Post (correct me if wrong).

 

This was my main concern/question, why dont Authorize.Net retry the SilentPost call in case it fails?
Should try atleast twice or thrice similar to Google Checkout.

Yes, for ARB, the only option is Silent Post.

 

This was my main concern/question, why dont Authorize.Net retry the SilentPost call in case it fails?
Should try atleast twice or thrice similar to Google Checkout.

Maybe something authorize.net will look into it.