<?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 Accept Hosted - IFrame Communicator Lightbox - JSP in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Accept-Hosted-IFrame-Communicator-Lightbox-JSP/m-p/65416#M39090</link>
    <description>&lt;P&gt;I have an issue calling the IFrameCommunicator on my jsp page. We are aiming for the credit card payment through IFrame lightbox on our application (jsp). I am facing challenges with the IFrameCommunicator.html as nothing in this html seems to be called. I placed this html on the same domain where our application is hosted. I have also set the showReceipt parameter to false in getHostedPaymentPageRequest API call as advised in the documentation. But these are not helping. I am unable to capture the payment gateway responses on my application. Request your help here.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have put some console.logs on my IframeCommunicator but these never get printed on the console. But the IfrmComm.html loads on the browser and I can see that in the developer tool.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;ccpay.jsp&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&amp;gt;
&amp;lt;title&amp;gt;NA Pay&amp;lt;/title&amp;gt;
&amp;lt;style type="text/css"&amp;gt;
body {
margin: 0px;
padding: 0px;
}

#divAuthorizeNetPopupScreen {
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 1;
background-color: #808080;
opacity: 0.5;
-ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)';
filter: alpha(opacity=50);
}

#divAuthorizeNetPopup {
position: fixed;
left: 50%;
top: 50%;
margin-left: -200px;
margin-top: -200px;
z-index: 2;
overflow: visible;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupOuter {
background-color: #dddddd;
border-width: 1px;
border-style: solid;
border-color: #a0a0a0 #909090 #909090 #a0a0a0;
padding: 4px;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupTop {
height: 23px;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupClose {
position: absolute;
right: 7px;
top: 7px;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupClose a {
background-image: url('content/closeButton1.png');
background-repeat: no-repeat;
height: 16px;
width: 16px;
display: inline-block;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupClose a:hover {
background-image: url('content/closeButton1h.png');
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupClose a:active {
background-image: url('content/closeButton1a.png');
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupInner {
background-color: #ffffff;
border-width: 2px;
border-style: solid;
border-color: #cfcfcf #ebebeb #ebebeb #cfcfcf;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupBottom {
height: 30px;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupLogo {
position: absolute;
right: 9px;
bottom: 4px;
width: 200px;
height: 25px;
background-image: url('content/powered_simple.png');
}

.AuthorizeNetPopupSimpleTheme .AuthorizeNetPopupOuter {
border: 1px solid #585858;
background-color: #ffffff;
}
&amp;lt;/style&amp;gt;

&amp;lt;script&amp;gt;
var war_clone;
var customer="";
var jason_feed="";
var tab_row="";
function pickSoldto(){

jQuery.ajax({
url:"/irj/servlet/prt/portal/prtmode/refresh/prtroot/pcd!3acom.sap.portal.system!2fgpal_hidden_content!2fgpar!2fsap.com~crmb2b~set_session_info!2fset_session_info?type=GET",
dataType:'html',
cache:false,
async:false,
success:function(data){
console.log("hi"+data);

// Substring due to IE issues
var json_string = data.substring(data.lastIndexOf("&amp;lt;data&amp;gt;")+6,data.lastIndexOf("&amp;lt;/data&amp;gt;"));

json_string=json_string.substring(1,json_string.length-1);
var bill_ship_data = jQuery.parseJSON(json_string);

var bill_to_value = bill_ship_data.z_sold_to;
customer = bill_to_value.replace(/^(0+)/g, '');

}

});
}
function loadTableContent(){

jQuery('.loading_animationDet').dialog("open");
jQuery.ajax({
url:'/irj/servlet/prt/portal/prtmode/refresh/prtroot/pcd!3acom.sap.portal.system!2fgpal_hidden_content!2fgpar!2fsap.com~crmb2b~creditcardpmt!2fLoadTable',
type:'POST',
data: {type:"GET",customer:customer},
success:function(data){
if(data.indexOf("&amp;lt;result&amp;gt;") &amp;gt; 0){
jQuery(".modal_report_loading").dialog("close");
alert(data.substring(data.indexOf("&amp;lt;result&amp;gt;")+8,data.indexOf("&amp;lt;/result&amp;gt;")));
}else{
tab_row=data.substring(data.lastIndexOf("&amp;lt;rowdata&amp;gt;")+9,data.lastIndexOf("&amp;lt;/rowdata&amp;gt;"));
//alert(tab_row);
jQuery("#war_claim_tab &amp;gt; tbody").append(tab_row);
jQuery(".modal_report_loading").dialog("close");
}
}
});
}
function make_payment(){
//alert("Hit Payment");
var json_string="{\"authenticateTestRequest\": {\"merchantAuthentication\": {\"name\": \"3Wc3cFYb7G\",\"transactionKey\": \"449B6P3Gvkgjw99n\"}}}"
var xml_string="&amp;lt;getHostedPaymentPageRequest xmlns=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\"&amp;gt;&amp;lt;merchantAuthentication&amp;gt;&amp;lt;name&amp;gt;3Wc3cFYb7G&amp;lt;/name&amp;gt;&amp;lt;transactionKey&amp;gt;449B6P3Gvkgjw99n&amp;lt;/transactionKey&amp;gt;&amp;lt;/merchantAuthentication&amp;gt;&amp;lt;transactionRequest&amp;gt;&amp;lt;transactionType&amp;gt;authCaptureTransaction&amp;lt;/transactionType&amp;gt;&amp;lt;amount&amp;gt;20.00&amp;lt;/amount&amp;gt;&amp;lt;profile&amp;gt;&amp;lt;customerProfileId&amp;gt;123456789&amp;lt;/customerProfileId&amp;gt;&amp;lt;/profile&amp;gt;&amp;lt;/transactionRequest&amp;gt;&amp;lt;hostedPaymentSettings&amp;gt;&amp;lt;setting&amp;gt;&amp;lt;settingName&amp;gt;hostedPaymentReturnOptions&amp;lt;/settingName&amp;gt;&amp;lt;settingValue&amp;gt;{\"showReceipt\": false, \"url\": \"https://www.cooperworldprjqa.net/irj/servlet/prt/portal/prtmode/refresh/prtroot/pcd!3acom.sap.portal.system!2fgpal_hidden_content!2fgpar!2fsap.com~crmb2b~creditcardpmt!2fCreditCard_UI\", \"urlText\": \"Continue\", \"cancelUrl\": \"https://mysite.com/cancel\", \"cancelUrlText\": \"Cancel\"}&amp;lt;/settingValue&amp;gt;&amp;lt;/setting&amp;gt;&amp;lt;setting&amp;gt;&amp;lt;settingName&amp;gt;hostedPaymentIFrameCommunicatorUrl&amp;lt;/settingName&amp;gt;&amp;lt;settingValue&amp;gt;{\"url\": \"https://www.cooperworldprjqa.net/irj/go/km/docs/documents/Public%20Documents/IfrmComm.html\"}&amp;lt;/settingValue&amp;gt;&amp;lt;/setting&amp;gt;&amp;lt;/hostedPaymentSettings&amp;gt;&amp;lt;/getHostedPaymentPageRequest&amp;gt;";
jQuery.ajax({
url:'https://apitest.authorize.net/xml/v1/request.api',
type:'POST',
contentType: "xml",
data: xml_string,
async:false,
success:function(data){
var s = new XMLSerializer();
var XmlStr = s.serializeToString(data);
var token=XmlStr.substring(XmlStr.indexOf("&amp;lt;token&amp;gt;")+7,XmlStr.indexOf("&amp;lt;/token&amp;gt;"));
console.log(token);
alert(token);
jQuery("#popupToken").val(token);
jQuery("#inputtoken").val(token);
}
});

/*jQuery.ajax({
url:'/irj/servlet/prt/portal/prtmode/refresh/prtroot/pcd!3acom.sap.portal.system!2fgpal_hidden_content!2fgpar!2fsap.com~crmb2b~creditcardpmt!2fChargeCC',
type:'POST',
cache:false,
data: {type:"GET"},
success:function(data){
//window.open("../../../../../../../sap.com~crmb2b~creditcardpmt/html/IfrmComm.html");
},
error: function(xhr, status, thrown) {
// EDIT 1
console.log(status); // &amp;lt;-- It's alerting "timeout"
}
});*/
}

&amp;nbsp;

function calculateSum(){
//alert("hi");
var sumTotal=0;
$('table tbody tr').each(function() {
var $tr = $(this);

if ($tr.find('input[type="checkbox"]').is(':checked')) {
//alert("2");
var columns = $tr.find('td').next('td').next('td').val(tab_row);
//alert("6"+columns);
//$(mat).closest('td').next().next().find("input[type='text']").val(desc);

//var $Qnty=parseInt($tr.find('input[type="text"]').val());
var Cost=parseFloat(columns.next('td').html());
//alert("totalyuufg"+Cost);
//sumTotal+=$Qnty*$Cost;
sumTotal= (sumTotal + Cost);
//alert("total"+sumTotal);
}
});

$("#price").val(sumTotal);

}
$(document).ready(function(){
pickSoldto();
loadTableContent();

/* var check;

// Example 1 - With checked
$("#test-with-checked").on("click", function(){
if(ccchecked.checked) {
alert("Checkbox is checked.");
} else {
alert("Checkbox is unchecked.");
}
}); */





});
&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;table id="war_claim_tab" class="pocw_totals flexigrid_look"&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th width="80"&amp;gt;Select for Payment&amp;lt;/th&amp;gt;
&amp;lt;th width="120"&amp;gt;VBELN&amp;lt;/th&amp;gt;
&amp;lt;th width="80"&amp;gt;FKDAT&amp;lt;/th&amp;gt;
&amp;lt;th width="80"&amp;gt;NETWR&amp;lt;/th&amp;gt;

&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;Calculated Price: $&amp;lt;input type="text" name="price" id="price" disabled /&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;div class="input_container search_input"&amp;gt;
&amp;amp;nbsp;
&amp;lt;button onclick="make_payment()" &amp;gt;Get Token&amp;lt;/button&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;form method="post" action="https://test.authorize.net/payment/payment" id="formAuthorizeNetPopup" name="formAuthorizeNetPopup" target="iframeAuthorizeNet" style="display:none;"&amp;gt;
&amp;lt;input type="hidden" id="popupToken" name="token" value="" /&amp;gt;
&amp;lt;/form&amp;gt;
&amp;lt;input type="text" id="inputtoken" value="" /&amp;gt;
&amp;lt;br /&amp;gt;
&amp;lt;div&amp;gt;
Trigger Accept Transaction
&amp;lt;button id="btnOpenAuthorizeNetPopup" onclick="AuthorizeNetPopup.openPopup()"&amp;gt;Open AuthorizeNetPopup&amp;lt;/button&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div id="divAuthorizeNetPopup" style="display:none;" class="AuthorizeNetPopupGrayFrameTheme"&amp;gt;
&amp;lt;div class="AuthorizeNetPopupOuter"&amp;gt;
&amp;lt;div class="AuthorizeNetPopupTop"&amp;gt;
&amp;lt;div class="AuthorizeNetPopupClose"&amp;gt;
&amp;lt;a href="javascript&amp;amp;colon;;" onclick="AuthorizeNetPopup.closePopup();" title="Close"&amp;gt; &amp;lt;/a&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class="AuthorizeNetPopupInner"&amp;gt;
&amp;lt;iframe name="iframeAuthorizeNet" id="iframeAuthorizeNet" src="empty.html" frameborder="0" scrolling="no"&amp;gt;&amp;lt;/iframe&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class="AuthorizeNetPopupBottom"&amp;gt;
&amp;lt;div class="AuthorizeNetPopupLogo" title="Powered by Authorize.Net"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div id="divAuthorizeNetPopupScreen" style="display:none;"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;

&amp;lt;script type="text/javascript"&amp;gt;
(function () {
if (!window.AuthorizeNetPopup) window.AuthorizeNetPopup = {};
if (!AuthorizeNetPopup.options) AuthorizeNetPopup.options = {
onPopupClosed: null
};

AuthorizeNetPopup.closePopup = function () {
document.getElementById("divAuthorizeNetPopupScreen").style.display = "none";
document.getElementById("divAuthorizeNetPopup").style.display = "none";
document.getElementById("iframeAuthorizeNet").src="empty.html";
document.getElementById("btnOpenAuthorizeNetPopup").disabled = false;
if (AuthorizeNetPopup.options.onPopupClosed) AuthorizeNetPopup.options.onPopupClosed();
};


AuthorizeNetPopup.openPopup = function () {
alert("Open");
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 = "442px";
ifrm.style.height = "578px";

form.submit();

popup.style.display = "";
popupScreen.style.display = "";
centerPopup();
};

AuthorizeNetPopup.onReceiveCommunication = function (querystr) {
alert(querystr);
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;
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;
}
};


function centerPopup() {
alert("Centerpop");
var d = document.getElementById("divAuthorizeNetPopup");
d.style.left = "50%";
d.style.top = "50%";
var left = -Math.floor(d.clientWidth / 2);
var top = -Math.floor(d.clientHeight / 2);
d.style.marginLeft = left.toString() + "px";
d.style.marginTop = top.toString() + "px";
d.style.zIndex = "2";
if (d.offsetLeft &amp;lt; 16) {
d.style.left = "16px";
d.style.marginLeft = "0px";
}
if (d.offsetTop &amp;lt; 16) {
d.style.top = "16px";
d.style.marginTop = "0px";
}
}

function parseQueryString(str) {
alert("Parse");
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.push(pair[0]);
vars[pair[0]] = unescape(pair[1]);
}
return vars;
}
}());

&amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&amp;nbsp;

IfrmComm.html

&amp;nbsp;

&amp;lt;script type="text/javascript"&amp;gt;
function callParentFunction(str) {
if (str &amp;amp;&amp;amp; str.length &amp;gt; 0
&amp;amp;&amp;amp; window.parent
&amp;amp;&amp;amp; window.parent.parent
&amp;amp;&amp;amp; window.parent.parent.AuthorizeNetPopup
&amp;amp;&amp;amp; window.parent.parent.AuthorizeNetPopup.onReceiveCommunication)
{
console.log("Calling Parent");
window.parent.parent.AuthorizeNetPopup.onReceiveCommunication(str);
}
}
function receiveMessage(event) {
if (event &amp;amp;&amp;amp; event.data) {
callParentFunction(event.data);
}
}
if (window.addEventListener) {
window.addEventListener("message", receiveMessage, false);
} else if (window.attachEvent) {
window.attachEvent("onmessage", receiveMessage);
}
if (window.location.hash &amp;amp;&amp;amp; window.location.hash.length &amp;gt; 1) {
console.log("Reading Hash");
callParentFunction(window.location.hash.substring(1));
}
else{
console.log("Nothing Happens");
}
&amp;lt;/script&amp;gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 21 Dec 2018 15:05:21 GMT</pubDate>
    <dc:creator>coopersandbox1</dc:creator>
    <dc:date>2018-12-21T15:05:21Z</dc:date>
    <item>
      <title>Accept Hosted - IFrame Communicator Lightbox - JSP</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Accept-Hosted-IFrame-Communicator-Lightbox-JSP/m-p/65416#M39090</link>
      <description>&lt;P&gt;I have an issue calling the IFrameCommunicator on my jsp page. We are aiming for the credit card payment through IFrame lightbox on our application (jsp). I am facing challenges with the IFrameCommunicator.html as nothing in this html seems to be called. I placed this html on the same domain where our application is hosted. I have also set the showReceipt parameter to false in getHostedPaymentPageRequest API call as advised in the documentation. But these are not helping. I am unable to capture the payment gateway responses on my application. Request your help here.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have put some console.logs on my IframeCommunicator but these never get printed on the console. But the IfrmComm.html loads on the browser and I can see that in the developer tool.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;ccpay.jsp&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&amp;gt;
&amp;lt;title&amp;gt;NA Pay&amp;lt;/title&amp;gt;
&amp;lt;style type="text/css"&amp;gt;
body {
margin: 0px;
padding: 0px;
}

#divAuthorizeNetPopupScreen {
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 1;
background-color: #808080;
opacity: 0.5;
-ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)';
filter: alpha(opacity=50);
}

#divAuthorizeNetPopup {
position: fixed;
left: 50%;
top: 50%;
margin-left: -200px;
margin-top: -200px;
z-index: 2;
overflow: visible;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupOuter {
background-color: #dddddd;
border-width: 1px;
border-style: solid;
border-color: #a0a0a0 #909090 #909090 #a0a0a0;
padding: 4px;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupTop {
height: 23px;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupClose {
position: absolute;
right: 7px;
top: 7px;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupClose a {
background-image: url('content/closeButton1.png');
background-repeat: no-repeat;
height: 16px;
width: 16px;
display: inline-block;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupClose a:hover {
background-image: url('content/closeButton1h.png');
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupClose a:active {
background-image: url('content/closeButton1a.png');
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupInner {
background-color: #ffffff;
border-width: 2px;
border-style: solid;
border-color: #cfcfcf #ebebeb #ebebeb #cfcfcf;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupBottom {
height: 30px;
}

.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupLogo {
position: absolute;
right: 9px;
bottom: 4px;
width: 200px;
height: 25px;
background-image: url('content/powered_simple.png');
}

.AuthorizeNetPopupSimpleTheme .AuthorizeNetPopupOuter {
border: 1px solid #585858;
background-color: #ffffff;
}
&amp;lt;/style&amp;gt;

&amp;lt;script&amp;gt;
var war_clone;
var customer="";
var jason_feed="";
var tab_row="";
function pickSoldto(){

jQuery.ajax({
url:"/irj/servlet/prt/portal/prtmode/refresh/prtroot/pcd!3acom.sap.portal.system!2fgpal_hidden_content!2fgpar!2fsap.com~crmb2b~set_session_info!2fset_session_info?type=GET",
dataType:'html',
cache:false,
async:false,
success:function(data){
console.log("hi"+data);

// Substring due to IE issues
var json_string = data.substring(data.lastIndexOf("&amp;lt;data&amp;gt;")+6,data.lastIndexOf("&amp;lt;/data&amp;gt;"));

json_string=json_string.substring(1,json_string.length-1);
var bill_ship_data = jQuery.parseJSON(json_string);

var bill_to_value = bill_ship_data.z_sold_to;
customer = bill_to_value.replace(/^(0+)/g, '');

}

});
}
function loadTableContent(){

jQuery('.loading_animationDet').dialog("open");
jQuery.ajax({
url:'/irj/servlet/prt/portal/prtmode/refresh/prtroot/pcd!3acom.sap.portal.system!2fgpal_hidden_content!2fgpar!2fsap.com~crmb2b~creditcardpmt!2fLoadTable',
type:'POST',
data: {type:"GET",customer:customer},
success:function(data){
if(data.indexOf("&amp;lt;result&amp;gt;") &amp;gt; 0){
jQuery(".modal_report_loading").dialog("close");
alert(data.substring(data.indexOf("&amp;lt;result&amp;gt;")+8,data.indexOf("&amp;lt;/result&amp;gt;")));
}else{
tab_row=data.substring(data.lastIndexOf("&amp;lt;rowdata&amp;gt;")+9,data.lastIndexOf("&amp;lt;/rowdata&amp;gt;"));
//alert(tab_row);
jQuery("#war_claim_tab &amp;gt; tbody").append(tab_row);
jQuery(".modal_report_loading").dialog("close");
}
}
});
}
function make_payment(){
//alert("Hit Payment");
var json_string="{\"authenticateTestRequest\": {\"merchantAuthentication\": {\"name\": \"3Wc3cFYb7G\",\"transactionKey\": \"449B6P3Gvkgjw99n\"}}}"
var xml_string="&amp;lt;getHostedPaymentPageRequest xmlns=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\"&amp;gt;&amp;lt;merchantAuthentication&amp;gt;&amp;lt;name&amp;gt;3Wc3cFYb7G&amp;lt;/name&amp;gt;&amp;lt;transactionKey&amp;gt;449B6P3Gvkgjw99n&amp;lt;/transactionKey&amp;gt;&amp;lt;/merchantAuthentication&amp;gt;&amp;lt;transactionRequest&amp;gt;&amp;lt;transactionType&amp;gt;authCaptureTransaction&amp;lt;/transactionType&amp;gt;&amp;lt;amount&amp;gt;20.00&amp;lt;/amount&amp;gt;&amp;lt;profile&amp;gt;&amp;lt;customerProfileId&amp;gt;123456789&amp;lt;/customerProfileId&amp;gt;&amp;lt;/profile&amp;gt;&amp;lt;/transactionRequest&amp;gt;&amp;lt;hostedPaymentSettings&amp;gt;&amp;lt;setting&amp;gt;&amp;lt;settingName&amp;gt;hostedPaymentReturnOptions&amp;lt;/settingName&amp;gt;&amp;lt;settingValue&amp;gt;{\"showReceipt\": false, \"url\": \"https://www.cooperworldprjqa.net/irj/servlet/prt/portal/prtmode/refresh/prtroot/pcd!3acom.sap.portal.system!2fgpal_hidden_content!2fgpar!2fsap.com~crmb2b~creditcardpmt!2fCreditCard_UI\", \"urlText\": \"Continue\", \"cancelUrl\": \"https://mysite.com/cancel\", \"cancelUrlText\": \"Cancel\"}&amp;lt;/settingValue&amp;gt;&amp;lt;/setting&amp;gt;&amp;lt;setting&amp;gt;&amp;lt;settingName&amp;gt;hostedPaymentIFrameCommunicatorUrl&amp;lt;/settingName&amp;gt;&amp;lt;settingValue&amp;gt;{\"url\": \"https://www.cooperworldprjqa.net/irj/go/km/docs/documents/Public%20Documents/IfrmComm.html\"}&amp;lt;/settingValue&amp;gt;&amp;lt;/setting&amp;gt;&amp;lt;/hostedPaymentSettings&amp;gt;&amp;lt;/getHostedPaymentPageRequest&amp;gt;";
jQuery.ajax({
url:'https://apitest.authorize.net/xml/v1/request.api',
type:'POST',
contentType: "xml",
data: xml_string,
async:false,
success:function(data){
var s = new XMLSerializer();
var XmlStr = s.serializeToString(data);
var token=XmlStr.substring(XmlStr.indexOf("&amp;lt;token&amp;gt;")+7,XmlStr.indexOf("&amp;lt;/token&amp;gt;"));
console.log(token);
alert(token);
jQuery("#popupToken").val(token);
jQuery("#inputtoken").val(token);
}
});

/*jQuery.ajax({
url:'/irj/servlet/prt/portal/prtmode/refresh/prtroot/pcd!3acom.sap.portal.system!2fgpal_hidden_content!2fgpar!2fsap.com~crmb2b~creditcardpmt!2fChargeCC',
type:'POST',
cache:false,
data: {type:"GET"},
success:function(data){
//window.open("../../../../../../../sap.com~crmb2b~creditcardpmt/html/IfrmComm.html");
},
error: function(xhr, status, thrown) {
// EDIT 1
console.log(status); // &amp;lt;-- It's alerting "timeout"
}
});*/
}

&amp;nbsp;

function calculateSum(){
//alert("hi");
var sumTotal=0;
$('table tbody tr').each(function() {
var $tr = $(this);

if ($tr.find('input[type="checkbox"]').is(':checked')) {
//alert("2");
var columns = $tr.find('td').next('td').next('td').val(tab_row);
//alert("6"+columns);
//$(mat).closest('td').next().next().find("input[type='text']").val(desc);

//var $Qnty=parseInt($tr.find('input[type="text"]').val());
var Cost=parseFloat(columns.next('td').html());
//alert("totalyuufg"+Cost);
//sumTotal+=$Qnty*$Cost;
sumTotal= (sumTotal + Cost);
//alert("total"+sumTotal);
}
});

$("#price").val(sumTotal);

}
$(document).ready(function(){
pickSoldto();
loadTableContent();

/* var check;

// Example 1 - With checked
$("#test-with-checked").on("click", function(){
if(ccchecked.checked) {
alert("Checkbox is checked.");
} else {
alert("Checkbox is unchecked.");
}
}); */





});
&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;table id="war_claim_tab" class="pocw_totals flexigrid_look"&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th width="80"&amp;gt;Select for Payment&amp;lt;/th&amp;gt;
&amp;lt;th width="120"&amp;gt;VBELN&amp;lt;/th&amp;gt;
&amp;lt;th width="80"&amp;gt;FKDAT&amp;lt;/th&amp;gt;
&amp;lt;th width="80"&amp;gt;NETWR&amp;lt;/th&amp;gt;

&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;Calculated Price: $&amp;lt;input type="text" name="price" id="price" disabled /&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;div class="input_container search_input"&amp;gt;
&amp;amp;nbsp;
&amp;lt;button onclick="make_payment()" &amp;gt;Get Token&amp;lt;/button&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;form method="post" action="https://test.authorize.net/payment/payment" id="formAuthorizeNetPopup" name="formAuthorizeNetPopup" target="iframeAuthorizeNet" style="display:none;"&amp;gt;
&amp;lt;input type="hidden" id="popupToken" name="token" value="" /&amp;gt;
&amp;lt;/form&amp;gt;
&amp;lt;input type="text" id="inputtoken" value="" /&amp;gt;
&amp;lt;br /&amp;gt;
&amp;lt;div&amp;gt;
Trigger Accept Transaction
&amp;lt;button id="btnOpenAuthorizeNetPopup" onclick="AuthorizeNetPopup.openPopup()"&amp;gt;Open AuthorizeNetPopup&amp;lt;/button&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div id="divAuthorizeNetPopup" style="display:none;" class="AuthorizeNetPopupGrayFrameTheme"&amp;gt;
&amp;lt;div class="AuthorizeNetPopupOuter"&amp;gt;
&amp;lt;div class="AuthorizeNetPopupTop"&amp;gt;
&amp;lt;div class="AuthorizeNetPopupClose"&amp;gt;
&amp;lt;a href="javascript&amp;amp;colon;;" onclick="AuthorizeNetPopup.closePopup();" title="Close"&amp;gt; &amp;lt;/a&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class="AuthorizeNetPopupInner"&amp;gt;
&amp;lt;iframe name="iframeAuthorizeNet" id="iframeAuthorizeNet" src="empty.html" frameborder="0" scrolling="no"&amp;gt;&amp;lt;/iframe&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class="AuthorizeNetPopupBottom"&amp;gt;
&amp;lt;div class="AuthorizeNetPopupLogo" title="Powered by Authorize.Net"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div id="divAuthorizeNetPopupScreen" style="display:none;"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;

&amp;lt;script type="text/javascript"&amp;gt;
(function () {
if (!window.AuthorizeNetPopup) window.AuthorizeNetPopup = {};
if (!AuthorizeNetPopup.options) AuthorizeNetPopup.options = {
onPopupClosed: null
};

AuthorizeNetPopup.closePopup = function () {
document.getElementById("divAuthorizeNetPopupScreen").style.display = "none";
document.getElementById("divAuthorizeNetPopup").style.display = "none";
document.getElementById("iframeAuthorizeNet").src="empty.html";
document.getElementById("btnOpenAuthorizeNetPopup").disabled = false;
if (AuthorizeNetPopup.options.onPopupClosed) AuthorizeNetPopup.options.onPopupClosed();
};


AuthorizeNetPopup.openPopup = function () {
alert("Open");
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 = "442px";
ifrm.style.height = "578px";

form.submit();

popup.style.display = "";
popupScreen.style.display = "";
centerPopup();
};

AuthorizeNetPopup.onReceiveCommunication = function (querystr) {
alert(querystr);
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;
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;
}
};


function centerPopup() {
alert("Centerpop");
var d = document.getElementById("divAuthorizeNetPopup");
d.style.left = "50%";
d.style.top = "50%";
var left = -Math.floor(d.clientWidth / 2);
var top = -Math.floor(d.clientHeight / 2);
d.style.marginLeft = left.toString() + "px";
d.style.marginTop = top.toString() + "px";
d.style.zIndex = "2";
if (d.offsetLeft &amp;lt; 16) {
d.style.left = "16px";
d.style.marginLeft = "0px";
}
if (d.offsetTop &amp;lt; 16) {
d.style.top = "16px";
d.style.marginTop = "0px";
}
}

function parseQueryString(str) {
alert("Parse");
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.push(pair[0]);
vars[pair[0]] = unescape(pair[1]);
}
return vars;
}
}());

&amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&amp;nbsp;

IfrmComm.html

&amp;nbsp;

&amp;lt;script type="text/javascript"&amp;gt;
function callParentFunction(str) {
if (str &amp;amp;&amp;amp; str.length &amp;gt; 0
&amp;amp;&amp;amp; window.parent
&amp;amp;&amp;amp; window.parent.parent
&amp;amp;&amp;amp; window.parent.parent.AuthorizeNetPopup
&amp;amp;&amp;amp; window.parent.parent.AuthorizeNetPopup.onReceiveCommunication)
{
console.log("Calling Parent");
window.parent.parent.AuthorizeNetPopup.onReceiveCommunication(str);
}
}
function receiveMessage(event) {
if (event &amp;amp;&amp;amp; event.data) {
callParentFunction(event.data);
}
}
if (window.addEventListener) {
window.addEventListener("message", receiveMessage, false);
} else if (window.attachEvent) {
window.attachEvent("onmessage", receiveMessage);
}
if (window.location.hash &amp;amp;&amp;amp; window.location.hash.length &amp;gt; 1) {
console.log("Reading Hash");
callParentFunction(window.location.hash.substring(1));
}
else{
console.log("Nothing Happens");
}
&amp;lt;/script&amp;gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 21 Dec 2018 15:05:21 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Accept-Hosted-IFrame-Communicator-Lightbox-JSP/m-p/65416#M39090</guid>
      <dc:creator>coopersandbox1</dc:creator>
      <dc:date>2018-12-21T15:05:21Z</dc:date>
    </item>
  </channel>
</rss>

