<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Errors E00003/E00117 with Accept JS in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59281#M33877</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22125"&gt;@felixschl&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you either post your code or give me any URL I see your code and try to duplicate in my browser?&lt;/P&gt;</description>
    <pubDate>Wed, 09 Aug 2017 21:22:44 GMT</pubDate>
    <dc:creator>Aaron</dc:creator>
    <dc:date>2017-08-09T21:22:44Z</dc:date>
    <item>
      <title>Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59225#M33822</link>
      <description>&lt;P&gt;I am using the sandbox.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I run Accept.dispatchData, I see two network requests take place, both of which return error responses.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;gt; OPTIONS /xml/v1/request.api HTTP/1.1
&amp;gt; Host: apitest.authorize.net
&amp;gt; Connection: keep-alive
&amp;gt; Access-Control-Request-Method: POST
&amp;gt; Origin: https://localhost:8000
&amp;gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36
&amp;gt; Access-Control-Request-Headers: content-type
&amp;gt; Accept: */*
&amp;gt; Referer: https://localhost:8000/donate/
&amp;gt; Accept-Encoding: gzip, deflate, br
&amp;gt; Accept-Language: en-US,en;q=0.8
&amp;lt; HTTP/1.1 200 OK
&amp;lt; Cache-Control: private
&amp;lt; Content-Type: application/json; charset=utf-8
&amp;lt; Server: Microsoft-IIS/7.5
&amp;lt; Access-Control-Allow-Origin: *
&amp;lt; Access-Control-Allow-Methods: PUT,OPTIONS,POST,GET
&amp;lt; Access-Control-Allow-Headers: x-requested-with,cache-control,content-type,origin,method,SOAPAction
&amp;lt; X-Cnection: close
&amp;lt; X-Powered-By: ASP.NET
&amp;lt; Content-Length: 102
&amp;lt; Date: Tue, 08 Aug 2017 18:17:15 GMT
&amp;lt; Connection: keep-alive
{"messages":{"resultCode":"Error","message":[{"code":"E00003","text":"Root element is missing."}]}}&lt;/PRE&gt;&lt;P&gt;And:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;gt; POST /xml/v1/request.api HTTP/1.1
&amp;gt; Host: apitest.authorize.net
&amp;gt; Connection: keep-alive
&amp;gt; Content-Length: 313
&amp;gt; Origin: https://localhost:8000
&amp;gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36
&amp;gt; Content-Type: application/json; charset=UTF-8
&amp;gt; Accept: */*
&amp;gt; Referer: https://localhost:8000/donate/
&amp;gt; Accept-Encoding: gzip, deflate, br
&amp;gt; Accept-Language: en-US,en;q=0.8
{"securePaymentContainerRequest":{"merchantAuthentication":{"name":"...","clientKey":"..."},"data":{"type":"TOKEN","id":"...","token":{"cardNumber":"4007 0000 0002 7","expirationDate":"122033","cardCode":"123"}}}}
&amp;lt; HTTP/1.1 200 OK
&amp;lt; Cache-Control: private
&amp;lt; Content-Type: application/json; charset=utf-8
&amp;lt; Server: Microsoft-IIS/7.5
&amp;lt; Access-Control-Allow-Origin: *
&amp;lt; Access-Control-Allow-Methods: PUT,OPTIONS,POST,GET
&amp;lt; Access-Control-Allow-Headers: x-requested-with,cache-control,content-type,origin,method,SOAPAction
&amp;lt; X-Powered-By: ASP.NET
&amp;lt; Content-Length: 121
&amp;lt; Date: Tue, 08 Aug 2017 18:17:16 GMT
&amp;lt; Connection: keep-alive
{"messages":{"resultCode":"Error","message":[{"code":"E00117","text":"OTS Service Error 'Field validation error.'"}]}}&lt;/PRE&gt;&lt;P&gt;That leaves me little to nothing to go on with as both error codes don't perform well in a google search.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The worst part of all of this is that the response handler passed to Accept.dispatchData is never even fired!&lt;/P&gt;</description>
      <pubDate>Tue, 08 Aug 2017 18:27:04 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59225#M33822</guid>
      <dc:creator>felixschl</dc:creator>
      <dc:date>2017-08-08T18:27:04Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59230#M33827</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22125"&gt;@felixschl&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For future reference, we have a response code lookup tool at&amp;nbsp;&lt;A href="http://developer.authorize.net/api/reference/responseCodes.html" target="_blank"&gt;http://developer.authorize.net/api/reference/responseCodes.html&lt;/A&gt;. That wouldn't help you much in this case, though, because neither code has much of a description in that tool (yet).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In a nutshell, a dispatchData call to Accept.js will end up calling AcceptCore.js, which well do a request to our API to get a token. If an error is returned by our API, AcceptCore.js will map that to an Accept.js specific error and return it so that your response handler can deal with it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In your case, you have a log of the requests that AcceptCore.js is making. I don't think the first request means anything because it's just an OPTIONS request. But, the second request is AcceptCore actually calling the securePaymentContainerRequest call in our API to get a token. It gets a E00117 error back, which is not something that its error handling has set up to map to a specific Accept.js message, so it just passes it back (in my testing, the response handler still gets fired, though, so that part's a mystery).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The text passed back with the error is the real key:&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;"OTS Service Error 'Field validation error.'"&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The token service had trouble validating a field. In this case, it's the card number, because we don't allow spaces in the card number. Of course, it would be helpful if we returned an error that said something like "spaces aren't allowed in the card number", but error handling in Accept.js is an area for future improvement. Heck, advancing our js to strip out spaces before sending the number would be a good area for future improvement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, if you send the card number without spaces, does everything work correctly? If so, problem solved. You may just want to put something in to strip spaces out of your card number like:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;cardData.cardNumber = document.getElementById("CARDNUMBER").value.split(" ").join("");&lt;/PRE&gt;</description>
      <pubDate>Tue, 08 Aug 2017 19:51:55 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59230#M33827</guid>
      <dc:creator>Aaron</dc:creator>
      <dc:date>2017-08-08T19:51:55Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59243#M33839</link>
      <description>&lt;P&gt;Thank you for that detailed and honest response. The suggested fix does indeed work! I had not noticed the spaces because I was using a JS library to render the card details entry form (card.js). In this context the error message was actually quite revealing, but what threw me off was that the error code had a different shape from the other error codes (I had a look at the minifed Accept JS / Core sources), so I figured something else must've thrown it off, perhaps my self signed cert or something. Anyway, maybe the catch all error message should be clear about what it is and what it means in the context of Accept JS.&lt;/P&gt;</description>
      <pubDate>Wed, 09 Aug 2017 09:04:04 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59243#M33839</guid>
      <dc:creator>felixschl</dc:creator>
      <dc:date>2017-08-09T09:04:04Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59257#M33853</link>
      <description>&lt;P&gt;Actually, the callback still does not seem to fire, or only does so sporadically, both on error or success.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EDIT: Here's the successful request / response, but callback not fired:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;gt; HTTP/1.1 200 OK
