FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
woo-xendit-virtual-accounts
/
assets
/
js
/
frontend
Edit File: xendit-card.min.js
Xendit.setPublishableKey(wc_xendit_params.key),jQuery((function(e){"use strict";var n={init:function(){e("form.woocommerce-checkout").length&&(this.form=e("form.woocommerce-checkout")),e("form.woocommerce-checkout").on("checkout_place_order_xendit_cc",this.onSubmit),e("form#order_review").length&&(this.form=e("form#order_review")),e("form#order_review, form#add_payment_method").on("submit",this.onSubmit),e("form#add_payment_method").length&&(this.form=e("form#add_payment_method")),e(document).on("change","#wc-xendit_cc-cc-form :input",this.onCCFormChange).on("checkout_error",this.clearToken).ready((function(){e("body").append('<div class="overlay" style="display: none;"></div><div id="three-ds-container" style="display: none;"><iframe height="450" width="550" id="sample-inline-frame" name="sample-inline-frame"> </iframe></div>'),e(".entry-content .woocommerce").prepend('<div id="woocommerce-error-custom-my" class="woocommerce-error" style="display:none"></div>'),e(".overlay").css({position:"absolute",top:"0",left:"0",height:"100%",width:"100%","background-color":"rgba(0,0,0,0.5)","z-index":"10"}),e("#three-ds-container").css({width:"550px",height:"450px","line-height":"200px",position:"fixed",top:"25%",left:"40%","margin-top":"-100px","margin-left":"-150px","background-color":"#ffffff","border-radius":"5px","text-align":"center","z-index":"9999"})}))},isXenditChosen:function(){return e("#payment_method_xendit_cc").is(":checked")||e("#payment_method_xendit_cc").is(":checked")&&"new"===e('input[name="wc-xendit_cc-payment-token"]:checked').val()},hasToken:function(){return 0<e('input[name="xendit_token"]').length},hasError:function(){return 0<e('input[name="xendit_failure_reason"]').length},block:function(){n.form.block({message:null,overlayCSS:{background:"#000",opacity:.5}})},unblock:function(){n.form.unblock()},handleError:function(e){var t;return t=void 0!==e?e.message||e.error_code:"We encountered an issue while processing the checkout. Please contact us. Code: 200035",n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_failure_reason' value='"+t+"'/>"),n.form.submit(),!0},onSubmit:function(t){if(!n.isXenditChosen()||n.hasToken()||n.hasError())return!0;if(t.preventDefault(),n.block(),wc_xendit_params.has_saved_cards){var i=e('input[name="wc-xendit_cc-payment-token"]:checked').val();if(i&&"new"!=i)return n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_token' value='"+i+"'/>"),n.form.submit(),!1}if(!e("#xendit_cc-card-number").length||!e("#xendit_cc-card-cvc").length||!e("#xendit_cc-card-expiry").length)return n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_token' value=''/>"),n.form.submit(),!1;var r=e("#xendit_cc-card-number").val().replace(/\s/g,""),a=e("#xendit_cc-card-cvc").val().replace(/ /g,""),d=e("#xendit_cc-card-expiry").val().replace(/ /g,""),o=d.split("/"),c=(new Date).getFullYear();if(o={month:o[0],year:String(c).substr(0,2)+o[1]},!r||!a||!d){var s={message:wc_xendit_params.missing_card_information};return n.handleError(s)}if(16!=r.length&&15!=r.length)return s={message:wc_xendit_params.incorrect_number},n.handleError(s);if(!Xendit.card.validateCardNumber(r))return s={message:wc_xendit_params.invalid_number},n.handleError(s);if(5!=d.length)return s={message:wc_xendit_params.invalid_expiry},n.handleError(s);if(a.length<3)return s={message:wc_xendit_params.invalid_cvc},n.handleError(s);var p={card_number:r,card_exp_month:1===String(o.month).length?"0"+String(o.month):String(o.month),card_exp_year:String(o.year),card_cvn:a,is_multiple_use:!0,on_behalf_of:wc_xendit_params.on_behalf_of,currency:wc_xendit_params.currency},m=n.getCardType();if(n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_card_number' value='"+p.card_number+"'/>"),n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_card_exp_month' value='"+p.card_exp_month+"'/>"),n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_card_exp_year' value='"+p.card_exp_year+"'/>"),n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_card_cvn' value='"+p.card_cvn+"'/>"),n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_card_type' value='"+m+"'/>"),e("#xendit-installment-option").length){var l=document.querySelector('input[name="xendit_installments"]:checked').value;n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_installment' value='"+l+"'/>")}return Xendit.card.createToken(p,n.onTokenizationResponse),!1},onCCFormChange:function(t){if(e(".xendit_cc_hidden_input").remove(),e("#xendit_cc-card-expiry").prop("maxlength",7),e("#xendit_cc-card-cvc").prop("type","password"),"xendit_cc-card-number"===t.target.id){e("#xendit-installment-option").length&&e("#xendit-installment-option").remove(),e("#xendit-promotion-option").length&&e("#xendit-promotion-option").remove();var i=e("#xendit_cc-card-number").val().replace(/\s/g,"");if(Xendit.card.validateCardNumber(i)){var r={bin:i.substr(0,6),amount:wc_xendit_params.amount,currency:wc_xendit_params.currency};Xendit.card.getChargeOption(r,n.onGetChargeOptionResponse)}}},onGetChargeOptionResponse:function(t,i){if(t)console.log("Unable to retrieve charge option",t);else if(i.installments||i.promotions){var r=e('input[name="payment_method"]:checked').val();if(i.promotions.length&&"xendit_cc"==r){var a=i.promotions[0];e("#wc-xendit_cc-cc-form").append("<div id='xendit-promotion-option' style='color:red'>Discount applied! Final amount: <b>"+wc_xendit_params.currency+" "+a.final_amount.toLocaleString()+"</b></div>"),n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_promotion_final_amount' value='"+a.final_amount+"'/>"),n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_promotion_description' value='"+a.description+"'/>")}if(i.installments.length){var d=i.installments.sort((function(e,n){return e.count-n.count}));let n='<table><tr><td style="padding:5px 0 0 0;">Available installment options</td></tr><tr><td style="padding:0;"><input type="radio" name="xendit_installments" value="" checked> Full payment</label></td></tr>';e.each(d,(function(e,t){var i=Math.round(wc_xendit_params.amount/t.count).toLocaleString(),r=`${t.count} ${t.interval} (~${t.currency} ${i}/${t.interval})`;n+='<tr><td style="padding:0;"><input type="radio" name="xendit_installments" value='+JSON.stringify({count:t.count,interval:t.interval})+"> "+r+"</td></tr>"})),n+="</table>",e("#wc-xendit_cc-cc-form").append("<div id='xendit-installment-option'>"+n+"</div>")}}},onTokenizationResponse:function(e,t){if(e){var i=e.message;return"INVALID_USER_ID"==e.error_code?i='Invalid sub-account value. Please check your "On Behalf Of" configuration on XenPlatform option. Code: 100004':"VALIDATION_ERROR"==e.error_code&&(i="Please verify that the credit card information is correct. Code: 200003"),n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_failure_reason' value='"+i+"'/>"),n.form.submit(),!1}var r=t.id;return n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_token' value='"+r+"'/>"),"1"===wc_xendit_params.can_use_dynamic_3ds?Xendit.card.threeDSRecommendation({token_id:r},n.on3DSRecommendationResponse):Xendit.card.createAuthentication({token_id:r,amount:0},n.on3DSAuthenticationResponse),!1},clearToken:function(){e(".xendit_cc_hidden_input").remove()},on3DSAuthenticationResponse:function(t,i){if(t)return n.form.submit(),!1;let r=0;if("IN_REVIEW"===i.status||"CARD_ENROLLED"===i.status)return e("body").append('<div class="three-ds-overlay" style="display: none;"></div><div id="three-ds-container" style="display: none;">\n <iframe height="450" width="550" id="sample-inline-frame" name="sample-inline-frame"> </iframe>\n </div>'),window.open(i.payer_authentication_url,"sample-inline-frame"),e(".three-ds-overlay").show(),void e("#three-ds-container").show();"APPROVED"!==i.status&&"VERIFIED"!==i.status||(r=1,e(".three-ds-overlay").hide(),e("#three-ds-container").hide()),n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_3ds_authentication_status' value='"+r+"'/>"),n.form.submit()},on3DSRecommendationResponse:function(e,t){if(e)return n.form.submit(),!1;n.form.append("<input type='hidden' class='xendit_cc_hidden_input' name='xendit_should_3ds' value='"+t.should_3ds+"'/>"),n.form.submit()},getCardType:function(){var n=e("#xendit_cc-card-number").attr("class").split(" "),t=n.indexOf("identified");return t>-1?n[t-1]:"unknown"}};n.init()}));
Save
Back