<?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: Not getting transactResponse event when using IFrameCommunicator method in sandbox in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59658#M34236</link>
    <description>&lt;P&gt;I discover that if I set&amp;nbsp;&lt;STRONG&gt;showReceipt&lt;/STRONG&gt; to &lt;STRONG&gt;false&lt;/STRONG&gt; in "hostedPaymentReturnOptions'" the transactResponse notication finaly comes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;'settingName' =&amp;gt; 'hostedPaymentReturnOptions',&lt;BR /&gt;'settingValue' =&amp;gt; '{"showReceipt" : false, "url":"&lt;A href="https://yapiapp.io/ph/ancontinue.php&amp;quot;,&amp;quot;urlText&amp;quot;:&amp;quot;Continue&amp;quot;,&amp;quot;cancelUrl&amp;quot;:&amp;quot;https://yapiapp.io/ph/ancancel.php&amp;quot;,&amp;quot;cancelUrlText&amp;quot;:&amp;quot;Cancel" target="_blank"&gt;https://yapiapp.io/ph/ancontinue.php","urlText":"Continue","cancelUrl":"https://yapiapp.io/ph/ancancel.php","cancelUrlText":"Cancel&lt;/A&gt;"}'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So i my code i can extract tranaction data and close the frame&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;case "transactResponse" :&lt;BR /&gt;&lt;BR /&gt;var transResponse = JSON.parse(params['response']);&lt;BR /&gt;//extract data&lt;BR /&gt;var at=transResponse.accountType;&lt;BR /&gt;var an=transResponse.accountNumber;&lt;BR /&gt;var tid=transResponse.transId;&lt;BR /&gt;var auth=transResponse.authorization;&lt;BR /&gt;console.log("at=" + at + " an=" +an + " tid=" + tid + " auth=" +auth);&lt;BR /&gt;//close modal dialog&lt;BR /&gt;$( "#iframe_holder" ).dialog('close');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Though the url specified in transactResponse is not loaded in the frame.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;According&amp;nbsp;to the documentation&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;When the&amp;nbsp;showReceipt parameter is true, our system will display a receipt page after the transaction, with a "Continue" button that points back to the URL provided in the&amp;nbsp;urlparameter.&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;When&amp;nbsp;showReceipt&amp;nbsp;is false, a return URL must be provided in the&amp;nbsp;url parameter. Otherwise the receipt page will be shown.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So what I found is that my page gets&amp;nbsp;&lt;SPAN&gt;transactResponse action &lt;STRONG&gt;only if&amp;nbsp;showReceipt if false&lt;/STRONG&gt; and no url is loaded. Is this what I should expect or I am&amp;nbsp;missing something still?&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Appreciate your help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 04 Sep 2017 00:36:37 GMT</pubDate>
    <dc:creator>yapi</dc:creator>
    <dc:date>2017-09-04T00:36:37Z</dc:date>
    <item>
      <title>Not getting transactResponse event when using IFrameCommunicator method in sandbox</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59654#M34232</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Just started with Authorize.net SDK.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I am using hosted payment page in sandbox using IFrameCommunicato&amp;nbsp;method. I implemented IFrameCommunicator mechanism to receive messages.&lt;BR /&gt;&lt;BR /&gt;My main page gets resize events and cancel event. I am not getting transactResponse event on completed transaction.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Wondering whether transactResponse event is available in the sandbox environment? Am I missing something?&lt;BR /&gt;&lt;BR /&gt;Appreciate your help.&lt;/P&gt;</description>
      <pubDate>Sun, 03 Sep 2017 17:15:16 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59654#M34232</guid>
      <dc:creator>yapi</dc:creator>
      <dc:date>2017-09-03T17:15:16Z</dc:date>
    </item>
    <item>
      <title>Re: Not getting transactResponse event when using IFrameCommunicator method in sandbox</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59655#M34233</link>
      <description>&lt;P&gt;Here is my code. &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I see notification comming. But only resize and cancel; on successful payment my window gets resize but no&amp;nbsp;transactResponse event&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Main page. For simplicity, the page gets new token and embedd it into the form. Button click invokes the form&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;?php&lt;/P&gt;&lt;P&gt;$token="";&lt;/P&gt;&lt;P&gt;$APILOGINID= 'XXXXXX';&lt;/P&gt;&lt;P&gt;$TRANSACTIONKEY= 'YYYYYYYY';&lt;BR /&gt;$AMT='20.00';&lt;BR /&gt;$EMAIL='testtesttest@gmail.com';&lt;BR /&gt;$CUSTOMERID=1;&lt;BR /&gt;$REFID=111;&lt;BR /&gt;$DESCRIPTION='This is order description';&lt;BR /&gt;$req=array(&lt;BR /&gt;'getHostedPaymentPageRequest' =&amp;gt; array (&lt;BR /&gt;'merchantAuthentication' =&amp;gt; array ( 'name' =&amp;gt; $APILOGINID , 'transactionKey' =&amp;gt; $TRANSACTIONKEY),&lt;BR /&gt;'refId' =&amp;gt; $REFID,&lt;BR /&gt;'transactionRequest' =&amp;gt; array (&lt;BR /&gt;'transactionType' =&amp;gt; 'authCaptureTransaction',&lt;BR /&gt;'amount' =&amp;gt; $AMT,&lt;BR /&gt;'order' =&amp;gt; array( 'description' =&amp;gt; $DESCRIPTION ),&lt;BR /&gt;'customer' =&amp;gt; array( 'email' =&amp;gt; $EMAIL),&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;),&lt;BR /&gt;'hostedPaymentSettings' =&amp;gt; array (&lt;BR /&gt;'setting' =&amp;gt; array (&lt;BR /&gt;array (&lt;BR /&gt;'settingName' =&amp;gt; 'hostedPaymentPaymentOptions',&lt;BR /&gt;'settingValue' =&amp;gt; '{"cardCodeRequired" : true}'&lt;BR /&gt;),&lt;BR /&gt;array (&lt;BR /&gt;'settingName' =&amp;gt; 'hostedPaymentBillingAddressOptions',&lt;BR /&gt;'settingValue' =&amp;gt; '{"show": true, "required":true}'&lt;BR /&gt;),&lt;BR /&gt;array (&lt;BR /&gt;'settingName' =&amp;gt; 'hostedPaymentStyleOptions',&lt;BR /&gt;'settingValue' =&amp;gt; '{"bgColor": "EE00EE"}'&lt;BR /&gt;),&lt;BR /&gt;array (&lt;BR /&gt;'settingName' =&amp;gt; 'hostedPaymentButtonOptions',&lt;BR /&gt;'settingValue' =&amp;gt; '{"text": "Pay Now"}'&lt;BR /&gt;),&lt;BR /&gt;array (&lt;BR /&gt;'settingName' =&amp;gt; 'hostedPaymentSecurityOptions',&lt;BR /&gt;'settingValue' =&amp;gt; '{"captcha": false}'&lt;BR /&gt;),&lt;BR /&gt;array (&lt;BR /&gt;'settingName' =&amp;gt; 'hostedPaymentOrderOptions',&lt;BR /&gt;'settingValue' =&amp;gt; '{"show": true, "merchantName" : "Smiling Dentist"}'&lt;BR /&gt;),&lt;BR /&gt;array (&lt;BR /&gt;'settingName' =&amp;gt; 'hostedPaymentIFrameCommunicatorUrl',&lt;BR /&gt;'settingValue' =&amp;gt; '{"url": "&lt;A href="https://yapiapp.io/ph/ancallback.php" target="_blank"&gt;https://yapiapp.io/ph/ancallback.php&lt;/A&gt;"}'&lt;BR /&gt;),&lt;BR /&gt;array (&lt;BR /&gt;'settingName' =&amp;gt; 'hostedPaymentReturnOptions',&lt;BR /&gt;'settingValue' =&amp;gt; '{"url":"&lt;A href="https://yapiapp.io/ph/ancontinue.php&amp;quot;,&amp;quot;urlText&amp;quot;:&amp;quot;Continue&amp;quot;,&amp;quot;cancelUrl&amp;quot;:&amp;quot;https://yapiapp.io/ph/ancancel.php&amp;quot;,&amp;quot;cancelUrlText&amp;quot;:&amp;quot;Cancel" target="_blank"&gt;https://yapiapp.io/ph/ancontinue.php","urlText":"Continue","cancelUrl":"https://yapiapp.io/ph/ancancel.php","cancelUrlText":"Cancel&lt;/A&gt;"}'&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;);&lt;BR /&gt;$request=json_encode($req);&lt;/P&gt;&lt;P&gt;try&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;$ch = curl_init('&lt;A href="https://apitest.authorize.net/xml/v1/request.api" target="_blank"&gt;https://apitest.authorize.net/xml/v1/request.api&lt;/A&gt;');&lt;/P&gt;&lt;P&gt;curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0 YAPI/2');&lt;/P&gt;&lt;P&gt;curl_setopt($ch, CURLOPT_REFERER, '&lt;A href="https://yapiapp.io/ph/index.php" target="_blank"&gt;https://yapiapp.io/ph/index.php&lt;/A&gt;');&lt;BR /&gt;curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);&lt;BR /&gt;curl_setopt($ch, CURLOPT_POSTFIELDS, $request);&lt;BR /&gt;curl_setopt($ch, CURLOPT_HTTPHEADER, array(&lt;BR /&gt;'Accept: application/json',&lt;BR /&gt;'Content-Type: application/json'));&lt;BR /&gt;curl_setopt($ch, CURLOPT_ENCODING, '');&lt;/P&gt;&lt;P&gt;curl_setopt($ch, CURLINFO_HEADER_OUT, true); // enable tracking&lt;/P&gt;&lt;P&gt;$response = curl_exec($ch);&lt;BR /&gt;$response=substr($response,3); //to get rid of funny characters&lt;/P&gt;&lt;P&gt;$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);&lt;BR /&gt;&lt;BR /&gt;$headerSent = curl_getinfo($ch, CURLINFO_HEADER_OUT );&lt;BR /&gt;$headerIn = curl_getinfo($ch, CURLINFO_HEADER_IN );&lt;/P&gt;&lt;P&gt;curl_close($ch);&lt;/P&gt;&lt;P&gt;$r=(array)json_decode($response,true);&lt;/P&gt;&lt;P&gt;$token=$r['token'];&lt;BR /&gt;$resultCode=$r['messages']['resultCode'];&lt;/P&gt;&lt;P&gt;$r["httpcode"]=$httpcode;&lt;/P&gt;&lt;P&gt;}&lt;BR /&gt;catch(Exception $e) {&lt;BR /&gt;echo "error " . print_r($e,1);&lt;BR /&gt;}&lt;BR /&gt;$stop='&amp;lt;!--';&lt;BR /&gt;$stop2='--&amp;gt;';&lt;BR /&gt;if($httpcode == 200 &amp;amp;&amp;amp; $resultCode == 'Ok')&lt;BR /&gt;{&lt;BR /&gt;$stop='';&lt;BR /&gt;$stop2='';&lt;BR /&gt;}&lt;BR /&gt;?&amp;gt;&lt;BR /&gt;&amp;lt;html&amp;gt;&lt;BR /&gt;&amp;lt;header&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"&amp;gt;&lt;BR /&gt;&amp;lt;script src="&lt;A href="https://community.developer.cybersource.com/" target="_blank"&gt;https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"&amp;gt;&amp;lt;/script&lt;/A&gt;&amp;gt;&lt;BR /&gt;&amp;lt;script src="&lt;A href="https://community.developer.cybersource.com/" target="_blank"&gt;https://code.jquery.com/ui/1.12.1/jquery-ui.js"&amp;gt;&amp;lt;/script&lt;/A&gt;&amp;gt;&lt;BR /&gt;&amp;lt;style&amp;gt;&lt;BR /&gt;html, iframe{&lt;BR /&gt;overflow: scroll;&lt;BR /&gt;-webkit-overflow-scrolling: touch;&lt;BR /&gt;}&lt;BR /&gt;&amp;lt;/style&amp;gt;&lt;BR /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;/P&gt;&lt;P&gt;window.CommunicationHandler = {};&lt;BR /&gt;function parseQueryString(str) {&lt;BR /&gt;var vars = [];&lt;BR /&gt;var arr = str.split('&amp;amp;');&lt;BR /&gt;var pair;&lt;BR /&gt;for (var i = 0; i &amp;lt; arr.length; i++) {&lt;BR /&gt;pair = arr[i].split('=');&lt;BR /&gt;console.log(pair);&lt;BR /&gt;vars[pair[0]] = unescape(pair[1]);&lt;BR /&gt;}&lt;BR /&gt;console.log(vars);&lt;BR /&gt;return vars;&lt;BR /&gt;}&lt;BR /&gt;window.CommunicationHandler.onReceiveCommunication = function (argument) {&lt;BR /&gt;console.log(JSON.stringify(argument));&lt;BR /&gt;params = parseQueryString(argument.qstr)&lt;BR /&gt;parentFrame = argument.parent.split('/')[4];&lt;BR /&gt;console.log(params);&lt;BR /&gt;console.log(parentFrame);&lt;BR /&gt;console.log("action=" + params['action']);&lt;/P&gt;&lt;P&gt;switch(params['action']){&lt;BR /&gt;case "resizeWindow" :&lt;BR /&gt;if(parseInt(params['height'])&amp;lt;1000) params['height']=1000;&lt;BR /&gt;console.log("resize h=" + parseInt(params['height']));&lt;BR /&gt;$( "#iframe_holder" ).dialog({ height:parseInt(params['height'])});&lt;BR /&gt;break;&lt;/P&gt;&lt;P&gt;case "cancel" :&lt;BR /&gt;&lt;BR /&gt;break;&lt;/P&gt;&lt;P&gt;case "transactResponse" :&lt;BR /&gt;var transResponse = JSON.parse(params['response']);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;}&lt;BR /&gt;&amp;lt;/script&amp;gt;&lt;BR /&gt;&amp;lt;/header&amp;gt;&lt;BR /&gt;&amp;lt;body&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;div id="iframe_holder" class="center-block" style="width:90%;max-width: 1000px" &amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;iframe id="load_payment" class="embed-responsive-item" name="load_payment" width="90%" height="1000px" frameborder="0" scrolling="yes" &amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/iframe&amp;gt;&lt;BR /&gt;&amp;lt;form id="send_hptoken" name="send_hptoken" action="&lt;A href="https://test.authorize.net/payment/payment" target="_blank"&gt;https://test.authorize.net/payment/payment&lt;/A&gt;" method="post" target="load_payment" &amp;gt;&lt;BR /&gt;&amp;lt;input type="hidden" name="token" value="&amp;lt;?php echo $token ?&amp;gt;" /&amp;gt;&lt;BR /&gt;&amp;lt;/form&amp;gt;&lt;BR /&gt;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;script&amp;gt;&lt;/P&gt;&lt;P&gt;$("#iframe_holder iframe").hide();&lt;BR /&gt;function go(){&lt;BR /&gt;$('#load_payment').hidden=false;&lt;BR /&gt;var wWidth = $(window).width();&lt;BR /&gt;var dWidth = wWidth * 0.8;&lt;BR /&gt;var wHeight = $(window).height();&lt;BR /&gt;var dHeight = wHeight * 0.8;&lt;BR /&gt;$("#iframe_holder iframe").show();&lt;BR /&gt;$( "#iframe_holder" ).dialog({autoOpen : false, modal : true, show : "blind", hide : "blind", width:dWidth, height:dHeight, position: {my: 'bottom' }});&lt;BR /&gt;$( "#iframe_holder" ).dialog({title: "Pay now "});&lt;BR /&gt;document.send_hptoken.submit();&lt;BR /&gt;$( "#iframe_holder" ).dialog("open");&lt;BR /&gt;} ;&lt;BR /&gt;&amp;lt;/script&amp;gt;&lt;BR /&gt;&amp;lt;?php echo $stop;?&amp;gt;&amp;lt;button onclick="go();" style="height:50px;width:200px"&amp;gt;Go&amp;lt;/button&amp;gt;&amp;lt;?php echo $stop2;?&amp;gt;&lt;BR /&gt;&amp;lt;/body&amp;gt;&lt;BR /&gt;&amp;lt;/html&amp;gt;&lt;BR /&gt;&lt;BR /&gt;communication page is from github example&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;lt;html xmlns="&lt;A href="http://www.w3.org/1999/xhtml" target="_blank"&gt;http://www.w3.org/1999/xhtml&lt;/A&gt;"&amp;gt;&lt;BR /&gt;&amp;lt;head&amp;gt;&lt;BR /&gt;&amp;lt;title&amp;gt;IFrame Communicator&amp;lt;/title&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;!--&lt;BR /&gt;To securely communicate between our Accept Hosted form and your web page,&lt;BR /&gt;we need a communicator page which will be hosted on your site alongside&lt;BR /&gt;your checkout/payment page. You can provide the URL of the communicator&lt;BR /&gt;page in your token request, which will allow Authorize.Net to embed the&lt;BR /&gt;communicator page in the payment form, and send JavaScript messaging through&lt;BR /&gt;your communicator page to a listener script on your main page.&lt;/P&gt;&lt;P&gt;This page contains a JavaScript that listens for events from the payment&lt;BR /&gt;form and passes them to an event listener in the main page.&lt;BR /&gt;--&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;/P&gt;&lt;P&gt;function callParentFunction(str) {&lt;BR /&gt;if (str &amp;amp;&amp;amp; str.length &amp;gt; 0 &amp;amp;&amp;amp; window.parent &amp;amp;&amp;amp; window.parent.parent&lt;BR /&gt;&amp;amp;&amp;amp; window.parent.parent.CommunicationHandler &amp;amp;&amp;amp; window.parent.parent.CommunicationHandler.onReceiveCommunication)&lt;BR /&gt;{&lt;BR /&gt;var referrer = document.referrer;&lt;BR /&gt;window.parent.parent.CommunicationHandler.onReceiveCommunication({qstr : str , parent : referrer});&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;function receiveMessage(event) {&lt;BR /&gt;if (event &amp;amp;&amp;amp; event.data) {&lt;BR /&gt;callParentFunction(event.data);&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;if (window.addEventListener) {&lt;BR /&gt;window.addEventListener("message", receiveMessage, false);&lt;BR /&gt;} else if (window.attachEvent) {&lt;BR /&gt;window.attachEvent("onmessage", receiveMessage);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;if (window.location.hash &amp;amp;&amp;amp; window.location.hash.length &amp;gt; 1) {&lt;BR /&gt;callParentFunction(window.location.hash.substring(1));&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;lt;/script&amp;gt;&lt;BR /&gt;&amp;lt;/head&amp;gt;&lt;BR /&gt;&amp;lt;body&amp;gt;&lt;BR /&gt;&amp;lt;/body&amp;gt;&lt;BR /&gt;&amp;lt;/html&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 03 Sep 2017 19:19:39 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59655#M34233</guid>
      <dc:creator>yapi</dc:creator>
      <dc:date>2017-09-03T19:19:39Z</dc:date>
    </item>
    <item>
      <title>Re: Not getting transactResponse event when using IFrameCommunicator method in sandbox</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59656#M34234</link>
      <description>&lt;P&gt;You're checking for&amp;nbsp;case "transactResponse" and assigning&amp;nbsp;var transResponse = JSON.parse(params['response']); but not doing anything with the results.&lt;/P&gt;&lt;PRE&gt;&amp;lt;script&amp;gt;
    window.CommunicationHandler = {};
    function parseQueryString(str) {
        var vars = [];
        var arr = str.split('&amp;amp;');
        var pair;
        for (var i = 0; i &amp;lt; arr.length; i++) {
            pair = arr[i].split('=');
            vars[pair[0]] = unescape(pair[1]);
        }
        return vars;
    }
    window.CommunicationHandler.onReceiveCommunication = function (argument) {
        params = parseQueryString(argument.qstr)
        parentFrame = argument.parent.split('/')[4];
        switch (params['action']) {
            case "transactResponse":
           var transResponse = JSON.parse(params['response']);
           console.log(transResponse);
            if (transResponse.transId &amp;gt; 0) {
                 //  Do something like  $('#load_payment').hide();  $('#demo').html("Thank you. Your Transaction Id is: "+transResponse.transId);

                 
                }
              
        }

    }

&amp;lt;/script&amp;gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 03 Sep 2017 20:21:54 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59656#M34234</guid>
      <dc:creator>NexusSoftware</dc:creator>
      <dc:date>2017-09-03T20:21:54Z</dc:date>
    </item>
    <item>
      <title>Re: Not getting transactResponse event when using IFrameCommunicator method in sandbox</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59657#M34235</link>
      <description>&lt;P&gt;I have console.log that shows all actions coming. No &amp;nbsp;transactResponse&amp;nbsp;though. Only resize and cancel&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;window.CommunicationHandler.onReceiveCommunication = function (argument) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; console.log(JSON.stringify(argument));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; params = parseQueryString(argument.qstr)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; parentFrame = argument.parent.split('/')[4];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; console.log(params);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; console.log(parentFrame);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; console.log("action=" + params['action']);&lt;BR /&gt;&lt;BR /&gt;console shows on form creation&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{"qstr":"action=resizeWindow&amp;amp;width=729&amp;amp;height=1103","parent":"&lt;A href="https://test.authorize.net/payment/payment" target="_blank"&gt;https://test.authorize.net/payment/payment&lt;/A&gt;"}&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;on transaction completed&lt;BR /&gt;{"qstr":"action=resizeWindow&amp;amp;width=729&amp;amp;height=971","parent":"&lt;A href="https://test.authorize.net/payment/payment" target="_blank"&gt;https://test.authorize.net/payment/payment&lt;/A&gt;"}&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;when iclick continue button it loads url into the form and I am getting&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;{"qstr":"action=cancel","parent":"&lt;A href="https://test.authorize.net/payment/payment" target="_blank"&gt;https://test.authorize.net/payment/payment&lt;/A&gt;"}&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 03 Sep 2017 23:47:01 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59657#M34235</guid>
      <dc:creator>yapi</dc:creator>
      <dc:date>2017-09-03T23:47:01Z</dc:date>
    </item>
    <item>
      <title>Re: Not getting transactResponse event when using IFrameCommunicator method in sandbox</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59658#M34236</link>
      <description>&lt;P&gt;I discover that if I set&amp;nbsp;&lt;STRONG&gt;showReceipt&lt;/STRONG&gt; to &lt;STRONG&gt;false&lt;/STRONG&gt; in "hostedPaymentReturnOptions'" the transactResponse notication finaly comes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;'settingName' =&amp;gt; 'hostedPaymentReturnOptions',&lt;BR /&gt;'settingValue' =&amp;gt; '{"showReceipt" : false, "url":"&lt;A href="https://yapiapp.io/ph/ancontinue.php&amp;quot;,&amp;quot;urlText&amp;quot;:&amp;quot;Continue&amp;quot;,&amp;quot;cancelUrl&amp;quot;:&amp;quot;https://yapiapp.io/ph/ancancel.php&amp;quot;,&amp;quot;cancelUrlText&amp;quot;:&amp;quot;Cancel" target="_blank"&gt;https://yapiapp.io/ph/ancontinue.php","urlText":"Continue","cancelUrl":"https://yapiapp.io/ph/ancancel.php","cancelUrlText":"Cancel&lt;/A&gt;"}'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So i my code i can extract tranaction data and close the frame&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;case "transactResponse" :&lt;BR /&gt;&lt;BR /&gt;var transResponse = JSON.parse(params['response']);&lt;BR /&gt;//extract data&lt;BR /&gt;var at=transResponse.accountType;&lt;BR /&gt;var an=transResponse.accountNumber;&lt;BR /&gt;var tid=transResponse.transId;&lt;BR /&gt;var auth=transResponse.authorization;&lt;BR /&gt;console.log("at=" + at + " an=" +an + " tid=" + tid + " auth=" +auth);&lt;BR /&gt;//close modal dialog&lt;BR /&gt;$( "#iframe_holder" ).dialog('close');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Though the url specified in transactResponse is not loaded in the frame.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;According&amp;nbsp;to the documentation&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;When the&amp;nbsp;showReceipt parameter is true, our system will display a receipt page after the transaction, with a "Continue" button that points back to the URL provided in the&amp;nbsp;urlparameter.&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;When&amp;nbsp;showReceipt&amp;nbsp;is false, a return URL must be provided in the&amp;nbsp;url parameter. Otherwise the receipt page will be shown.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So what I found is that my page gets&amp;nbsp;&lt;SPAN&gt;transactResponse action &lt;STRONG&gt;only if&amp;nbsp;showReceipt if false&lt;/STRONG&gt; and no url is loaded. Is this what I should expect or I am&amp;nbsp;missing something still?&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Appreciate your help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 04 Sep 2017 00:36:37 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59658#M34236</guid>
      <dc:creator>yapi</dc:creator>
      <dc:date>2017-09-04T00:36:37Z</dc:date>
    </item>
    <item>
      <title>Re: Not getting transactResponse event when using IFrameCommunicator method in sandbox</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59659#M34237</link>
      <description>Yes, that is correct, because when showReceipt is false, the transactResponse is sent via your Icommunicator URL instead of showing a receipt and you are able to handle the response yourself.</description>
      <pubDate>Mon, 04 Sep 2017 02:05:29 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59659#M34237</guid>
      <dc:creator>NexusSoftware</dc:creator>
      <dc:date>2017-09-04T02:05:29Z</dc:date>
    </item>
    <item>
      <title>Re: Not getting transactResponse event when using IFrameCommunicator method in sandbox</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59663#M34241</link>
      <description>&lt;P&gt;Thank you for your help. It was not clear from documentation.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2017 05:56:33 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59663#M34241</guid>
      <dc:creator>yapi</dc:creator>
      <dc:date>2017-09-05T05:56:33Z</dc:date>
    </item>
    <item>
      <title>Re: Not getting transactResponse event when using IFrameCommunicator method in sandbox</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59670#M34248</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22270"&gt;@yapi&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The design basically provides for two scenarios:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;We display a receipt and that receipt has a link back to your site&lt;/LI&gt;
&lt;LI&gt;We don't display a receipt, and you get enough transaction information to generate a receipt and proceed from there.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;There's nothing in the design of the system that would allow for any sort of hybrid between the two, like using our receipt page but then getting the transaction information directly.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your concerns about documentation are well&amp;nbsp;noted. I'll talk to the documentation team about ways to make that more clear in the documentation.&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2017 16:44:25 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/59670#M34248</guid>
      <dc:creator>Aaron</dc:creator>
      <dc:date>2017-09-05T16:44:25Z</dc:date>
    </item>
    <item>
      <title>Re: Not getting transactResponse event when using IFrameCommunicator method in sandbox</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/72752#M44963</link>
      <description>&lt;P&gt;I am setting "showReceipt": false in&amp;nbsp;hostedPaymentReturnOptions but I am not getting back&amp;nbsp;transactResponse. The response I am getting back is just "resizeWindow"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is my code to generate the token. I am using the nugetpackages in MVC to acess authorize.net&lt;/P&gt;&lt;PRE&gt;public ActionResult GetAnAcceptPaymentPage(decimal amount)
        {
            
            string customerprofileid = "1927297243";
            ApiOperationBase&amp;lt;ANetApiRequest, ANetApiResponse&amp;gt;.RunEnvironment = AuthorizeNet.Environment.SANDBOX;
            ApiOperationBase&amp;lt;ANetApiRequest, ANetApiResponse&amp;gt;.MerchantAuthentication = new merchantAuthenticationType()
            {
                name = ApiLoginID,
                ItemElementName = ItemChoiceType.transactionKey,
                Item = ApiTransactionKey,
            };

            settingType[] settings = new settingType[10];

            settings[0] = new settingType();
            settings[0].settingName = settingNameEnum.hostedPaymentButtonOptions.ToString();
            settings[0].settingValue = "{\"text\": \"Pay\"}";

            settings[1] = new settingType();
            settings[1].settingName = settingNameEnum.hostedPaymentOrderOptions.ToString();
            settings[1].settingValue = "{\"show\": false}";

            settings[2] = new settingType();
            settings[2].settingName = settingNameEnum.hostedPaymentReturnOptions.ToString();
            settings[2].settingValue = "{\"showReceipt\": false, \"url\": \"https://localhost:44398//AgentProfile/AgentProfile?tab_MyWallet\", \"cancelUrl\": \"https://localhost:44398//AgentProfile/AgentProfile?tab_MyWallet\", \"cancelUrlText\": \"Cancel\"}";

            settings[3] = new settingType();
            settings[3].settingName = settingNameEnum.hostedPaymentStyleOptions.ToString();
            settings[3].settingValue = "{\"bgColor\": \"blue\"}";

            settings[4] = new settingType();
            settings[4].settingName = settingNameEnum.hostedPaymentPaymentOptions.ToString();
            settings[4].settingValue = "{\"cardCodeRequired\": false, \"showCreditCard\": true, \"showBankAccount\": false}";

            settings[5] = new settingType();
            settings[5].settingName = settingNameEnum.hostedPaymentSecurityOptions.ToString();
            settings[5].settingValue = "{\"captcha\": true}";

            settings[6] = new settingType();
            settings[6].settingName = settingNameEnum.hostedPaymentShippingAddressOptions.ToString();
            settings[6].settingValue = "{\"show\": false, \"required\": false}";

            settings[7] = new settingType();
            settings[7].settingName = settingNameEnum.hostedPaymentBillingAddressOptions.ToString();
            settings[7].settingValue = "{\"show\": false, \"required\": false}";

            settings[8] = new settingType();
            settings[8].settingName = settingNameEnum.hostedPaymentCustomerOptions.ToString();
            settings[8].settingValue = "{\"showEmail\": false, \"requiredEmail\": false, \"addPaymentProfile\": true}";

            settings[8] = new settingType();
            settings[8].settingName = settingNameEnum.hostedPaymentIFrameCommunicatorUrl.ToString();
            settings[8].settingValue = "{\"url\": \"https://localhost:44398//AgentProfile/IframeCommunicator\"}";

            var transactionRequest = new transactionRequestType
            {
                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize capture only
                amount = amount,
                order = new orderType
                {
                    invoiceNumber = "INV-123456",
                    description = "TEST INVOICE"
                }
                
            };

            var request = new getHostedPaymentPageRequest();
            request.clientId = customerprofileid;
            request.transactionRequest = transactionRequest;

            request.hostedPaymentSettings = settings;

            var controller = new getHostedPaymentPageController(request);
            controller.Execute();

            var response = controller.GetApiResponse();

            if (response != null &amp;amp;&amp;amp; response.messages.resultCode == messageTypeEnum.Ok)
            {

            }
            else if (response != null)
            {
                
            }

            return Json(response, "application/json", Encoding.UTF8, JsonRequestBehavior.AllowGet);
        }&lt;/PRE&gt;&lt;P&gt;JS Code:&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;$.ajax({
            type: "POST",
            url: '/AgentProfile/GetAnAcceptPaymentPage?amount='+money+'',
            dataType: "json",
            success: function (response) {
                debugger;
                alert(JSON.stringify(response));
                if (response.messages.resultCode == "Error") {
                    alert(response.messages.message[0].text);
                } else {
                    $("#inputtoken").val(response.token);
                    console.log(response.token);
                    alert(response.messages.message[0].text);
                    AuthorizeNetPopup.openPopup();

                }
            },
            error: function (error) {
                alert(JSON.stringify(error));
                alert("There is some technical issue in processing this transaction. Please try again later.");
            }
        });

AuthorizeNetPopup.openPopup = function () {
                var popup = document.getElementById("divAuthorizeNetPopup");
                var popupScreen = document.getElementById("divAuthorizeNetPopupScreen");
                var ifrm = document.getElementById("iframeAuthorizeNet");
                var form = document.forms["formAuthorizeNetPopup"];
                $("#popupToken").val($("#inputtoken").val());
                form.action = "https://test.authorize.net/payment/payment";
                ifrm.style.width = "700px";
                ifrm.style.height = "578px";
                var contentSecurityPolicy="https://localhost:44398.authorize.net";
                ifrm.setAttribute("Content-Security-Policy:","frame-ancestors 'self' localhost" + contentSecurityPolicy);

                form.submit();

                popup.style.display = "";
                popupScreen.style.display = "";
                centerPopup();
            };

            AuthorizeNetPopup.onReceiveCommunication = function (querystr) {
                
                console.log("onReceiveCommunication is called")
                var params = parseQueryString(querystr);
                switch (params["action"]) {
                    case "successfulSave":
                        
                        AuthorizeNetPopup.closePopup();
                        break;
                    case "cancel":
                        
                        AuthorizeNetPopup.closePopup();
                        break;
                    case "transactResponse":
                        
                        var response = params["response"];
                        //document.getElementById("token").value = response;
                        console.log(response);
                        alert(response);
                        AuthorizeNetPopup.closePopup();
                        break;
                    case "resizeWindow":
                        var w = parseInt(params["width"]);
                        var h = parseInt(params["height"]);
                        var ifrm = document.getElementById("iframeAuthorizeNet");
                        ifrm.style.width = w.toString() + "px";
                        ifrm.style.height = h.toString() + "px";
                        centerPopup();
                        break;
                    
                }
            };


           &lt;/PRE&gt;</description>
      <pubDate>Wed, 05 Aug 2020 16:14:15 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/72752#M44963</guid>
      <dc:creator>M3QDev2020</dc:creator>
      <dc:date>2020-08-05T16:14:15Z</dc:date>
    </item>
    <item>
      <title>Re: Not getting transactResponse event when using IFrameCommunicator method in sandbox</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/72772#M44975</link>
      <description>&lt;P&gt;Can anyone help me out here?&lt;/P&gt;</description>
      <pubDate>Fri, 07 Aug 2020 01:52:38 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Not-getting-transactResponse-event-when-using-IFrameCommunicator/m-p/72772#M44975</guid>
      <dc:creator>M3QDev2020</dc:creator>
      <dc:date>2020-08-07T01:52:38Z</dc:date>
    </item>
  </channel>
</rss>