&amp;gt; Cache-Control: private
&amp;gt; Content-Type: application/json; charset=utf-8
&amp;gt; Server: Microsoft-IIS/7.5
&amp;gt; Access-Control-Allow-Origin: *
&amp;gt; Access-Control-Allow-Methods: PUT,OPTIONS,POST,GET
&amp;gt; Access-Control-Allow-Headers: x-requested-with,cache-control,content-type,origin,method,SOAPAction
&amp;gt; X-Powered-By: ASP.NET
&amp;gt; Content-Length: 379
&amp;gt; Date: Wed, 09 Aug 2017 10:12:59 GMT
&amp;gt; Connection: keep-alive
{"securePaymentContainerRequest":{"merchantAuthentication":{"name":"...","clientKey":"..."},"data":{"type":"TOKEN","id":"...","token":{"cardNumber":"4007000000027","expirationDate":"122033","cardCode":"123"}}}}
&amp;lt; POST /xml/v1/request.api HTTP/1.1
&amp;lt; Host: apitest.authorize.net
&amp;lt; Connection: keep-alive
&amp;lt; Content-Length: 310
&amp;lt; Origin: https://localhost:8000
&amp;lt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36
&amp;lt; Content-Type: application/json; charset=UTF-8
&amp;lt; Accept: */*
&amp;lt; Referer: https://localhost:8000/donate/
&amp;lt; Accept-Encoding: gzip, deflate, br
&amp;lt; Accept-Language: en-US,en;q=0.8
{"opaqueData":{"dataDescriptor":"COMMON.ACCEPT.INAPP.PAYMENT","dataValue":"..."},"messages":{"resultCode":"Ok","message":[{"code":"I00001","text":"Successful."}]}}&lt;/PRE&gt;&lt;P&gt;The callback does seem to fire every now and then, but I have not found a pattern to it yet.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is how I call `Accept.dispatchData`:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Accept.dispatchData({...}, function responseHandler(response) {
  console.log('response', response);
});&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EDIT 2: I wonder, is there a non minified version of the Accept library to take a look at? It would be great to follow your code to see what's going on here&lt;/P&gt;</description>
      <pubDate>Wed, 09 Aug 2017 10:20:04 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59257#M33853</guid>
      <dc:creator>felixschl</dc:creator>
      <dc:date>2017-08-09T10:20:04Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59273#M33869</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22125"&gt;@felixschl&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you move the responseHandler function out of the dispatchData call&amp;nbsp;and see if that improves things at all? It shouldn't, but since I don't know what else is going on with your script, I'm sort of grasping at straws here.&lt;/P&gt;</description>
      <pubDate>Wed, 09 Aug 2017 16:50:44 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59273#M33869</guid>
      <dc:creator>Aaron</dc:creator>
      <dc:date>2017-08-09T16:50:44Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59279#M33875</link>
      <description>&lt;P&gt;I've put the debugger on the job to see what's happening. I think you will find this interesting:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;    c = "undefined" != typeof XDomainRequest ? new XDomainRequest : new XMLHttpRequest,
1)  c.open("post", d, !0),
    "undefined" == typeof XDomainRequest &amp;amp;&amp;amp; c.setRequestHeader("Content-Type", "application/json; charset=utf-8"),
    c.onload = function() {
2)      setTimeout(function() {
3)          n(c, b /* "b" is my responseHandler */),
            2e3
        })
    }
    ;&lt;/PRE&gt;&lt;P&gt;Breakpoint (1) always triggers, but (2) never, and subsequently (3) never. But in the network tab I can see the request coming through fine.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But beyond all that, the far bigger question on my mind, what is up with the artificial 2 second timeout?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EDIT: Another observation. The readyState on "c" changes properly from "1" (OPENED) to "4" (DONE) via the "onreadystatechanged" handler. The question now is why does "onload" not fire...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EDIT: And another observation. If I reload the page without a cache (cmd+shift+r in chrome), the first submission does work. or at least the callback gets fired but I am getting the dreaded "E_WC_14"&lt;/P&gt;</description>
      <pubDate>Wed, 09 Aug 2017 18:43:28 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59279#M33875</guid>
      <dc:creator>felixschl</dc:creator>
      <dc:date>2017-08-09T18:43:28Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59280#M33876</link>
      <description>&lt;P&gt;By the way, is there anything stopping you guys from open sourcing the Accept.JS codebase?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EDIT: So, I think changing the Accept.JS code to simply using ".onreadystatechange" would fix this&lt;/P&gt;</description>
      <pubDate>Wed, 09 Aug 2017 18:51:34 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59280#M33876</guid>
      <dc:creator>felixschl</dc:creator>
      <dc:date>2017-08-09T18:51:34Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59281#M33877</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22125"&gt;@felixschl&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you either post your code or give me any URL I see your code and try to duplicate in my browser?&lt;/P&gt;</description>
      <pubDate>Wed, 09 Aug 2017 21:22:44 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59281#M33877</guid>
      <dc:creator>Aaron</dc:creator>
      <dc:date>2017-08-09T21:22:44Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59296#M33891</link>
      <description>&lt;P&gt;I won't be able to provide a complete runnable solution, but here's the gist of it:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;        $submit.on('click', function(event) {
          event.preventDefault();
          var request = {
            cardData: {
              cardNumber: $cardNumberInput.val().split(' ').join(''),
              month: $cardExpiryInput.val().split('/')[0].trim(),
              year: '20'+$cardExpiryInput.val().split('/')[1].trim(),
              cardCode: $cardCvcInput.val()
            },
            authData: {
              clientKey: "{{ authnet_client_key }}",
              apiLoginID: "{{ authnet_api_login_id }}"
            }
          };

          Accept.dispatchData(
            request,
            responseHandler
          );

          function responseHandler(response) {
            console.log('response', response);
          }
        });&lt;/PRE&gt;&lt;P&gt;I can see that the request completes fine (sometimes erroneous, but most of the time fine). But the callback is not fired because XMLHttpRequest does not fire it's onload handler. It's onreadystatechange handler fires fine and reports "4" (DONE).&lt;/P&gt;</description>
      <pubDate>Thu, 10 Aug 2017 03:21:02 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59296#M33891</guid>
      <dc:creator>felixschl</dc:creator>
      <dc:date>2017-08-10T03:21:02Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59298#M33893</link>
      <description>&lt;P&gt;Well, I have no clue why onload does not fire.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I found these references, but the search reults on google are very scarce. You know it's bad when you have to go to page 2 of the search results.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;A href="https://stackoverflow.com/questions/16386598/javascript-xmlhttprequest-onload-function-not-reaching" target="_blank"&gt;https://stackoverflow.com/questions/16386598/javascript-xmlhttprequest-onload-function-not-reaching&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://stackoverflow.com/questions/14727710/xmlhttprequest-onload-not-called" target="_blank"&gt;https://stackoverflow.com/questions/14727710/xmlhttprequest-onload-not-called&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope it's just related to testing locally. I have followed the steps here: &lt;A href="https://certsimple.com/blog/localhost-ssl-fix" target="_blank"&gt;https://certsimple.com/blog/localhost-ssl-fix&lt;/A&gt; and configured my server to use the produced certificate and key. But still no luck.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyway, here is a super hacky work around that does work!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Object.defineProperty(
  XMLHttpRequest.prototype, 
  'onload', { set: function(v) {
    this.onreadystatechange = function(x) {
      if (this.readyState == 4) {
        v();
      }
    }
  }}
);&lt;/PRE&gt;&lt;P&gt;I hope this will be addressed in a future version of Accept.JS&lt;/P&gt;</description>
      <pubDate>Thu, 10 Aug 2017 04:18:31 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59298#M33893</guid>
      <dc:creator>felixschl</dc:creator>
      <dc:date>2017-08-10T04:18:31Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59299#M33894</link>
      <description>&lt;P&gt;I would also really love an answer to the artificial 2 second timeout? Why does it exist? Why not just call the callback?&lt;/P&gt;</description>
      <pubDate>Thu, 10 Aug 2017 04:45:41 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59299#M33894</guid>
      <dc:creator>felixschl</dc:creator>
      <dc:date>2017-08-10T04:45:41Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59307#M33900</link>
      <description>&lt;P&gt;I have, quite accidentally actually, found the root cause for the "onload" callback not firing and it was NOT related to authorize.net in any way, but instead with a 3rd party module I am using in my django app: &lt;A href="https://github.com/jorgebastida/django-dajaxice/blob/master/dajaxice/templates/dajaxice/dajaxice.core.js#L118-L128" target="_blank"&gt;https://github.com/jorgebastida/django-dajaxice/blob/master/dajaxice/templates/dajaxice/dajaxice.core.js#L118-L128&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So now the only issues remaining are:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Every now and then requests fail immediately with E_WC_14, I'll dig into this one more&lt;/LI&gt;&lt;LI&gt;The artificial 2 second wait&lt;/LI&gt;&lt;LI&gt;Better error reporting for the catch all error (E_WC_14). Even a console.warn would do the trick.&lt;/LI&gt;&lt;/UL&gt;</description>
      <pubDate>Thu, 10 Aug 2017 15:39:17 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59307#M33900</guid>
      <dc:creator>felixschl</dc:creator>
      <dc:date>2017-08-10T15:39:17Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59330#M33923</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22125"&gt;@felixschl&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'll address the other points shortly, but I first want to address the non-minified script. I've been pushing for such a thing. I can't just take the source .js out of our repository and post it somewhere because there's too much internal stuff in there. But, I can at least probably take the minified version, de-minify it, and give new function names and comments based on my knowledge of the internal workings.&lt;BR /&gt; &lt;BR /&gt;Ultimately, though, what I'd really like to see is a version suitable for public consumption that's either linked to from our documentation and automatically updated with each release, or, an actual live usable non-minified version that a developer can optionally use in the development process for troubleshooting.&lt;BR /&gt; &lt;BR /&gt;I'd encourage you to post this onto our &lt;A href="https://community.developer.authorize.net/t5/Ideas/idb-p/ideas" target="_self"&gt;Ideas Forum&lt;/A&gt; where others can take a look, contribute feedback, and vote for new features, as it would help us to track and build support internally.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As far as open source, I'd love it but that's tricky. Remember, we're Visa, and we're part of the machine that is responsible for good chunk of the whole world's commerce. Visa is naturally a little reluctant to do anything that could ever have a negative effect on that vast network.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Our core transaction processing system would never be open source for that reason, but we've got tools like our SDKs that exist to help developers use our core system which are open source. Accept.js sits in a middle ground between those. It's a tool to help you use our system, but it's a little closer to being a core feature of the system.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With a JavaScript, you can see the source (albeit in a minified form), so it's not as if closed source would protect against people seeing the inner workings of the script. One thing that works against open sourcing it is the fact that it would never be something that people would be able to fork their own versions of since our system would only give tokens to our version hosted on our site. Still, even knowing that, open sourcing the component would give people more view on the development process and the ability to possibly impact changes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If we just want to meet the desire to see how things work, we can do that by getting a non-minified script out there. I'll keep working on that on my end.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;These are my thoughts personally, though, and any decision to open source a component is made above my pay grade, but making more things open source is definitely something we consider all the time.&lt;/P&gt;</description>
      <pubDate>Thu, 10 Aug 2017 20:35:34 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59330#M33923</guid>
      <dc:creator>Aaron</dc:creator>
      <dc:date>2017-08-10T20:35:34Z</dc:date>
    </item>
    <item>
      <title>Re: Errors E00003/E00117 with Accept JS</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59334#M33927</link>
      <description>&lt;P&gt;As to these remaining issues:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22125"&gt;@felixschl&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Every now and then requests fail immediately with E_WC_14, I'll dig into this one more&lt;/LI&gt;
