$regReq['fieldData']['cc_cvv'] = $actionData['cardData']['cc_cvv'];
}
- // Set default payment method
- $payMethod = $this->config['default_payment_method'];
-
- // Get any payment method specified or selected on checkout attempt
- if (isset($actionData['payMethod'])) {
- $payMethod = $actionData['payMethod'];
- }
-
// Add credit card and other payment field data to $regAccount['fieldData'] for use on form
$regAccount['fieldData']['cc_type'] = $regReq['fieldData']['cc_type'];
$regAccount['fieldRequired']['cc_type'] = true;
$Management = new GlmDataRegistrationsManagement($this->wpdb, $this->config);
$management = $Management->getEntry(1);
+ // Get accepted pay methods and block out any not selected for an event
+ $availPaymentMethods = $management['reg_payment_methods']['bitmap'];
+ foreach ($this->cart['events'] as $event) {
+ foreach ($event['payment_methods']['bitmap'] as $payMethodKey=>$payMethodVal) {
+ if (!$payMethodVal['default']) {
+ $availPaymentMethods[$payMethodKey]['default'] = 0;
+ }
+ }
+ }
+
+ // Set default payment method
+ $payMethod = $this->config['default_payment_method'];
+
+ // Get any payment method specified or selected on checkout attempt
+ if (isset($actionData['payMethod'])) {
+ $payMethod = $actionData['payMethod'];
+ }
+
// Get misc texts
require_once GLM_MEMBERS_REGISTRATIONS_PLUGIN_CLASS_PATH.'/data/dataMisc.php';
$Misc = new GlmDataRegistrationsMisc($this->wpdb, $this->config);
'assetUrl' => GLM_MEMBERS_REGISTRATIONS_PLUGIN_ASSETS_URL,
'haveMessages' => count($messages) > 0,
'messages' => $messages,
- 'payMethod' => $payMethod,
- 'payMethods' => $management['reg_payment_methods']['bitmap'],
+ 'defaultPayMethod' => $payMethod,
+ 'payMethods' => $availPaymentMethods,
'payMethodsNumb' => $this->config['payment_method_numb'],
'misc' => $misc,
'checkoutPageText' => $misc['checkout_page_text'],
<div class="glm-large-6 glm-small-12 glm-columns">
<h4>Payment Information</h4>
{foreach $payMethods as $payMethod}
-
- {$pmname = array_search($payMethod.value, $payMethodsNumb)}
- {$pm = $payMethodsNumb.{$pmname}}
- {if $payMethods.{$pm}.default}
-
- <div><input id="payMethodButton_{$pm}" type="radio" name="payMethod" value="{$pm}" class="payMethodSelector" required {if $payMethod == {$pm}} checked{/if}><label for="payMethodButton_{$pm}"> {$payMethods.{$pm}.name}</label></div>
- {if $pmname == "CompCode"}
- <div id="payMethod_{$pm}" class="payMethodSelection glm-hidden">
+ {if $payMethod.default}
+
+ {$pmName = array_search($payMethod.value, $payMethodsNumb)}
+ {$pmNumb = $payMethodsNumb.{$pmName}}
+ <div><input id="payMethodButton_{$pmNumb}" type="radio" name="payMethod" value="{$pmNumb}" class="payMethodSelector" required {if $defaultPayMethod == {$pmNumb}} checked{/if}> <label for="payMethodButton_{$pmNumb}">{$payMethods.{$pmNumb}.name}</label></div>
+ {if $payMethods.{$payMethod.value}.default}
+
+ {if $pmName == "CompCode"}
+ <div id="payMethod_{$pmNumb}" class="payMethodSelection glm-hidden">
<div class="glm-reg-row">
<div class="glm-reg-checkout-field-label glm-small-12 glm-large-3 glm-columns glm-reg-nowrap{if $regAccount.fieldRequired.comp_code} glm-reg-required{/if}">Enter code:</div>
<div class="glm-reg-checkout-field-data glm-small-12 glm-large-9 glm-columns{if $regAccount.fieldFail.comp_code} glm-reg-fail{/if}">
- <input type="text" name="comp_code" value="{$regAccount.fieldData.comp_code}"{if $regAccount.fieldRequired.comp_code} required{/if} class="payMethodInput payMethodInput_{$pm}">
+ <input type="text" name="comp_code" value="{$regAccount.fieldData.comp_code}"{if $regAccount.fieldRequired.comp_code} required{/if} class="payMethodInput payMethodInput_{$pmNumb}">
</div>
</div>
</div>
- {else if $pmname == "CreditCard"}
+ {else if $pmName == "CreditCard"}
- <div id="payMethod_{$pm}" class="payMethodSelection glm-hidden">
+ <div id="payMethod_{$pmNumb}" class="payMethodSelection glm-hidden">
<div class="glm-reg-row">
<div class="glm-reg-checkout-field-label glm-small-12 glm-large-3 glm-columns glm-reg-nowrap{if $regAccount.fieldRequired.cc_name} glm-reg-required{/if}">Name on Card:</div>
<div class="glm-reg-checkout-field-data glm-small-12 glm-large-9 glm-columns{if $regAccount.fieldFail.cc_name} glm-reg-fail{/if}">
- <input type="text" name="cc_name" value="{$regAccount.fieldData.cc_name}"{if $regAccount.fieldRequired.cc_name} required{/if} class="payMethodInput payMethodInput_{$pm}">
+ <input type="text" name="cc_name" value="{$regAccount.fieldData.cc_name}"{if $regAccount.fieldRequired.cc_name} required{/if} class="payMethodInput payMethodInput_{$pmNumb}">
</div>
</div>
<div class="glm-reg-row">
<div class="glm-reg-checkout-field-label glm-small-12 glm-large-3 glm-columns glm-reg-nowrap{if $regAccount.fieldRequired.cc_type} glm-reg-required{/if}">Card Type:</div>
<div class="glm-reg-checkout-field-data glm-small-12 glm-large-9 glm-columns{if $regAccount.fieldFail.cc_type} glm-reg-fail{/if}">
- <select name="cc_type" class="payMethodInput payMethodInput_{$pm}">
+ <select name="cc_type" class="payMethodInput payMethodInput_{$pmNumb}">
<option value=""></option>
{foreach $regAccount.fieldData.cc_type.list as $c}
<option value="{$c.value}"{if $c.default} selected="selected"{/if}>
<div class="glm-reg-row">
<div class="glm-reg-checkout-field-label glm-small-12 glm-large-3 glm-columns glm-reg-nowrap{if $regAccount.fieldRequired.cc_numb} glm-reg-required{/if}">Card Number:</div>
<div class="glm-reg-checkout-field-data glm-small-12 glm-large-9 glm-columns{if $regAccount.fieldFail.cc_numb} glm-reg-fail{/if}">
- <input type="text" placeholder="Numbers Only" name="cc_numb" value="{$regAccount.fieldData.cc_numb}"{if $regAccount.fieldRequired.cc_numb} required{/if} class="payMethodInput payMethodInput_{$pm} cc-input">
+ <input type="text" placeholder="Numbers Only" name="cc_numb" value="{$regAccount.fieldData.cc_numb}"{if $regAccount.fieldRequired.cc_numb} required{/if} class="payMethodInput payMethodInput_{$pmNumb} cc-input">
</div>
</div>
<div class="glm-reg-row">
<div class="glm-reg-checkout-field-label glm-small-12 glm-large-3 glm-columns glm-reg-nowrap{if $regAccount.fieldRequired.cc_exp} glm-reg-required{/if}">Card Expiration:</div>
<div class="glm-reg-checkout-field-data glm-small-12 glm-large-9 glm-columns{if $regAccount.fieldFail.cc_exp} glm-reg-fail{/if}">
- <input type="text" placeholder="MM/YY" name="cc_exp" value="{$regAccount.fieldData.cc_exp}"{if $regAccount.fieldRequired.cc_exp} required{/if} class="payMethodInput payMethodInput_{$pm} expire-input">
+ <input type="text" placeholder="MM/YY" name="cc_exp" value="{$regAccount.fieldData.cc_exp}"{if $regAccount.fieldRequired.cc_exp} required{/if} class="payMethodInput payMethodInput_{$pmNumb} expire-input">
</div>
</div>
<div class="glm-reg-row">
<div class="glm-reg-checkout-field-label glm-small-12 glm-large-3 glm-columns glm-reg-nowrap{if $regAccount.fieldRequired.cc_cvv} glm-reg-required{/if}">CVV:</div>
<div class="glm-reg-checkout-field-data glm-small-12 glm-large-9 glm-columns{if $regAccount.fieldFail.cc_cvv} glm-reg-fail{/if}">
- <input type="text" placeholder="3 or 4 digit security code on back of card" name="cc_cvv" value="{$regAccount.fieldData.cc_cvv}"{if $regAccount.fieldRequired.cc_cvv} required{/if} class="payMethodInput payMethodInput_{$pm} cvv-input">
+ <input type="text" placeholder="3 or 4 digit security code on back of card" name="cc_cvv" value="{$regAccount.fieldData.cc_cvv}"{if $regAccount.fieldRequired.cc_cvv} required{/if} class="payMethodInput payMethodInput_{$pmNumb} cvv-input">
</div>
</div>
</div>
{else}
- <div id="payMethod_{$pm}" class="payMethodSelection glm-hidden">
+ <div id="payMethod_{$pmNumb}" class="payMethodSelection glm-hidden">
</div>
{/if}
{/if}
+
+ {/if} {* default is set *}
{/foreach}
</div>
$('.payMethodSelector').on('change', function() {
// Get the value from the selected Payment Method
- var payMethod = $(this).val();
+ var payMethodNumb = $(this).val();
+ payMethodSelection(payMethodNumb);
+
+ });
+ function payMethodSelection(payMethodNumb) {
// Hide all pay method inputs and dissable them all
$('.payMethodSelection').addClass('glm-hidden');
$('.payMethodInput').attr('disabled', true);
// Show the selected pay method inputs and enable just those
- $('#payMethod_' + payMethod).removeClass('glm-hidden');
- $('.payMethodInput_' + payMethod).removeAttr('disabled');
-
- });
+ $('#payMethod_' + payMethodNumb).removeClass('glm-hidden');
+ $('.payMethodInput_' + payMethodNumb).removeAttr('disabled');
+
+ }
// Dissable checkout button when first clicked to prevent multiple attempts
$("#checkoutForm").submit(function(e){
// Start with all payment method sections hidden
$('.payMethodInput').attr('disabled', true);
- // When a payment method is selected, show that section
- if ({$payMethod}) {
- $('#payMethod_' + {$payMethod}).removeClass('glm-hidden');
- $('.payMethodInput_' + {$payMethod}).removeAttr('disabled');
- }
+ payMethodSelection({$defaultPayMethod});
});