1jQuery(document).ready( function() { 2 if (typeof RAPYD_ORDER_ID !== 'undefined') { 3 jQuery.ajax({ 4 type : "post", 5 dataType : "json", 6 url : myAjax.ajaxurl, 7 data : {action: "generate_token", order_id : RAPYD_ORDER_ID,class_name:RAPYD_CLASS_NAME}, 8 success: function(response) { 9 if(response.status == "success") { 10 loadRapydToolkit(response.token); 11 } 12 else { 13 errorFlow(response.message) 14 } 15 } 16 }) 17 } 18}); 19 20function errorFlow(message) { 21 hideLoader(); 22 document.getElementById("rapyd-checkout").innerHTML = message; 23} 24 25function loadRapydToolkit(token) { 26 let checkout = new RapydCheckoutToolkit({ 27 id: token, 28 close_on_complete: true, 29 page_type: RAPYD_PAYMENT_TOOLKIT_PAGE_TYPE 30 }); 31 32 window.addEventListener('checkoutOnSuccess', function (event) { 33 onSuccessEvent(event); 34 }); 35 window.addEventListener('checkoutOnFailed', function (event) { 36 document.getElementById("rapyd-checkout").innerHTML = RAPYD_PAYMENT_TOOLKIT_ERROR; 37 }); 38 window.addEventListener('checkoutOnLoading', function (event) { 39 onCheckoutLoading(event); 40 }); 41 42 window.addEventListener('onSaveCardDetailsSuccess', (event) => { 43 onSuccessEvent(event); 44 }) 45 window.addEventListener('onSaveCardDetailsFailure', (event) => { 46 document.getElementById("rapyd-checkout").innerHTML = RAPYD_PAYMENT_TOOLKIT_ERROR; 47 }) 48 49 window.addEventListener('onLoading', (event) => { 50 onCheckoutLoading(event); 51 }) 52 53 checkout.displayCheckout(); 54} 55 56function onSuccessEvent(event) { 57 if( event.detail.status.toLowerCase()=="err"){ 58 showErrorMessage(); 59 return; 60 } 61 62 if(event.detail.status.toLowerCase()=="clo"){ 63 location.href = SUCCESS_URL; 64 return; 65 } 66 if(event.detail.status.toLowerCase()=="act" && event.detail.redirect_url!=""){ 67 location.href = event.detail.redirect_url; 68 return; 69 } 70 if(event.detail.status.toLowerCase()=="act" && Object.keys(event.detail.textual_codes).length>0){ 71 createTextualCodes(event.detail.textual_codes); 72 } 73 if(event.detail.status.toLowerCase()=="act" && Object.keys(event.detail.visual_codes).length>0){ 74 createVisualCodes(event.detail.visual_codes); 75 } 76 createInstructions(event.detail.instructions); 77 addFinishButton(); 78} 79 80function onCheckoutLoading(event){ 81 if(event.detail.loading){ 82 showLoader(); 83 }else{ 84 hideLoader(); 85 } 86} 87 88function showRapydToolkit() { 89 var element = document.getElementById("rapyd-checkout"); 90 if(element){ 91 element.style.display="block"; 92 } 93} 94 95function hideRapydToolkit(){ 96 var element = document.getElementById("rapyd-checkout"); 97 if(element){ 98 element.style.display="none"; 99 } 100} 101 102function showLoader() { 103 var element = document.getElementById("rapyd_loader_div"); 104 if(element){ 105 element.style.display="block"; 106 } 107} 108 109function hideLoader() { 110 var element = document.getElementById("rapyd_loader_div"); 111 if(element){ 112 element.style.display="none"; 113 } 114} 115 116function showErrorMessage() { 117 document.getElementById("rapyd-checkout").innerHTML = ERROR_MESSAGE; 118} 119 120function createVisualCodes(visual_codes) { 121 var srcs = Object.values(visual_codes); 122 for(var i=0;i<srcs.length;i++){ 123 var img = document.createElement('img'); 124 img.src = srcs[i]; 125 img.style.width="300px"; 126 img.style.margin="auto"; 127 addElementToRapydDiv(img); 128 } 129} 130 131function addFinishButton() { 132 var button = document.createElement('button'); 133 button.textContent = 'Finish'; 134 button.onclick = function() { location.href = SUCCESS_URL }; 135 addElementToRapydDiv(button); 136} 137 138function createHeadlineForInstructions() { 139 var h = document.createElement('h5'); 140 h.innerHTML = RAPYD_TOOLKIT_COMPLETE; 141 addElementToRapydDiv(h); 142} 143 144function createHeadlineForCodes() { 145 var h = document.createElement('h5'); 146 h.innerHTML = RAPYD_TOOLKIT_THANK_YOU; 147 var h7 = document.createElement('h7'); 148 h7.innerHTML = RAPYD_TOOLKIT_ORDER_PLACED; 149 addElementToRapydDiv(h); 150 addElementToRapydDiv(h7); 151 152} 153 154function addElementToRapydDiv(element) { 155 var rapyd_div = document.getElementById("rapyd-checkout"); 156 rapyd_div.appendChild(element); 157} 158 159function createTextualCodes(textual_codes) { 160 createHeadlineForCodes(); 161 var div = document.createElement('div'); 162 div.style.margin="10px"; 163 addElementToRapydDiv(div); 164 165 var keys = Object.keys(textual_codes); 166 for (var j = 0; j < keys.length; j++) { 167 var h9 = document.createElement('h9'); 168 h9.style.fontWeight="bold"; 169 h9.innerHTML = keys[j]+":"; 170 var p = document.createElement('p'); 171 p.innerHTML = textual_codes[keys[j]]; 172 div.appendChild(h9); 173 div.appendChild(p); 174 } 175} 176
177function createInstructions(instructions) { 178 if(!instructions[0] || !instructions[0]["steps"] || instructions[0]["steps"].length==0){ 179 return; 180 } 181 createHeadlineForInstructions(); 182 var ul = document.createElement('ul'); 183 ul.style.marginLeft = "unset"; 184 if(instructions[0]["steps"].length==1){ 185 instructions = instructions[0]["steps"][0]; 186 var values = Object.values(instructions); 187 for(var i=0;i<values.length;i++){ 188 var li = document.createElement('li'); 189 li.innerHTML = values[i]; 190 ul.appendChild(li); 191 } 192 }else if(instructions[0]["steps"].length>1){ 193 var steps = instructions[0]["steps"]; 194 for(var i=0;i<steps.length;i++){ 195 var li = document.createElement('li'); 196 li.innerHTML = Object.values(steps[i])[0]; 197 ul.appendChild(li); 198 } 199 } 200 var rapyd_div = document.getElementById("rapyd-checkout"); 201 rapyd_div.appendChild(ul); 202}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.