cancel
Showing results for 
Search instead for 
Did you mean: 

E00114 Invalid OTS Token

I’m working on a website using accept.js.  It is a wordpress site and there are two places within a plugin where I am displaying a payment form.  For both of these places, I use the same credit card form (so the same ClientKey and apiLoginID are added to the form.  Both places include the same copy of accept.js and acceptJSCaller.js.

 

Most of the fields are the same.  The minor differences are accounted for so the same information is being sent to authorize.net.

 

For one of the forms, the call to ProcessTransaction comes back fine.  The other returns with E00114 Invalid OTS Token.  When I log into my test account.  The failed transactions are showing up as completed transactions (settled for yesterday’s and unsettled for today’s).

 

What would cause accept.js to return an error, but the payment to be processed correctly anyway?  Why would the same form fail in one case, but succeed in another?

microweb
Contributor
1 ACCEPTED SOLUTION

Accepted Solutions

My suspicion on the non-working site is that you're submitting the transaction twice. The first submission gets processed correctly, but the second submission generates the E00114 error because the token has already been used.

 

This wouldn't get the normal duplicate transaction error, because the decoding of the token happens before the transaction processing, and duplicate checking happens during transaction processing. Once our system can't decode the token (because it sees it's already worked on the same token), it gives up and throws the E00114 error.

 

This usually happens because you have some bug in your javascript where you click the submit button, that calls a function which submits the transaction, and that function somehow calls submit again. If you'd like to post your code, we can see if there are obvious problems. You can also put some logging into the script or app you're calling server side to submit the transaction to verify that that script is being called twice.

View solution in original post

Aaron
All Star
3 REPLIES 3

My suspicion on the non-working site is that you're submitting the transaction twice. The first submission gets processed correctly, but the second submission generates the E00114 error because the token has already been used.

 

This wouldn't get the normal duplicate transaction error, because the decoding of the token happens before the transaction processing, and duplicate checking happens during transaction processing. Once our system can't decode the token (because it sees it's already worked on the same token), it gives up and throws the E00114 error.

 

This usually happens because you have some bug in your javascript where you click the submit button, that calls a function which submits the transaction, and that function somehow calls submit again. If you'd like to post your code, we can see if there are obvious problems. You can also put some logging into the script or app you're calling server side to submit the transaction to verify that that script is being called twice.

Aaron
All Star

There's also the possibility that there's an unrelated issue on our side involving tokens, but the fact that it happens on one site and not the other and you show that transactions have made it through is what leads me to strongly believe it's a duplicate transaction issue.

Thank you for your help.  I was submitting the form 2x on the 2nd page.