var pms_payment_buttons
var $pms_auto_renew_field
var $pms_checked_subscription
var $pms_checked_paygate
var $pms_gateways_not_available
var pms_payment_button_loading_placeholder_text
var $pms_form
var is_pb_email_confirmation_on
var $pms_section_billing_details
var $pms_billing_toggle
jQuery(function($){
if(window.history.replaceState){
currentURL=window.location.href;
currentURL=pms_remove_query_arg('pmsscscd', currentURL);
currentURL=pms_remove_query_arg('pmsscsmsg', currentURL);
currentURL=pms_remove_query_arg('pms_gateway_payment_action', currentURL);
currentURL=pms_remove_query_arg('pms_gateway_payment_id', currentURL);
currentURL=pms_remove_query_arg('subscription_plan_id', currentURL);
currentURL=pms_remove_query_arg('pms_wppb_custom_success_message', currentURL);
currentURL=pms_remove_query_arg('redirect_to', currentURL);
if(currentURL!=window.location.href)
window.history.replaceState(null, null, currentURL);
}
function pms_remove_query_arg(key, sourceURL){
var rtn=sourceURL.split("?")[0],
param,
params_arr=[],
queryString=(sourceURL.indexOf("?")!==-1) ? sourceURL.split("?")[1]:"";
if(queryString!==""){
params_arr=queryString.split("&");
for (var i=params_arr.length - 1; i >=0; i -=1){
param=params_arr[i].split("=")[0];
if(param===key){
params_arr.splice(i, 1);
}}
rtn=rtn + "?" + params_arr.join("&");
}
if(rtn.split("?")[1]==""){
rtn=rtn.split("?")[0];
}
return rtn;
}
pms_payment_buttons='input[name=pms_register], '
pms_payment_buttons +='input[name=pms_new_subscription], '
pms_payment_buttons +='input[name=pms_change_subscription], '
pms_payment_buttons +='input[name=pms_upgrade_subscription], '
pms_payment_buttons +='input[name=pms_renew_subscription], '
pms_payment_buttons +='input[name=pms_confirm_retry_payment_subscription], '
pms_payment_buttons +='input[name=pms_update_payment_method], '
pms_payment_buttons +='#pms-paypal-express-confirmation-form input[type="submit"], '
pms_payment_buttons +='.wppb-register-user input[name=register]'
var subscription_plan_selector='input[name=subscription_plans]'
var paygate_selector='input.pms_pay_gate'
var settings_recurring=$('input[name="pms_default_recurring"]').val()
$pms_section_billing_details=$('.pms-section-billing-details')
$pms_billing_toggle=$('#pms_billing_toggle_checkbox')
is_pb_email_confirmation_on=$pms_section_billing_details.siblings('.pms-email-confirmation-payment-message').length > 0 ? true:false
$pms_auto_renew_field=jQuery('.pms-subscription-plan-auto-renew')
$pms_checked_subscription=jQuery(subscription_plan_selector + '[type=radio]').length > 0 ? jQuery(subscription_plan_selector + '[type=radio]:checked'):jQuery(subscription_plan_selector + '[type=hidden]')
$pms_checked_paygate=jQuery(paygate_selector + '[type=radio]').length > 0 ? jQuery(paygate_selector + '[type=radio]:checked'):jQuery(paygate_selector + '[type=hidden]')
$pms_gateways_not_available=jQuery('#pms-gateways-not-available')
pms_payment_button_loading_placeholder_text=$('#pms-submit-button-loading-placeholder-text').text()
jQuery(document).ready(function(){
$(document).on('click', paygate_selector, function(){
if($(this).is(':checked'))
$pms_checked_paygate=$(this)
if($pms_checked_paygate.data('type')=='extra_fields'){
$('.pms-paygate-extra-fields').hide()
$('.pms-paygate-extra-fields-' + $pms_checked_paygate.val()).show()
} else
$('.pms-paygate-extra-fields').hide()
handle_billing_fields_display()
handle_billing_cycles_display($pms_checked_paygate.val())
})
$(document).on('click', subscription_plan_selector + '[type=radio], ' + subscription_plan_selector + '[type="hidden"]', function(){
if($(this).is(':checked'))
$pms_checked_subscription=$(this)
if(typeof $pms_form=='undefined')
$pms_form=$(this).closest('form')
handle_auto_renew_field_display()
handle_payment_gateways_display()
handle_billing_fields_display()
})
$(document).on('change', '.pms_pwyw_pricing', handle_billing_fields_display)
$(document).on('keyup', '.pms_pwyw_pricing', handle_billing_fields_display)
function handle_auto_renew_field_display(){
if($pms_checked_subscription.data('recurring')==1&&$pms_checked_paygate.data('recurring')!='undefined')
$pms_auto_renew_field.show()
else
$pms_auto_renew_field.hide()
if($pms_checked_subscription.data('recurring')==0){
if(settings_recurring==1)
$pms_auto_renew_field.show()
}
if(( $pms_checked_subscription.data('fixed_membership')=='on'&&$pms_checked_subscription.data('allow_renew')!='on')||$pms_checked_subscription.data('recurring')==2||$pms_checked_subscription.data('recurring')==3){
$pms_auto_renew_field.hide()
}
if(( $pms_checked_subscription.data('fixed_membership')!='on'&&$pms_checked_subscription.data('duration')==0)||($pms_checked_subscription.data('price')==0&&!($pms_checked_subscription.data('sign_up_fee') > 0) )){
if(typeof $pms_checked_subscription.data('discountedPrice')=='undefined')
$pms_auto_renew_field.hide()
else if(typeof $pms_checked_subscription.data('isFullDiscount')!='undefined'&&$pms_checked_subscription.data('isFullDiscount')==true&&$pms_checked_subscription.data('discountRecurringPayments')==1)
$pms_auto_renew_field.hide()
}
if($pms_checked_subscription.data('recurring')!='undefined'&&$pms_checked_subscription.data('recurring')!=3&&$pms_checked_subscription.data('recurring')!=2){
if($pms_checked_subscription.data('fixed_membership')!='on'||($pms_checked_subscription.data('fixed_membership')=='on'&&$pms_checked_subscription.data('allow_renew')=='on') ){
if(typeof $pms_checked_subscription.data('prorated_discount')!='undefined'&&$pms_checked_subscription.data('prorated_discount') > 0)
$pms_auto_renew_field.show()
}}
}
function handle_payment_gateways_display(){
$('#pms-paygates-wrapper').show()
$(paygate_selector).removeAttr('disabled')
$(paygate_selector).closest('label').show()
if($.pms_plan_has_trial()){
$(paygate_selector + ':not([data-trial])').attr('disabled', true);
$(paygate_selector + ':not([data-trial])').closest('label').hide();
}
if($.pms_plan_has_signup_fee()){
$(paygate_selector + ':not([data-sign_up_fee])').attr('disabled', true);
$(paygate_selector + ':not([data-sign_up_fee])').closest('label').hide();
}
if($pms_checked_subscription.data('recurring')==2){
$(paygate_selector + ':not([data-recurring])').attr('disabled', true);
$(paygate_selector + ':not([data-recurring])').closest('label').hide();
}else if($pms_checked_subscription.data('recurring')==1){
if($pms_auto_renew_field.find('input[type=checkbox]').is(':checked')){
$(paygate_selector + ':not([data-recurring])').attr('disabled', true);
$(paygate_selector + ':not([data-recurring])').closest('label').hide();
}}else if(!$pms_checked_subscription.data('recurring')){
if(settings_recurring==1){
if($pms_auto_renew_field.find('input[type=checkbox]').is(':checked')){
$(paygate_selector + ':not([data-recurring])').attr('disabled', true);
$(paygate_selector + ':not([data-recurring])').closest('label').hide();
}}else if(settings_recurring==2){
$(paygate_selector + ':not([data-recurring])').attr('disabled', true);
$(paygate_selector + ':not([data-recurring])').closest('label').hide();
}}
if($(paygate_selector + ':not([disabled]):checked').length==0)
$(paygate_selector + ':not([disabled])').first().trigger('click');
if($(paygate_selector).length > 0){
if($(paygate_selector + ':not([disabled])').length==0){
$pms_gateways_not_available.show();
$('.pms-paygate-extra-fields').hide()
if($pms_checked_subscription.data('price')!=0){
if($pms_checked_subscription.length!=0)
$(pms_payment_buttons).attr('disabled', true).addClass('pms-submit-disabled');
}
}else{
$pms_gateways_not_available.hide();
if($(paygate_selector + ':not([disabled]):checked[data-type="extra_fields"]').length > 0){
$('.pms-paygate-extra-fields').hide()
$('.pms-paygate-extra-fields-' + $(paygate_selector + ':not([disabled]):checked[data-type="extra_fields"]').val()).show()
}else if($(paygate_selector + ':not([disabled])[type="hidden"][data-type="extra_fields"]').length > 0){
$('.pms-paygate-extra-fields').hide()
$('.pms-paygate-extra-fields-' + $(paygate_selector + ':not([disabled])[type="hidden"][data-type="extra_fields"]').val()).show()
}
if($pms_checked_subscription.length!=0)
$(pms_payment_buttons).attr('disabled', false).removeClass('pms-submit-disabled');
}}
if($pms_checked_subscription.data('price')==0&&!$.pms_plan_has_signup_fee()){
if($.pms_plan_is_prorated()){
if($.pms_checkout_is_recurring()){
if(typeof $pms_form!='undefined')
$.pms_show_payment_fields($pms_form)
return
}}
$('#pms-paygates-wrapper').hide()
$(paygate_selector).attr('disabled', true)
$(paygate_selector).closest('label').hide()
$('.pms-paygate-extra-fields').hide()
$('.pms-billing-details').hide()
$('.pms-section-billing-toggle').hide()
}}
function handle_plan_recurring_duration_display(){
if(!($('#pms-change-subscription-form').length > 0) )
return
$('input[name="subscription_plans"]').each(function(index, plan){
if($(plan).data('recurring')==3||(typeof $(plan).data('prorated_discount')=='undefined'||$(plan).data('prorated_discount')==0) )
return
if(( $(plan).data('recurring')==2||settings_recurring==2||$('input[name="pms_recurring"]', $pms_auto_renew_field).prop('checked'))&&$('.pms-subscription-plan-price__recurring', $(plan).parent()) )
$('.pms-subscription-plan-price__recurring', $(plan).parent()).show()
else
$('.pms-subscription-plan-price__recurring', $(plan).parent()).hide()
})
}
function handle_billing_fields_display(){
if(!($pms_section_billing_details.length > 0) ){
$('.pms-section-billing-toggle').hide()
return
}
if($pms_checked_subscription.length > 0&&!is_pb_email_confirmation_on&&($pms_checked_subscription.data('price')!=0||$.pms_plan_has_signup_fee($pms_checked_subscription) )){
$('.pms-billing-details').attr('style', 'display: flex;');
if($pms_checked_subscription.data('price') > 0)
$('.pms-section-billing-toggle').show()
else $('.pms-section-billing-toggle').hide()
}
let parentForm=$pms_section_billing_details.closest('form').attr('id');
if(parentForm===undefined||(parentForm!=='pms_edit-profile-form'&&!$pms_checked_subscription.length) ){
$('.pms-section-billing-toggle').hide()
return
}
if($pms_billing_toggle.length > 0){
if($pms_billing_toggle.is(':checked')){
$('.pms-billing-details').attr('style', 'display: flex;');
}else{
$('.pms-billing-details').hide();
}}
}
function handle_billing_cycles_display(selected_paygate){
let cyclesText=jQuery('.pms-subscription-plan-billing-cycles');
let gateways=['manual', 'stripe_connect', 'paypal_connect'];
if(gateways.includes(selected_paygate))
cyclesText.show();
else
cyclesText.hide();
}
jQuery(document).on('submit', '.pms-form', disable_form_submit_button)
if(jQuery('.wppb-register-user').length > 0&&jQuery('.wppb-register-user .wppb-subscription-plans').length > 0)
jQuery(document).on('submit', '.wppb-register-user', disable_form_submit_button)
window.disable_form_submit_button=disable_form_submit_button;
function disable_form_submit_button(e){
if(jQuery(e.target).is('form')){
var form=jQuery(e.target)
}else{
var form=jQuery(e)
}
var target_button=jQuery('input[type="submit"], button[type="submit"]', form).not('#pms-apply-discount').not('input[name="pms_redirect_back"]')[0]
if($(target_button).hasClass('pms-submit-disabled'))
return false
$(target_button).data('original-value', $(target_button).val())
if(pms_payment_button_loading_placeholder_text.length > 0){
$(target_button).addClass('pms-submit-disabled').val(pms_payment_button_loading_placeholder_text)
if($(target_button).is('button'))
$(target_button).text(pms_payment_button_loading_placeholder_text)
}}
$pms_auto_renew_field.click(function(){
handle_auto_renew_field_display()
handle_payment_gateways_display()
handle_plan_recurring_duration_display()
});
if($pms_billing_toggle.length > 0){
let allRequiredFilled=true;
$('.pms-billing-details .pms-field-required').each(function(){
let $input=$(this).find('input, select');
if($input.length > 0&&!$input.val()){
allRequiredFilled=false;
return false;
}});
if(!allRequiredFilled){
$pms_billing_toggle.prop('checked', true);
}
$pms_billing_toggle.on('change', function(){
handle_billing_fields_display();
});
}
handle_auto_renew_field_display()
handle_payment_gateways_display()
handle_plan_recurring_duration_display()
handle_billing_fields_display()
$('#pms-paygates-inner').css('visibility', 'visible');
handle_billing_cycles_display($pms_checked_paygate.val())
jQuery(document).on('elementor/popup/show', function (){
if($('.pms-form', $('.elementor-popup-modal')).length > 0){
$pms_checked_subscription=jQuery(subscription_plan_selector + '[type=radio]').length > 0 ? jQuery(subscription_plan_selector + '[type=radio]:checked'):jQuery(subscription_plan_selector + '[type=hidden]')
handle_auto_renew_field_display()
handle_payment_gateways_display()
handle_plan_recurring_duration_display()
handle_billing_fields_display()
$('#pms-paygates-inner').css('visibility', 'visible');
}})
if($('.wppb-register-user').length!=0&&$('.wppb-subscription-plans').length!=0){
pmsHandleDefaultWPPBFormSelectedPlanOnLoad()
pmsHandleGatewaysDisplayRemove()
$(document).on("wppbRemoveRequiredAttributeEvent", pmsHandleGatewaysDisplayRemove)
$(document).on("wppbAddRequiredAttributeEvent", pmsHandleGatewaysDisplayShow)
$(document).on("wppb_msf_next_step", pmsHandleGatewaysDisplayRemove)
$(document).on("wppb_msf_next_step", pmsHandleGatewaysDisplayShow)
function pmsHandleGatewaysDisplayRemove(event=''){
if($('#pms-paygates-wrapper').is(':hidden') )
return
if(event!=''){
if(event.type&&event.type!='wppb_msf_next_step'){
var element=event.target
if(typeof $(element).attr('conditional-name')=='undefined'||$(element).attr('conditional-name')!='subscription_plans')
return
}}
var visible_plans=false
$('.wppb-subscription-plans').each(function (index, item){
var only_free_plans=true
var $checked=$('.pms-subscription-plan input[type=radio]:checked, .pms-subscription-plan input[type=hidden]', $(item))
if($checked.attr('conditional-name')==='subscription_plans'){
return false
}
if(( $checked.data('price')&&$checked.data('price') > 0)||$.pms_plan_has_signup_fee($checked) ){
only_free_plans=false
}
if(only_free_plans)
visible_plans=false
else
visible_plans=true
return false
})
if(visible_plans===false){
$('#pms-paygates-wrapper').hide()
$(paygate_selector).attr('disabled', true)
$(paygate_selector).closest('label').hide()
$('.pms-paygate-extra-fields').hide()
$('.pms-billing-details').hide()
$('.pms-section-billing-toggle').hide()
$('.pms-price-breakdown__holder').hide()
if(typeof element!='undefined'&&element.length > 0){
$('input[type="submit"], button[type="submit"]', $(element).closest('.pms-form, .wppb-register-user') ).show()
}}else{
pmsHandleDefaultWPPBFormSelectedPlanOnLoad()
}}
function pmsHandleGatewaysDisplayShow(event=''){
if(event!=''){
if(event.type&&event.type!='wppb_msf_next_step'){
var element=event.target
if(typeof $(element).attr('conditional-name')=='undefined'||$(element).attr('conditional-name')!='subscription_plans')
return
}}
var visible_plans=false
$('.wppb-subscription-plans').each(function (index, item){
var only_free_plans=true
var $checked=$('.pms-subscription-plan input[type=radio]:checked, .pms-subscription-plan input[type=hidden]', $(item))
if($checked.attr('conditional-name')==='subscription_plans'){
return false
}
if($checked.data('price')&&$checked.data('price') > 0){
only_free_plans=false
}
if(only_free_plans)
visible_plans=false
else
visible_plans=true
return false
})
if(visible_plans===false){
$('#pms-paygates-wrapper').hide()
$(paygate_selector).attr('disabled', true)
$(paygate_selector).closest('label').hide()
$('.pms-paygate-extra-fields').hide()
$('.pms-billing-details').hide()
$('.pms-section-billing-toggle').hide()
$('.pms-price-breakdown__holder').hide()
if(typeof element!='undefined'&&element.length > 0){
$('input[type="submit"], button[type="submit"]', $(element).closest('.pms-form, .wppb-register-user') ).show()
}}else{
$('#pms-paygates-wrapper').show()
$(paygate_selector).removeAttr('disabled')
$(paygate_selector).closest('label').show()
$('.pms-paygate-extra-fields').show()
$('.pms-billing-details').attr('style', 'display: flex;');
$('.pms-section-billing-toggle').show()
$('.pms-price-breakdown__holder').show()
if(( $('input[type=radio][name=pay_gate]:checked').val()=='paypal_connect'||$('input[type=hidden][name=pay_gate]').val()=='paypal_connect') &&
(!$('input[type=radio][name=pay_gate]:checked').is(':disabled')||!$('input[type=hidden][name=pay_gate]').is(':disabled'))
){
$('.pms-paygate-extra-fields-paypal_connect').show()
$('.wppb-register-user .form-submit input[type="submit"], .wppb-register-user.form-submit button[type="submit"]').last().hide()
}}
}
function pmsHandleDefaultWPPBFormSelectedPlanOnLoad(){
if(!(jQuery('#wppb-register-user').length > 0) )
return
if(!(jQuery('.wppb-subscription-plans').length > 1) )
return
jQuery('.wppb-subscription-plans').each(function(){
if(jQuery(this).is(':visible') ){
jQuery(this).find("input[name=\'subscription_plans\']").each(function (index, item){
if(typeof jQuery(item).data("default-selected")!="undefined"&&jQuery(item).data("default-selected")==true){
jQuery(item).prop("checked", "checked")
jQuery(item).trigger("click")
}})
return
}})
}}
if($('#pms-change-subscription-form').length > 0){
if($pms_checked_subscription.closest('.pms-upgrade__group').hasClass('pms-upgrade__group--upgrade')){
$('#pms-change-subscription-form input[name="pms_change_subscription"]').val($('#pms-change-subscription-form input[name="pms_button_name_upgrade"]').val())
$('#pms-change-subscription-form input[name="form_action"]').val($('#pms-change-subscription-form input[data-name="upgrade_subscription"]').val())
}else if($pms_checked_subscription.closest('.pms-upgrade__group').hasClass('pms-upgrade__group--downgrade')){
$('#pms-change-subscription-form input[name="pms_change_subscription"]').val($('#pms-change-subscription-form input[name="pms_button_name_downgrade"]').val())
$('#pms-change-subscription-form input[name="form_action"]').val($('#pms-change-subscription-form input[data-name="downgrade_subscription"]').val())
}
$('#pms-change-subscription-form .pms-upgrade__group--upgrade .pms-subscription-plan input').on('click', function (){
$('#pms-change-subscription-form input[name="pms_change_subscription"]').val($('#pms-change-subscription-form input[name="pms_button_name_upgrade"]').val())
$('#pms-change-subscription-form input[name="form_action"]').val($('#pms-change-subscription-form input[data-name="upgrade_subscription"]').val())
})
$('#pms-change-subscription-form .pms-upgrade__group--downgrade .pms-subscription-plan input').on('click', function (){
$('#pms-change-subscription-form input[name="pms_change_subscription"]').val($('#pms-change-subscription-form input[name="pms_button_name_downgrade"]').val())
$('#pms-change-subscription-form input[name="form_action"]').val($('#pms-change-subscription-form input[data-name="downgrade_subscription"]').val())
})
$('#pms-change-subscription-form .pms-upgrade__group--change .pms-subscription-plan input').on('click', function (){
$('#pms-change-subscription-form input[name="pms_change_subscription"]').val($('#pms-change-subscription-form input[name="pms_button_name_change"]').val())
$('#pms-change-subscription-form input[name="form_action"]').val('')
})
}})
$.pms_add_field_error=function(error, field_name){
if(error==''||error=='undefined'||field_name==''||field_name=='undefined')
return false;
$field=$('[name=' + field_name + ']');
$field_wrapper=$field.closest('.pms-field');
error='<p>' + error + '</p>';
if($field_wrapper.find('.pms_field-errors-wrapper').length > 0)
$field_wrapper.find('.pms_field-errors-wrapper').html(error);
else
$field_wrapper.append('<div class="pms_field-errors-wrapper pms-is-js">' + error + '</div>');
}
$.pms_add_general_error=function(error){
if(error==''||error=='undefined')
return false
var target=$('.pms-form')
target.prepend('<div class="pms_field-errors-wrapper pms-is-js"><p>' + error + '</p></div>')
}
$.pms_add_subscription_plans_error=function(error){
if(error==''||error=='undefined')
return false
$('<div class="pms_field-errors-wrapper pms-is-js"><p>' + error + '</p></div>').insertBefore('#pms-paygates-wrapper')
}
$.pms_add_recaptcha_field_error=function(error, payment_button){
$field_wrapper=$('#pms-recaptcha-register-wrapper', $(payment_button).closest('form'))
error='<p>' + error + '</p>'
if($field_wrapper.find('.pms_field-errors-wrapper').length > 0)
$field_wrapper.find('.pms_field-errors-wrapper').html(error)
else
$field_wrapper.append('<div class="pms_field-errors-wrapper pms-is-js">' + error + '</div>')
}
$.pms_plan_has_trial=function(element=null){
if(element==null)
element=$pms_checked_subscription
if(typeof element.data('trial')=='undefined'||element.data('trial')=='0')
return false
return true
}
$.pms_plan_has_signup_fee=function(element=null){
if(element==null)
element=$pms_checked_subscription
if(typeof element.data('sign_up_fee')=='undefined'||element.data('sign_up_fee')=='0')
return false
return true
}
$.pms_plan_is_prorated=function(element=null){
if(!($('#pms-change-subscription-form').length > 0) )
return false
if(element==null)
element=$pms_checked_subscription
if(typeof element.data('prorated_discount')!='undefined'&&element.data('prorated_discount') > 0)
return true
return false
}
$.pms_checkout_is_recurring=function(element=null){
if(element==null)
element=$pms_checked_subscription
if(( settings_recurring=='2'||$('input[name="pms_recurring"]', $pms_auto_renew_field).prop('checked')||element.data('recurring')==2)&&element.data('recurring')!=3)
return true
return false
}
$.pms_hide_payment_fields=function(form){
if(typeof form=='undefined')
return
if(typeof form.pms_paygates_wrapper=='undefined')
form.pms_paygates_wrapper=form.find('#pms-paygates-wrapper').clone()
form.find('#pms-paygates-wrapper').replaceWith('<span id="pms-paygates-wrapper">')
form.find('.pms-paygate-extra-fields').hide()
if(form.find('.pms-paygate-extra-fields-paypal_connect').length > 0){
if(typeof $pms_checked_paygate!='undefined'&&$pms_checked_paygate.val()=='paypal_connect'){
form.find('input[type="submit"], button[type="submit"]').show()
}}
if(typeof PMS_ChosenStrings!=='undefined'&&$.fn.chosen!=undefined){
form.find('#pms_billing_country').chosen('destroy')
form.find('#pms_billing_state').chosen('destroy')
}
if(typeof form.pms_billing_details=='undefined'){
form.pms_billing_details=form.find('.pms-billing-details').clone()
}
form.find('.pms-billing-details').replaceWith('<span class="pms-billing-details">')
$('.pms-section-billing-toggle').hide();
}
$.pms_show_payment_fields=function(form){
if(typeof form=='undefined')
return
if(typeof form.pms_paygates_wrapper!='undefined')
form.find('#pms-paygates-wrapper').replaceWith(form.pms_paygates_wrapper)
if(typeof $pms_checked_paygate!='undefined'&&$pms_checked_paygate.data('type')=='extra_fields')
form.find('.pms-paygate-extra-fields-' + $pms_checked_paygate.val()).show()
if(form.find('.pms-paygate-extra-fields-paypal_connect').length > 0){
if(typeof $pms_checked_paygate!='undefined'&&$pms_checked_paygate.val()=='paypal_connect'){
form.find('input[type="submit"]:not([name="pms_redirect_back"]):not([id="pms-apply-discount"]), button[type="submit"]').hide()
}}
if(typeof form.pms_billing_details!='undefined'){
form.find('.pms-billing-details').replaceWith(form.pms_billing_details)
$('.pms-section-billing-toggle').show();
if(typeof PMS_ChosenStrings!=='undefined'&&$.fn.chosen!=undefined){
form.find('#pms_billing_country').chosen(PMS_ChosenStrings)
if($('#pms_billing_state option').length > 0)
form.find('#pms_billing_state').chosen(PMS_ChosenStrings)
}}
}
$.pms_checkout_is_setup_intents=function (){
let selected_plan=$(subscription_plan_selector + '[type=radio]').length > 0 ? $(subscription_plan_selector + '[type=radio]:checked'):$(subscription_plan_selector + '[type=hidden]')
if(typeof selected_plan.data('trial')!='undefined'&&selected_plan.data('trial')=='1'&&!$.pms_plan_has_signup_fee(selected_plan) )
return true
else if($('input[name="discount_code"]').length > 0&&$('input[name="discount_code"]').val().length > 0&&typeof selected_plan.data('price')!='undefined'&&selected_plan.data('price')=='0')
return true
else if($.pms_plan_is_prorated(selected_plan)&&typeof selected_plan.data('price')!='undefined'&&selected_plan.data('price')=='0')
return true
return false
}
$.pms_form_add_wppb_validation_errors=function(errors, current_button){
let scroll=false
jQuery.each(errors, function (key, value){
let field=jQuery('#wppb-form-element-' + key)
field.addClass('wppb-field-error')
field.append(value)
scroll=true
})
if(scroll)
$.pms_form_scrollTo('.wppb-register-user', current_button)
}
$.pms_stripe_add_credit_card_error=function (error){
if(error==''||error=='undefined')
return false
$field_wrapper=$('.pms-paygate-extra-fields-stripe_connect');
error='<p>' + error + '</p>'
if($field_wrapper.find('.pms_field-errors-wrapper').length > 0)
$field_wrapper.find('.pms_field-errors-wrapper').html(error)
else
$field_wrapper.append('<div class="pms_field-errors-wrapper pms-is-js">' + error + '</div>')
}
$.pms_form_add_validation_errors=function (errors, payment_button){
var scrollLocation='';
$.each(errors, function (index, value){
if(value.target=='form_general'){
$.pms_add_general_error(value.message)
scrollLocation='.pms-form'
}else if(value.target=='subscription_plan'||value.target=='subscription_plans'||value.target=='payment_gateway'){
$.pms_add_subscription_plans_error(value.message)
if(scrollLocation=='')
scrollLocation='.pms-field-subscriptions'
}else if(value.target=='credit_card'){
$.pms_stripe_add_credit_card_error(value.message)
if(scrollLocation=='')
scrollLocation='#pms-paygates-wrapper'
}else if(value.target=='recaptcha-register'){
$.pms_add_recaptcha_field_error(value.message, payment_button)
}else{
$.pms_add_field_error(value.message, value.target)
if(scrollLocation==''&&value.target.indexOf('pms_billing')!==-1)
scrollLocation='.pms-billing-details'
else if(scrollLocation==''&&value.target.indexOf('pms_gift_recipient_email')!==-1)
scrollLocation='.pms-gift-details'
else
scrollLocation='.pms-form'
}})
if($(payment_button).attr('name')=='pms_update_payment_method'&&scrollLocation=='#pms-paygates-wrapper')
scrollLocation='#pms-stripe-connect';
$.pms_form_scrollTo(scrollLocation, payment_button)
}
$.pms_form_reset_submit_button=function(target){
if(!target.data||!target.data('original-value')||typeof target.data('original-value')==undefined){
value=target.val()
}else{
value=target.data('original-value')
}
setTimeout(function (){
target.attr('disabled', false).removeClass('pms-submit-disabled').val(value).blur()
if($(target).is('button'))
$(target).text(value)
}, 1)
}
$.pms_form_scrollTo=function(scrollLocation, payment_button){
var form=$(scrollLocation)[0]
if(typeof form=='undefined'){
$.pms_form_reset_submit_button(payment_button)
return
}
var coord=form.getBoundingClientRect().top + window.scrollY
var offset=-170
window.scrollTo({
top: coord + offset,
behavior: 'smooth'
})
$.pms_form_reset_submit_button(payment_button)
}
$.pms_form_remove_errors=function(){
$('.pms_field-errors-wrapper').remove()
if($('.pms-stripe-error-message').length > 0)
$('.pms-stripe-error-message').remove()
if($('.wppb-register-user').length > 0){
$('.wppb-form-error').remove()
$('.wppb-register-user .wppb-form-field').each(function (){
$(this).removeClass('wppb-field-error')
})
}}
$.pms_form_get_data=async function(current_button, verify_captcha=false){
if(!current_button)
return false
var form=$(current_button).closest('form')
var data=form.serializeArray().reduce(function (obj, item){
obj[item.name]=item.value
return obj
}, {})
data.action='pms_process_checkout'
data.current_page=window.location.href
data.pms_nonce=$('#pms-process-checkout-nonce').val()
data.form_type=$('.wppb-register-user .wppb-subscription-plans').length > 0 ? 'wppb':$('.pms-ec-register-form').length > 0 ? 'pms_email_confirmation':'pms'
data[current_button.attr('name')]=true
if($('input[name="form_action"]', form)&&$('input[name="form_action"]', form).length > 0)
data.form_action=$('input[name="form_action"]', form).val()
if(data.form_type=='wppb'){
data.wppb_fields=$.pms_form_get_wppb_fields(current_button)
if($('input[name="send_credentials_via_email"]', form).length > 0&&$('input[name="send_credentials_via_email"]', form).is(':checked'))
data.send_credentials_via_email='sending'
else
data.send_credentials_via_email=''
}
if($('body').hasClass('logged-in'))
data.form_type=$('input[type="submit"], button[type="submit"]', form).not('#pms-apply-discount').not('input[name="pms_redirect_back"]').attr('name')
if($.pms_checkout_is_setup_intents())
data.setup_intent=true
if(data.pms_current_subscription)
data.subscription_id=data.pms_current_subscription
if(verify_captcha&&typeof data['g-recaptcha-response']!='undefined'&&data['g-recaptcha-response']==''){
if(data.form_type=='wppb')
$.pms_form_add_wppb_validation_errors({ recaptcha: { field: 'recaptcha', error: '<span class="wppb-form-error">This field is required</span>' }}, current_button)
else
$.pms_add_recaptcha_field_error('Please complete the reCaptcha.', current_button)
$.pms_form_reset_submit_button(current_button)
return false
}
return data
}
$.pms_form_get_wppb_fields=function(current_button){
var fields={}
jQuery('li.wppb-form-field', jQuery(current_button).closest('form')).each(function (){
if(jQuery(this).attr('class').indexOf('heading')==-1&&jQuery(this).attr('class').indexOf('wppb_billing')==-1
&& jQuery(this).attr('class').indexOf('wppb_shipping')==-1&&jQuery(this).attr('class').indexOf('wppb-shipping')==-1){
var meta_name;
if(jQuery(this).hasClass('wppb-repeater')||jQuery(this).parent().attr('data-wppb-rpf-set')=='template'||jQuery(this).hasClass('wppb-recaptcha')){
return true;
}
if(jQuery(this).hasClass('wppb-send-credentials-checkbox'))
return true;
if(jQuery(this).find('[conditional-value]').length!==0){
return true;
}
fields[jQuery(this).attr('id')]={};
fields[jQuery(this).attr('id')]['class']=jQuery(this).attr('class');
if(jQuery(this).hasClass('wppb-woocommerce-customer-billing-address')){
meta_name='woocommerce-customer-billing-address';
}else if(jQuery(this).hasClass('wppb-woocommerce-customer-shipping-address')){
meta_name='woocommerce-customer-shipping-address';
if(!jQuery('.wppb-woocommerce-customer-billing-address #woo_different_shipping_address', jQuery(current_button).closest('form')).is(':checked')){
return true;
}}else{
meta_name=jQuery(this).find('label').attr('for');
fields[jQuery(this).attr('id')]['title']=jQuery(this).find('label').first().text().trim();
}
fields[jQuery(this).attr('id')]['meta-name']=meta_name;
if(jQuery(this).parent().parent().attr('data-wppb-rpf-meta-name')){
var repeater_group=jQuery(this).parent().parent();
fields[jQuery(this).attr('id')]['extra_groups_count']=jQuery(repeater_group).find('#' + jQuery(repeater_group).attr('data-wppb-rpf-meta-name') + '_extra_groups_count').val();
}
if(jQuery(this).hasClass('wppb-woocommerce-customer-billing-address')){
var woo_billing_fields_fields={};
jQuery('ul.wppb-woo-billing-fields li.wppb-form-field', jQuery(current_button).closest('form')).each(function (){
if(!jQuery(this).hasClass('wppb_billing_heading')){
woo_billing_fields_fields[jQuery(this).find('label').attr('for')]=jQuery(this).find('label').text();
}});
fields[jQuery(this).attr('id')]['fields']=woo_billing_fields_fields;
}
if(jQuery(this).hasClass('wppb-woocommerce-customer-shipping-address')){
var woo_shipping_fields_fields={};
jQuery('ul.wppb-woo-shipping-fields li.wppb-form-field', jQuery(current_button).closest('form')).each(function (){
if(!jQuery(this).hasClass('wppb_shipping_heading')){
woo_shipping_fields_fields[jQuery(this).find('label').attr('for')]=jQuery(this).find('label').text();
}});
fields[jQuery(this).attr('id')]['fields']=woo_shipping_fields_fields;
}}
})
return fields
}
jQuery("#pms-delete-account").on("click", function (e){
e.preventDefault();
var pmsDeleteUser=prompt(pmsGdpr.delete_text);
if(pmsDeleteUser==="DELETE"){
window.location.replace(pmsGdpr.delete_url);
}else{
alert(pmsGdpr.delete_error_text);
}})
})
jQuery(function($){
$(document).ready(function(){
if(( $('.pms-subscription-plan input[type=radio][data-price="0"]').is(':checked')||$('.pms-subscription-plan input[type=hidden]').attr('data-price')=='0' ||
$('.pms-subscription-plan input[type=radio]').prop('checked')==false)&&!$.pms_plan_has_signup_fee()){
$('.pms-email-confirmation-payment-message').hide()
}
if($('.pms-subscription-plan input[type=radio]').length > 0){
var has_paid_subscription=false
$('.pms-subscription-plan input[type=radio]').each(function(){
if($(this).data('price')!=0||$.pms_plan_has_signup_fee($(this)) )
has_paid_subscription=true
})
if(!has_paid_subscription)
$('.pms-email-confirmation-payment-message').hide()
}
$('.pms-subscription-plan input[type=radio]').click(function(){
if($('.pms-subscription-plan input[type=radio][data-price="0"]').is(':checked')&&!$.pms_plan_has_signup_fee($(this)) )
$('.pms-email-confirmation-payment-message').hide()
else
$('.pms-email-confirmation-payment-message').show()
})
$('.wppb-edit-user input[required]').on('invalid', function(e){
$.pms_reset_submit_button($('.wppb-edit-user .wppb-subscription-plans input[type="submit"]').first())
})
})
})
jQuery(function($){
$(document).ready(function(){
if(typeof PMS_States=='undefined'||!PMS_States)
return
pms_handle_billing_state_field_display()
$(document).on('change', '#pms_billing_country', function(){
pms_handle_billing_state_field_display()
})
if(typeof PMS_ChosenStrings!=='undefined'&&$.fn.chosen!=undefined){
$('#pms_billing_country').chosen(PMS_ChosenStrings)
if($('#pms_billing_state option').length > 0)
$('#pms_billing_state').chosen(PMS_ChosenStrings)
}
$('input[name=pms_billing_email], input[name=pms_billing_first_name], input[name=pms_billing_last_name]').each(function (){
if($(this).val()!='')
$(this).addClass('pms-has-value')
})
})
$(document).on('keyup', '#pms_user_email, .wppb-form-field input[name=email]', function (){
if($(this).closest('form').find('[name=pms_billing_email]').length==0)
return false
if($(this).closest('form').find('[name=pms_billing_email]').hasClass('pms-has-value'))
return false
$(this).closest('form').find('[name=pms_billing_email]').val($(this).val())
})
$(document).on('keyup', '#pms_first_name', function (){
if($(this).closest('form').find('[name=pms_billing_first_name]').length==0)
return false
if($(this).closest('form').find('[name=pms_billing_first_name]').hasClass('pms-has-value'))
return false
$(this).closest('form').find('[name=pms_billing_first_name]').val($(this).val())
})
$(document).on('keyup', '#pms_last_name', function (){
if($(this).closest('form').find('[name=pms_billing_last_name]').length==0)
return false
if($(this).closest('form').find('[name=pms_billing_last_name]').hasClass('pms-has-value'))
return false
$(this).closest('form').find('[name=pms_billing_last_name]').val($(this).val())
})
function pms_handle_billing_state_field_display(){
var country=$('#pms_billing_country').val()
if(PMS_States[country]){
if(typeof PMS_ChosenStrings!=='undefined'&&$.fn.chosen!=undefined)
$('.pms-billing-state__select').chosen('destroy')
$('.pms-billing-state__select option').remove()
$('.pms-billing-state__select').append('<option value=""></option>');
for(var key in PMS_States[country]){
if(PMS_States[country].hasOwnProperty(key))
$('.pms-billing-state__select').append('<option value="'+ key +'">'+ PMS_States[country][key] +'</option>')
}
var prevValue=$('.pms-billing-state__input').val()
if(prevValue!='')
$('.pms-billing-state__select').val(prevValue)
$('.pms-billing-state__input').removeAttr('name').removeAttr('id').hide()
$('.pms-billing-state__select').attr('name','pms_billing_state').attr('id','pms_billing_state').show()
if(typeof PMS_ChosenStrings!=='undefined'&&$.fn.chosen!=undefined)
$('.pms-billing-state__select').chosen(PMS_ChosenStrings)
}else{
if(typeof PMS_ChosenStrings!=='undefined'&&$.fn.chosen!=undefined)
$('.pms-billing-state__select').chosen('destroy')
$('.pms-billing-state__select').removeAttr('name').removeAttr('id').hide()
$('.pms-billing-state__input').attr('name','pms_billing_state').attr('id','pms_billing_state').show()
}}
var $inviteCodeField=$(".pms-invite-code-field");
if($inviteCodeField.length > 0){
toggleInviteCodeField();
$(document).on("change", "input[name='subscription_plans']", toggleInviteCodeField);
}
function toggleInviteCodeField(){
var $subscriptionPlans=$("input[name='subscription_plans']");
if($subscriptionPlans.length==0){
$inviteCodeField.hide();
return;
}
var $selected;
if($subscriptionPlans.length===1){
$selected=$subscriptionPlans;
}
else if($subscriptionPlans.length > 1){
$selected=$("input[name='subscription_plans']:checked");
}
if(!$selected||!$selected.length){
$inviteCodeField.hide();
return;
}
var hasInviteCode=($selected.attr("data-has_invite_code")||"").toLowerCase();
$inviteCodeField.toggle(hasInviteCode==="yes");
}});
async function pms_stripe_maybe_load_gateway($){
if(!($('#stripe-pk').length > 0) ){
return false
}
var stripe_pk=$('#stripe-pk').val()
if(typeof stripe_pk=='undefined'||stripe_pk=='')
stripe_pk=$('#stripe-pk').attr('conditional-value')
if(typeof stripe_pk=='undefined')
return false
if(typeof pms.stripe_connected_account=='undefined'||pms.stripe_connected_account==''){
console.log('Before you can accept payments, you need to connect your Stripe Account by going to Dashboard -> Paid Member Subscriptions -> Settings -> Payments.')
return false
}
var elements=false
var elements_setup_intent=false
var update_elements_setup_intent=false
var stripe=false
var $payment_element=''
var $elements_instance_slug=''
var cardIsEmpty=true
var recreating_payment_element=false
var email_change_debounce_timer=null
var subscription_plan_selector='input[name=subscription_plans]'
var paygate_selector='input.pms_pay_gate'
var stripe_appearance={}
if(pms.pms_elements_appearance_api)
stripe_appearance=pms.pms_elements_appearance_api
var StripeData={
stripeAccount: pms.stripe_connected_account
}
if(pms.stripe_locale)
StripeData.locale=pms.stripe_locale
stripe=Stripe(stripe_pk, StripeData)
var stripe_payment_intent_options={
mode:'payment',
currency:pms.currency,
amount:1099,
paymentMethodCreation: 'manual',
appearance:stripe_appearance,
}
var stripe_setup_intent_options={
mode:'setup',
currency:pms.currency,
paymentMethodCreation: 'manual',
appearance:stripe_appearance,
}
if(pms.off_session_payments&&pms.off_session_payments==1){
stripe_payment_intent_options.setupFutureUsage='off_session'
stripe_setup_intent_options.setupFutureUsage='off_session'
}
if(pms.pms_customer_session){
stripe_payment_intent_options.customerSessionClientSecret=pms.pms_customer_session
stripe_setup_intent_options.customerSessionClientSecret=pms.pms_customer_session
}
elements=stripe.elements(stripe_payment_intent_options)
elements_setup_intent=stripe.elements(stripe_setup_intent_options)
stripeConnectInit()
if(pms.pms_mc_addon_active)
await pms_stripe_validate_sdk_checkout_currency($($pms_checked_subscription) );
if(typeof pms_initialize_recaptcha_v3=='function'){
window.pmsRecaptchaCallbackExecuted=true
jQuery('.pms-form').off('submit', pms_initialize_recaptcha_v3);
}
if(typeof wppbInitializeRecaptchaV3=='function'){
window.wppbRecaptchaCallbackExecuted=true
}
$(document).on('click', subscription_plan_selector, async function(event){
if(pms.pms_mc_addon_active){
await pms_stripe_validate_sdk_checkout_currency($(this));
}
stripeConnectInit()
})
$(document).on('click', '.pms-subscription-plan-auto-renew input[name="pms_recurring"]', function(event){
if($(this).prop('checked')){
elements.update({ setupFutureUsage: 'off_session' });
}else{
elements.update({ setupFutureUsage: null });
}})
$(document).on('change', '.pms-form .pms-user-email-field input[name="user_email"], .wppb-register-user input[name="email"], .pms-form .pms-billing-details input[name="pms_billing_email"]', function(event){
if(recreating_payment_element){
return
}
let element=$(this)
let email=$(this).val()
if(email_change_debounce_timer){
clearTimeout(email_change_debounce_timer)
}
if(email.length > 0){
element.attr('disabled', true)
pms_stripe_show_spinner()
email_change_debounce_timer=setTimeout(function(){
recreating_payment_element=true
if($payment_element&&$payment_element!=''){
$payment_element.destroy()
$payment_element=''
}
setTimeout(function(){
stripeConnectInit()
element.attr('disabled', false)
recreating_payment_element=false
}, 300)
}, 250)
}})
$(document).on('pms_discount_success', stripeConnectInit)
$(document).on('pms_discount_error', stripeConnectInit)
$(document).on('pms_tax_applied', function(event, data){
if(data.total > 0){
elements.update({ amount: pms_stripe_convert_amount_to_cents(data.total) });
}})
$(document).on('pms_tax_removed', function(event){
if(typeof $pms_checked_subscription!='undefined'){
let price=$pms_checked_subscription.data('price')
if(price > 0){
elements.update({ amount: pms_stripe_convert_amount_to_cents(price) });
}}
})
if($('input[name="pms_update_payment_method"]').length > 0&&$('.pms-paygate-extra-fields-stripe_connect').length > 0){
$('.pms-paygate-extra-fields-stripe_connect').show()
}
var payment_buttons='input[name=pms_register], ';
payment_buttons +='input[name=pms_new_subscription], ';
payment_buttons +='input[name=pms_change_subscription], ';
payment_buttons +='input[name=pms_upgrade_subscription], ';
payment_buttons +='input[name=pms_renew_subscription], ';
payment_buttons +='input[name=pms_confirm_retry_payment_subscription], ';
payment_buttons +='.wppb-register-user input[name=register]';
$(document).on('wppb_invisible_recaptcha_success', stripeConnectPaymentGatewayHandler)
$(document).on('submit', '.pms-form', async function (e){
if(e.target&&(jQuery(e.target).attr('id')=='pms_recover_password_form'||jQuery(e.target).attr('id')=='pms_new_password_form'||jQuery(e.target).attr('id')=='pms_login') )
return
var target_button=$('input[type="submit"], button[type="submit"]', $(this)).not('#pms-apply-discount').not('input[name="pms_redirect_back"]')
var form=$(this).closest('form')
if(typeof form!='undefined'&&form&&form.length > 0&&form.hasClass('pms-ec-register-form') ){
stripeConnectPaymentGatewayHandler(e, target_button)
}else if(!e.originalEvent||!e.originalEvent.submitter||$(e.originalEvent.submitter).attr('name')!='pms_redirect_back'){
if($(e.originalEvent.submitter).attr('name')=='pms_update_payment_method')
stripeConnectUpdatePaymentMethod(e, target_button)
else
stripeConnectPaymentGatewayHandler(e, target_button)
}})
$(document).on('submit', '.wppb-register-user', function (e){
if(!($('.wppb-recaptcha .wppb-recaptcha-element', $(e.currentTarget)).hasClass('wppb-invisible-recaptcha') )){
var target_button=$('input[type="submit"], button[type="submit"]', $(this)).not('#pms-apply-discount').not('input[name="pms_redirect_back"]')
stripeConnectPaymentGatewayHandler(e, target_button)
}})
async function stripeConnectPaymentGatewayHandler(e, target_button=false){
if($('input[type=hidden][name=pay_gate]').val()!='stripe_connect'&&$('input[type=radio][name=pay_gate]:checked').val()!='stripe_connect')
return
if($('input[type=hidden][name=pay_gate]').is(':disabled')||$('input[type=radio][name=pay_gate]:checked').is(':disabled'))
return
e.preventDefault()
$.pms_form_remove_errors()
var current_button=$(this)
if(e.type=='wppb_invisible_recaptcha_success'||e.type=='wppb_v3_recaptcha_success'||e.type=='pms_v3_recaptcha_success'){
current_button=target_button==false ? $('input[type="submit"]', $('.wppb-recaptcha-element').closest('form') ):$(target_button)
}else if(e.type=='submit'){
if(target_button!=false)
current_button=$(target_button)
}
current_button.attr('disabled', true)
return pms_stripe_maybe_validate_recaptcha(current_button, e).then(async function(recaptcha_response){
let target_elements=elements
if($.pms_checkout_is_setup_intents())
target_elements=elements_setup_intent
const {error: submitError}=await target_elements.submit()
if(submitError){
let message=''
if(submitError.message&&submitError.message!=''){
message=submitError.message
}else{
message='An error occurred while processing your payment. Please try again.'
}
$.pms_stripe_add_credit_card_error(message)
$.pms_form_scrollTo('#pms-paygates-wrapper', current_button)
return false
}
const {error, confirmationToken}=await stripe.createConfirmationToken({
elements:target_elements,
});
if(error){
let message=''
if(error.message&&error.message!=''){
message=error.message
}else{
message='An error occurred while processing your payment. Please try again.'
}
$.pms_stripe_add_credit_card_error(message)
$.pms_form_scrollTo('#pms-paygates-wrapper', current_button)
return false
}
return pms_stripe_process_checkout(current_button, confirmationToken.id).then(async function(response){
if(response.success==false&&(typeof response.data!='undefined'||typeof response.wppb_errors!='undefined'||typeof response.pms_errors!='undefined') ){
pms_stripe_handle_validation_errors(response, current_button)
return false
}else if(response.success==false&&typeof response.type!='undefined'&&response.type=='use_stripe_sdk'){
let intent
if($.pms_checkout_is_setup_intents()){
var { error, setupIntent }=await stripe.handleNextAction({
clientSecret: response.client_secret
});
intent=setupIntent
}else{
var { error, paymentIntent }=await stripe.handleNextAction({
clientSecret: response.client_secret
});
intent=paymentIntent
}
if(error&&error.payment_intent){
intent=error.payment_intent
}else if(error&&error.setup_intent){
intent=error.setup_intent
}
const server_response=await pms_stripe_process_payment(intent, response, current_button)
if(typeof server_response.redirect_url!='undefined'&&server_response.redirect_url){
window.location.replace(server_response.redirect_url)
return true
}
return false
}
if(typeof response.redirect_url!='undefined'&&response.redirect_url){
window.location.replace(response.redirect_url)
return true
}
console.log('[PMS Stripe] Something unexpected happened. Response: ' + response)
return false;
})
})
}
async function pms_stripe_process_checkout(current_button, confirmationToken){
var data=await $.pms_form_get_data(current_button, true)
if(confirmationToken){
data['stripe_confirmation_token']=confirmationToken
}
if(data==false)
return
var form_data=new FormData()
for (var key in data){
form_data.append(key, data[key])
}
return fetch(pms.ajax_url, {
method:'post',
credentials: 'same-origin',
body:form_data
}).then(function (res){
return res.json()
}).catch(error=> {
console.error('Something went wrong:', error)
throw error
})
}
async function pms_stripe_process_payment(payment_intent, user_data, target_button){
nonce_data={}
nonce_data.action='pms_update_nonce'
const nonce=await fetch(pms.ajax_url, {
method: 'POST',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: new URLSearchParams({
action: 'pms_update_nonce'
})
}).then(function (res){
return res.json()
}).catch(error=> {
console.error('Something went wrong:', error)
throw error
})
var form_data=await $.pms_form_get_data(target_button)
form_data.pmstkn_original=form_data.pmstkn
form_data.pmstkn=''
const data={
...form_data,
action:'pms_process_payment',
user_id:user_data.user_id,
payment_id:user_data.payment_id,
subscription_id:user_data.subscription_id,
subscription_plan_id: user_data.subscription_plan_id,
payment_intent:payment_intent.id,
current_page:window.location.href,
pms_nonce:nonce
};
if(data.subscription_plans){
const priceKey=`subscription_price_${data.subscription_plans}`;
if(form_data[priceKey]){
data[priceKey]=form_data[priceKey];
}}
var request_data=new FormData()
for (var key in data){
request_data.append(key, data[key])
}
return await fetch(pms.ajax_url, {
method:'POST',
credentials: 'same-origin',
body:request_data
}).then(function (res){
return res.json()
}).catch(error=> {
console.error('Something went wrong:', error)
throw error
})
}
function stripeConnectInitUpdatePaymentMethod(){
var $client_secret_setup_intent=$('.pms-form input[name="pms_stripe_connect_setup_intent"]').val()
if($client_secret_setup_intent&&$client_secret_setup_intent.length > 0){
update_elements_setup_intent=stripe.elements({ clientSecret: $client_secret_setup_intent, appearance: stripe_appearance })
$update_element=update_elements_setup_intent.create("payment")
$update_element.mount("#pms-stripe-payment-elements")
$update_element.addEventListener('change', creditCardErrorsHandler)
pms_stripe_hide_spinner()
}}
function stripeConnectUpdatePaymentMethod(e, target_button=false){
e.preventDefault()
$.pms_form_remove_errors()
var current_button=$(this)
if(target_button!=false)
current_button=$(target_button)
current_button.attr('disabled', true)
if(cardIsEmpty===true){
$.pms_form_add_validation_errors([{ target: 'credit_card', message: pms.invalid_card_details_error }], current_button)
return
}
stripe.confirmSetup({
elements: update_elements_setup_intent,
confirmParams: {
return_url: pms.stripe_return_url,
payment_method_data: { billing_details: pms_stripe_get_billing_details() }},
redirect: 'if_required',
}).then(function (result){
let token
if(result.error&&result.error.decline_code&&result.error.decline_code=='live_mode_test_card'){
let errors=[{ target: 'credit_card', message: result.error.message }]
$.pms_form_add_validation_errors(errors, current_button)
}else if(result.error&&result.error.type&&result.error.type=='validation_error')
$.pms_form_reset_submit_button(current_button)
else {
if(result.error&&result.error.setup_intent)
token={ id: result.error.setup_intent.id }
else if(result.setupIntent)
token={ id: result.setupIntent.payment_method }
else
token=''
stripeTokenHandler(token, $(current_button).closest('form'))
}})
}
function stripeConnectInit(){
var target_elements_instance=false
var target_elements_instance_slug=''
if($('#pms-update-payment-method-form #pms-stripe-payment-elements').length > 0){
stripeConnectInitUpdatePaymentMethod();
return false;
}else if($.pms_checkout_is_setup_intents()){
target_elements_instance=elements_setup_intent
target_elements_instance_slug='setup_intents'
}else{
target_elements_instance=elements
target_elements_instance_slug='payment_intents'
}
let selected_subscription=jQuery(subscription_plan_selector + '[type=radio]').length > 0 ? jQuery(subscription_plan_selector + '[type=radio]:checked'):jQuery(subscription_plan_selector + '[type=hidden]')
if(selected_subscription.data('recurring')==0||selected_subscription.data('recurring')==1){
let default_recurring=$('input[type="hidden"][name="pms_default_recurring"]').val()
if(default_recurring==2){
elements.update({ setupFutureUsage: 'off_session' });
}else if(default_recurring==3){
elements.update({ setupFutureUsage: null });
}else{
if($('.pms-subscription-plan-auto-renew input[name="pms_recurring"]').prop('checked')){
elements.update({ setupFutureUsage: 'off_session' });
}else{
elements.update({ setupFutureUsage: null });
}}
}else if(selected_subscription.data('recurring')==2){
elements.update({ setupFutureUsage: 'off_session' });
}else if(selected_subscription.data('recurring')==3){
elements.update({ setupFutureUsage: null });
}
if(target_elements_instance!=false){
if($payment_element==''){
if(typeof selected_subscription!='undefined'&&target_elements_instance_slug=='payment_intents'){
let price=(selected_subscription.data('mc_price')!==undefined&&selected_subscription.data('mc_price')!==null) ? selected_subscription.data('mc_price'):selected_subscription.data('price');
if(selected_subscription.data('sign_up_fee')!==undefined&&selected_subscription.data('sign_up_fee')!==null&&selected_subscription.data('sign_up_fee')!==''&&selected_subscription.data('sign_up_fee')!=='0'){
price=price + selected_subscription.data('sign_up_fee');
}
if(price > 0){
target_elements_instance.update({ amount: pms_stripe_convert_amount_to_cents(price) });
}}
let default_values=pms_stripe_get_default_values()
$payment_element=target_elements_instance.create("payment", default_values)
$payment_element.mount("#pms-stripe-payment-elements")
$payment_element.addEventListener('change', creditCardErrorsHandler)
}else{
if(typeof selected_subscription!='undefined'&&target_elements_instance_slug=='payment_intents'){
let price=(selected_subscription.data('mc_price')!==undefined&&selected_subscription.data('mc_price')!==null) ? selected_subscription.data('mc_price'):selected_subscription.data('price');
if(selected_subscription.data('sign_up_fee')!==undefined&&selected_subscription.data('sign_up_fee')!==null&&selected_subscription.data('sign_up_fee')!==''&&selected_subscription.data('sign_up_fee')!=='0'){
price=price + selected_subscription.data('sign_up_fee');
}
if(price > 0){
target_elements_instance.update({ amount: pms_stripe_convert_amount_to_cents(price) });
}}
let default_values=pms_stripe_get_default_values()
if($elements_instance_slug!=target_elements_instance_slug){
$payment_element.destroy()
$payment_element=target_elements_instance.create("payment", default_values)
$payment_element.mount("#pms-stripe-payment-elements")
$payment_element.addEventListener('change', creditCardErrorsHandler)
}}
$elements_instance_slug=target_elements_instance_slug
pms_stripe_hide_spinner()
if(typeof paymentSidebarPosition=='function'){
setTimeout(paymentSidebarPosition, 300)
}}
}
async function stripeConnectUpdatePaymentIntent(){
if(!$client_secret||!($client_secret.length > 0) )
return
if($.pms_checkout_is_setup_intents()||$('#pms-update-payment-method-form').length > 0)
return
if(updating_payment_intent)
return
updating_payment_intent=true
var submitButton=$('.pms-form .pms-form-submit, .pms-form input[type="submit"], .pms-form button[type="submit"], .wppb-register-user input[type="submit"], .wppb-register-user button[type="submit"]').not('#pms-apply-discount, .login-submit #wp-submit')
var data=$.pms_form_get_data(submitButton)
data.action='pms_update_payment_intent_connect'
data.pms_nonce=$('#pms-stripe-ajax-update-payment-intent-nonce').val()
data.intent_secret=$client_secret
data.pmstkn_original=data.form_type=='pms' ? $('.pms-form #pmstkn').val():'wppb_register'
data.pmstkn=''
return await $.post(pms.ajax_url, data, function (response){
if(typeof response=='undefined'||response==''){
updating_payment_intent=false
return false;
}
response=JSON.parse(response)
if(response.status=='requires_payment_method'){
updating_payment_intent=false
elements.fetchUpdates().then(function(elements_response){
if(typeof paymentSidebarPosition=='function'){
setTimeout(paymentSidebarPosition, 300)
}
return true;
})
}
updating_payment_intent=false
return false;
})
}
function stripeConnectProcessPayment(result, user_data, form_data, target_button){
nonce_data={}
nonce_data.action='pms_update_nonce'
$.post(pms.ajax_url, nonce_data, function (response){
response=JSON.parse(response)
data={}
data.action='pms_process_payment'
data.user_id=user_data.user_id
data.payment_id=user_data.payment_id
data.subscription_id=user_data.subscription_id
data.subscription_plan_id=user_data.subscription_plan_id
data.pms_current_subscription=form_data.pms_current_subscription
data.current_page=window.location.href
data.pms_nonce=response
data.form_type=form_data.form_type ? form_data.form_type:''
data.pmstkn_original=form_data.pmstkn ? form_data.pmstkn:''
data.setup_intent=form_data.setup_intent ? form_data.setup_intent:''
data.user_consent_logged_in=form_data.user_consent_logged_in ? form_data.user_consent_logged_in:''
if(data.setup_intent=='')
data.payment_intent=$client_secret_id
else
data.payment_intent=$client_secret_setup_id
data.form_action=form_data.form_action ? form_data.form_action:''
data.pay_gate=form_data.pay_gate ? form_data.pay_gate:''
data.subscription_plans=form_data.subscription_plans ? form_data.subscription_plans:''
if(data.subscription_plans)
data['subscription_price_' + data.subscription_plans]=form_data['subscription_price_' + data.subscription_plans]
data.form_name=form_data.form_name ? form_data.form_name:''
if(form_data.pms_default_recurring)
data.pms_default_recurring=form_data.pms_default_recurring
if(form_data.pms_recurring)
data.pms_recurring=form_data.pms_recurring
if(form_data.discount_code)
data.discount_code=form_data.discount_code
if(form_data.group_name)
data.group_name=form_data.group_name
if(form_data.group_description)
data.group_description=form_data.group_description
if(form_data.pms_billing_address)
data.pms_billing_address=form_data.pms_billing_address
if(form_data.pms_billing_city)
data.pms_billing_city=form_data.pms_billing_city
if(form_data.pms_billing_country)
data.pms_billing_country=form_data.pms_billing_country
if(form_data.pms_billing_state)
data.pms_billing_state=form_data.pms_billing_state
if(form_data.pms_billing_zip)
data.pms_billing_zip=form_data.pms_billing_zip
if(form_data.pms_vat_number)
data.pms_vat_number=form_data.pms_vat_number
if(form_data.wppb_referer_url)
data.wppb_referer_url=form_data.wppb_referer_url
$.post(pms.ajax_url, data, function (response){
response=JSON.parse(response)
if(typeof response.redirect_url!='undefined'&&response.redirect_url)
window.location.replace(response.redirect_url)
})
})
}
function stripeTokenHandler(token, $form=null){
if($form===null)
$form=$(payment_buttons).closest('form')
$form.append($('<input type="hidden" name="stripe_token" />').val(token.id) )
var button_name=$form.find('input[type="submit"], button[type="submit"]').not('#pms-apply-discount').not('input[name="pms_redirect_back"]').attr('name')
var button_value=$form.find('input[type="submit"], button[type="submit"]').not('#pms-apply-discount').not('input[name="pms_redirect_back"]').val()
$form.append($('<input type="hidden" />').val(button_value).attr('name', button_name) )
$form.get(0).submit()
}
function pms_stripe_get_billing_details(){
var data={}
var email=$('.pms-form input[name="user_email"], .wppb-user-forms input[name="email"]').val()
if(typeof email=='undefined'||email=='')
data.email=$('.pms-form input[name="pms_billing_email"]').val()
if(typeof email!='undefined'&&email!='')
data.email=email.replace(/\s+/g, '')
var name=''
if($('.pms-billing-details input[name="pms_billing_first_name"]').length > 0)
name=name + $('.pms-billing-details input[name="pms_billing_first_name"]').val() + ' '
else if($('.pms-form input[name="first_name"], .wppb-user-forms input[name="first_name"]').length > 0)
name=name + $('.pms-form input[name="first_name"], .wppb-user-forms input[name="first_name"]').val() + ' '
if($('.pms-billing-details input[name="pms_billing_last_name"]').length > 0)
name=name + $('.pms-billing-details input[name="pms_billing_last_name"]').val()
else if($('.pms-form input[name="last_name"], .wppb-user-forms input[name="last_name"]').length > 0)
name=name + $('.pms-form input[name="last_name"], .wppb-user-forms input[name="last_name"]').val()
if(name.length > 1)
data.name=name
if($('.pms-billing-details ').length > 0){
data.address={
city:$('.pms-billing-details input[name="pms_billing_city"]').val(),
country:$('.pms-billing-details input[name="pms_billing_country"]').val(),
line1:$('.pms-billing-details input[name="pms_billing_address"]').val(),
postal_code:$('.pms-billing-details input[name="pms_billing_zip"]').val(),
state:$('.pms-billing-details input[name="pms_billing_state"]').val()
}}
return data
}
function creditCardErrorsHandler(event){
if(event.complete==true)
cardIsEmpty=false
else
cardIsEmpty=true
if(typeof paymentSidebarPosition=='function'){
setTimeout(paymentSidebarPosition, 300)
}}
function pms_stripe_handle_validation_errors(response, current_button){
var form_type=$('.wppb-register-user .wppb-subscription-plans').length > 0 ? 'wppb':$('.pms-ec-register-form').length > 0 ? 'pms_email_confirmation':'pms'
if(response.data&&(form_type=='pms'||form_type=='pms_email_confirmation') ){
$.pms_form_add_validation_errors(response.data, current_button)
}else{
if(response.pms_errors&&response.pms_errors.length > 0)
$.pms_form_add_validation_errors(response.pms_errors, current_button)
if(typeof response.wppb_errors=='object')
$.pms_form_add_wppb_validation_errors(response.wppb_errors, current_button)
}
jQuery(document).trigger('pms_checkout_validation_error', response, current_button)
}
async function pms_stripe_maybe_validate_recaptcha(current_button, event=null){
if(typeof pms_initialize_recaptcha_v3=='function'){
let form=current_button.closest('form')
var recaptcha_field=jQuery('.pms-recaptcha', form)
if(recaptcha_field.length > 0){
return await pms_initialize_recaptcha_v3(event, form)
}}
let wppb_form=current_button.closest('.wppb-register-user')
if(wppb_form.length > 0&&wppb_form[0].length > 0&&typeof wppbInitializeRecaptchaV3=='function'){
let wppb_recaptcha_field=jQuery('.wppb-recaptcha .wppb-recaptcha-element', wppb_form)
if(wppb_recaptcha_field.length > 0){
return await wppbInitializeRecaptchaV3(event, wppb_form)
}}
return true
}
function pms_stripe_convert_amount_to_cents(amount){
let currency=pms.currency
const zero_decimal_currencies=[
'BIF', 'CLP', 'DJF', 'GNF', 'JPY', 'KMF', 'KRW', 'MGA',
'PYG', 'RWF', 'UGX', 'VND', 'VUV', 'XAF', 'XOF', 'XPF'
];
if(!zero_decimal_currencies.includes(currency.toUpperCase()) ){
amount=amount * 100;
}
return Math.round(amount);
}
async function pms_stripe_validate_sdk_checkout_currency(subscriptionPlan){
pms_stripe_show_spinner()
return $.ajax({
url: pms.ajax_url,
type: 'POST',
data: {
action:'pms_validate_sdk_currency',
pms_nonce:pms.pms_validate_currency_nonce,
subscription_plan_id: subscriptionPlan.val(),
pms_mc_currency:subscriptionPlan.data('mc_currency'),
pay_gate:'stripe_connect'
},
dataType: 'json',
}).done(function(response){
if(response&&response.success&&response.currency)
elements.update({ currency: response.currency.toLowerCase() })
pms_stripe_hide_spinner()
return;
});
}
function pms_stripe_hide_spinner(){
jQuery('#pms-stripe-payment-elements').show()
jQuery('#pms-stripe-connect .pms-spinner__holder').hide()
}
function pms_stripe_show_spinner(){
jQuery('#pms-stripe-payment-elements').hide()
jQuery('#pms-stripe-connect .pms-spinner__holder').show()
}
function pms_stripe_get_default_values(){
if(jQuery('body').hasClass('logged-in')&&pms.pms_customer_email){
var user_email=pms.pms_customer_email
}else{
var user_email=$('.pms-form input[name="user_email"], .wppb-register-user input[name="email"]').val()
}
let name=''
if(jQuery('body').hasClass('logged-in')&&pms.pms_customer_name){
name=pms.pms_customer_name
}else{
if($('.pms-billing-details input[name="pms_billing_first_name"]').length > 0)
name=name + $('.pms-billing-details input[name="pms_billing_first_name"]').val() + ' '
else if($('.pms-form input[name="first_name"], .wppb-user-forms input[name="first_name"]').length > 0)
name=name + $('.pms-form input[name="first_name"], .wppb-user-forms input[name="first_name"]').val() + ' '
if($('.pms-billing-details input[name="pms_billing_last_name"]').length > 0)
name=name + $('.pms-billing-details input[name="pms_billing_last_name"]').val()
else if($('.pms-form input[name="last_name"], .wppb-user-forms input[name="last_name"]').length > 0)
name=name + $('.pms-form input[name="last_name"], .wppb-user-forms input[name="last_name"]').val()
}
if(typeof user_email!='undefined'&&user_email.length > 0){
var default_values={
defaultValues: {
billingDetails: {
email: user_email,
name:name.length > 0 ? name:null
}}
}}else{
var default_values={}}
return default_values
}}
jQuery(pms_stripe_maybe_load_gateway);
jQuery(document).on('elementor/popup/show', function (){
if(jQuery('.pms-form #pms-stripe-connect', jQuery('.elementor-popup-modal')).length > 0){
pms_stripe_maybe_load_gateway(jQuery)
document.addEventListener('click', function (ev){
const btn=ev.target.closest('input[type="submit"], button[type="submit"]');
if(!btn) return;
const form=btn.form||btn.closest('form');
if(!form) return;
if(!form.classList.contains('pms-form')) return;
ev.preventDefault();
ev.stopImmediatePropagation();
const submitEvent=new Event('submit', { bubbles: true, cancelable: true });
form.dispatchEvent(submitEvent);
}, true);
}});
jQuery(document).ready(function($){
var last_checked_discount_code;
toggle_discount_box($('input[name=subscription_plans][type=radio]').length > 0 ? $('input[name=subscription_plans][type=radio]:checked'):$('input[name=subscription_plans][type=hidden]'))
$(document).on('click', '.pms-subscription-plan input[type="radio"][name="subscription_plans"]', function(){
if(($(this).attr("data-price") > 0)&&($('#pms_subscription_plans_discount_code').length > 0)){
$('#pms-apply-discount').trigger('click')
}else{
$('#pms-subscription-plans-discount-messages-wrapper').hide()
$('#pms-subscription-plans-discount-messages').hide()
}
toggle_discount_box($(this))
})
$(document).on('click', '.pms-subscription-plan-auto-renew input[type="checkbox"][name="pms_recurring"]', function (){
if($('#pms_subscription_plans_discount_code').length > 0){
$('#pms-apply-discount').trigger('click')
}else{
$('#pms-subscription-plans-discount-messages-wrapper').hide()
$('#pms-subscription-plans-discount-messages').hide()
}
toggle_discount_box($($pms_checked_subscription))
})
$(document).on("wppbAddRequiredAttributeEvent", function (e){
if($(e.target).is('#pms_subscription_plans_discount_code'))
toggle_discount_box($('input[name=subscription_plans][type=radio]').length > 0 ? $('input[name=subscription_plans][type=radio]:checked'):$('input[name=subscription_plans][type=hidden]'))
})
$(document).on('click', '#pms-apply-discount', function(e){
e.preventDefault();
if(typeof $pms_form=='undefined')
$pms_form=$(this).closest('form');
var $subscription_plan='';
$('.pms-subscription-plan input[type="radio"]').each(function(){
if($(this).is(':checked')){
$subscription_plan=$(this);
}});
if($subscription_plan==''){
$subscription_plan=$('input[type=hidden][name=subscription_plans]');
}
if($('#pms_subscription_plans_discount_code').val()==''){
$('#pms-subscription-plans-discount-messages-wrapper').fadeOut(350);
$('#pms-subscription-plans-discount-messages').fadeOut(350)
$subscription_plan.data('discounted-price', false)
jQuery(document).trigger('pms_discount_error')
return false;
}
last_checked_discount_code=$('#pms_subscription_plans_discount_code').val();
pwyw_price='';
if($('input[name="subscription_price_'+$subscription_plan.val()+'"]').length!=0)
pwyw_price=$('input[name="subscription_price_'+$subscription_plan.val()+'"]').val();
var data={
'action':'pms_discount_code',
'code':$.trim($('#pms_subscription_plans_discount_code').val()),
'subscription':$subscription_plan.val(),
'recurring':$('input[name="pms_recurring"]:checked').val(),
'pwyw_price':pwyw_price,
'pmstkn_original':$pms_form.find('input[name="pmstkn"]').val(),
'pms_current_subscription': $pms_form.find('input[name="pms_current_subscription"]').val(),
'form_action':$pms_form.find('input[name="form_action"]').val(),
};
var currency=new URLSearchParams(window.location.search).get('pms_mc_currency');
if(currency)
data['pms_mc_currency']=currency;
if(data.pmstkn_original===undefined&&jQuery('.wppb-register-user').length > 0)
data.pmstkn_original='pb_form'
if(data['code']!==''){
$('#pms-subscription-plans-discount-messages').hide()
$('#pms-subscription-plans-discount-messages-wrapper').show()
$('#pms-subscription-plans-discount-messages-loading').fadeIn(350)
jQuery.post(pms_discount_object.ajax_url, data, function (response){
if(response.success!=undefined){
$('#pms-subscription-plans-discount-messages').removeClass('pms-discount-error')
$('#pms-subscription-plans-discount-messages').addClass('pms-discount-success')
$('#pms-subscription-plans-discount-messages-loading').fadeOut(350, function (){
$('#pms-subscription-plans-discount-messages').html(response.success.message).fadeIn(350)
})
if(response.is_full_discount)
$.pms_hide_payment_fields($pms_form)
else
$.pms_show_payment_fields($pms_form)
$subscription_plan.data('price-original', $subscription_plan.data('price'))
$subscription_plan.data('price', response.discounted_price)
$subscription_plan.data('discounted-price', true)
$subscription_plan.data('discounted-price-value', response.original_discounted_price)
if(response.is_full_discount==true){
if(response.recurring_payments==1){
$('input[name="pms_recurring"]', $pms_auto_renew_field).prop('checked', true)
$pms_auto_renew_field.hide()
}
$subscription_plan.data('is-full-discount', true)
} else
$subscription_plan.data('is-full-discount', false)
$subscription_plan.data('discount-recurring-payments', response.recurring_payments)
jQuery(document).trigger('pms_discount_success')
}
if(response.error!=undefined){
$('#pms-subscription-plans-discount-messages').removeClass('pms-discount-success')
$('#pms-subscription-plans-discount-messages').addClass('pms-discount-error')
$('#pms-subscription-plans-discount-messages-loading').fadeOut(350, function (){
$('#pms-subscription-plans-discount-messages').html(response.error.message).fadeIn(350)
})
$.pms_show_payment_fields($pms_form)
$subscription_plan.data('price', $subscription_plan.data('price-original'))
$subscription_plan.data('discounted-price', false)
$subscription_plan.data('discounted-price-value', 0)
jQuery(document).trigger('pms_discount_error')
}});
}else{
$subscription_plan.data('price', $subscription_plan.data('price-original'))
$subscription_plan.data('discounted-price', false)
jQuery(document).trigger('pms_discount_error')
}})
if($('input[name=discount_code]').val()!='')
$('#pms-apply-discount').trigger('click')
$('input[name=discount_code]').on('blur', function(){
if(last_checked_discount_code!=$('input[name=discount_code]').val())
$('#pms-apply-discount').trigger('click');
if($('input[name=discount_code]').val()=='')
$.pms_show_payment_fields($pms_form);
})
function toggle_discount_box($element){
if(!$element)
return
var selector='#pms-subscription-plans-discount';
if(!subscription_has_discount($element.val()) )
$(selector).hide()
else {
if($element.attr('data-price')=='0'){
if($.isFunction($.pms_plan_is_prorated)&&$.pms_plan_is_prorated($element) ){
if($('input[name="pms_recurring"]', $('.pms-subscription-plan-auto-renew')).prop('checked')||$element.data('recurring')==2){
$(selector).show()
return
}}
if($.isFunction($.pms_plan_has_signup_fee)&&$.pms_plan_has_signup_fee($element) )
$(selector).show()
$(selector).hide()
}else{
$(selector).show()
}}
}
function subscription_has_discount(subscription_id){
if(typeof pms_discount_object=='undefined'||typeof pms_discount_object.discounted_subscriptions=='undefined')
return true
let return_value=false
let subscriptions=JSON.parse(pms_discount_object.discounted_subscriptions)
for(var subscription in subscriptions){
if(subscription_id==subscriptions[subscription])
return_value=true
}
return return_value
}});