&lt;LI&gt;The artificial 2 second wait&lt;/LI&gt;
&lt;LI&gt;Better error reporting for the catch all error (E_WC_14). Even a console.warn would do the trick.&lt;/LI&gt;
&lt;/UL&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Failing with an E_WC_14... Ugh. Since it's a broad case, it's hard to troubleshoot. Sorry about that, should get better. It's often issues of the scripts not loading properly or fully, which leads us to the next point:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Timeouts - From glancing through the code, my (perhaps erroneus) conclusions are: In Accept.js, there's two functions that wait for time to elapse before being called. One waits two seconds before loading AcceptCore.js. Purely speculation on my part, but my belief is that would be there to ensure everything's loaded right first. Shouldn't be an issue in normal practice because it should take someone more than 2 seconds to fill in their payment form. However, if you've got a case where it's interfering with something else or causing other problems, let us know.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The other timed function only fires when the hash of an AJAX load of AcceptCore.js doesn't match what Accept.js is expecting. After two seconds it looks like it's going through the dispatchData process but overwriting the result with an error code specifically so that error can be passed to your response handler, and also possibly overwriting some other variables. Don't know why it has to wait two seconds there, but I suspect it's for a fallback in case the error code doesn't make it to your callback another way?.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In AcceptCore.js, there's one timed function that fires two seconds after onload fires for the API request. But, it doesn't look like anything's actually waiting for that response. It looks like that's just overwriting the actual API response codes after another part of the code deals with it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Again, just my conclusion after trying to step through the code served from our site. It seems like this would be a little easier if there was a version of the script that perhaps wasn't minified, and had some comments explaining what was going on...&lt;/P&gt;</description>
      <pubDate>Thu, 10 Aug 2017 22:26:38 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Errors-E00003-E00117-with-Accept-JS/m-p/59334#M33927</guid>
      <dc:creator>Aaron</dc:creator>
      <dc:date>2017-08-10T22:26:38Z</dc:date>
    </item>
  </channel>
</rss>

