Rev 20 | Blame | Compare with Previous | Last modification | View Log | Download
<form id="cardconnect-form" action="{{ action }}" method="post" class="form form-horizontal"><fieldset id="payment"><legend>{{ text_card_details }}</legend>{% if echeck %}<div class="form-group"><label class="col-sm-2 control-label" for="input-method">{{ entry_method }}</label><div class="col-sm-10"><select name="method" id="input-method" class="form-control"><option value="card">{{ text_card }}</option><option value="echeck">{{ text_echeck }}</option></select></div></div>{% endif %}<div class="card_container"><div class="form-group" {% if not store_cards %} style="display: none;" {% endif %}><label class="col-sm-2 control-label">{{ entry_card_new_or_old }}</label><div class="col-sm-10"><label class="radio-inline"><input type="radio" name="card_new" value="1" checked="checked"/>{{ entry_card_new }}</label><label class="radio-inline"><input type="radio" name="card_new" value="0"/>{{ entry_card_old }}</label></div></div><div class="card_new_container"><div class="form-group"><label class="col-sm-2 control-label" for="input-card-type">{{ entry_card_type }}</label><div class="col-sm-10"><select name="card_type" id="input-card-type" class="form-control">{% for card_type in card_types %}<option value="{{ card_type.value }}">{{ card_type.text }}</option>{% endfor %}</select></div></div><div class="form-group required"><label class="col-sm-2 control-label" for="input-card-number">{{ entry_card_number }}</label><div class="col-sm-10"><input type="text" name="card_number" value="" placeholder="{{ entry_card_number }}" id="input-card-number" class="form-control" /></div></div><div class="form-group"><label class="col-sm-2 control-label" for="input-card-expiry">{{ entry_card_expiry }}</label><div class="col-sm-3"><select name="card_expiry_month" id="input-card-expiry" class="form-control">{% for month in months %}<option value="{{ month.value }}">{{ month.text }}</option>{% endfor %}</select></div><div class="col-sm-3"><select name="card_expiry_year" class="form-control">{% for year in years %}<option value="{{ year.value }}">{{ year.text }}</option>{% endfor %}</select></div></div><div class="form-group required"><label class="col-sm-2 control-label" for="input-card-cvv2">{{ entry_card_cvv2 }}</label><div class="col-sm-10"><input type="text" name="card_cvv2" value="" placeholder="{{ entry_card_cvv2 }}" id="input-card-cvv2" class="form-control" /></div></div>{% if store_cards %}<div class="form-group"><label class="col-sm-2 control-label" for="input-card-save" style="padding-top:0">{{ entry_card_save }}</label><div class="col-sm-10"><input type="checkbox" name="card_save" value="1" id="input-card-save"/></div></div>{% endif %} </div><div class="card_old_container" style="display: none"><div class="form-group"><label class="col-sm-2 control-label" for="input-card-choice">{{ entry_card_choice }}</label><div class="col-sm-8"><select name="card_choice" id="input-card-choice" class="form-control" {% if not cards %} disabled {% endif %}>{% if cards %}<option value="">{{ text_select_card }}</option>{% for card in cards %}<option value="{{ card.token }}">{{ card.type }}, {{ card.account }}, {{ card.expiry }}</option>{% endfor %}{% else %}<option value="">{{ text_no_cards }}</option>{% endif %}</select></div><div class="col-sm-2"><input type="button" value="{{ button_delete }}" id="button-delete" data-loading-text="{{ text_loading }}" class="btn btn-danger" /></div></div></div></div><div class="echeck_container" style="display:none"><div class="form-group required"><label class="col-sm-2 control-label" for="input-account-number">{{ entry_account_number }}</label><div class="col-sm-10"><input type="text" name="account_number" value="" placeholder="{{ entry_account_number }}" id="input-account-number" class="form-control" /></div></div><div class="form-group required"><label class="col-sm-2 control-label" for="input-routing-number">{{ entry_routing_number }}</label><div class="col-sm-10"><input type="text" name="routing_number" value="" placeholder="{{ entry_routing_number }}" id="input-routing-number" class="form-control" /></div></div></div></fieldset></form><div class="buttons"><div class="pull-right"><input type="button" value="{{ button_confirm }}" id="button-confirm" class="btn btn-primary" data-loading-text="{{ text_loading }}"></div></div><script type="text/javascript"><!--$('select[name="method"]').on('change', function() {if ($(this).val() == 'card') {$('#payment legend').text('{{ text_card_details }}');$('.card_container').show();$('.echeck_container').hide();} else {$('#payment legend').text('{{ text_echeck_details }}');$('.card_container').hide();$('.echeck_container').show();}});//--></script><script type="text/javascript"><!--$('input[name="card_new"]').on('change', function() {if ($(this).val() == '1') {$('.card_new_container').show();$('.card_old_container').hide();} else {$('.card_new_container').hide();$('.card_old_container').show();}});//--></script><script type="text/javascript"><!--$('#button-delete').bind('click', function() {if (confirm('{{ text_confirm_delete }}')) {$.ajax({url: 'index.php?route=extension/payment/cardconnect/delete',type: 'post',data: $('#input-card-choice'),dataType: 'json',beforeSend: function() {$('.cardconnect_message').remove();$('#payment').before('<div class="alert alert-info cardconnect_wait"><i class="fa fa-info-circle"></i> {{ text_wait }}</div>');$('#button-delete').button('loading');},complete: function() {$('.cardconnect_wait').remove();$('#button-delete').button('reset');},success: function(json) {if (json['error']) {$('#cardconnect-form').before('<div class="alert alert-danger cardconnect_message" style="display:none"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '<button type="button" class="close" data-dismiss="alert">×</button></div>');$('.cardconnect_message').fadeIn();} else {$.ajax({url: 'index.php?route=checkout/confirm',dataType: 'html',success: function (html) {$('#collapse-checkout-confirm .panel-body').html(html);},error: function (xhr, ajaxOptions, thrownError) {alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);}});}}});}});//--></script><script type="text/javascript"><!--$('#button-confirm').bind('click', function() {$.ajax({url: 'index.php?route=extension/payment/cardconnect/send',type: 'post',data: $('#cardconnect-form').serialize(),dataType: 'json',beforeSend: function() {$('.cardconnect_message').remove();$('.text-danger').remove();$('#payment').find('*').removeClass('has-error');$('#payment').before('<div class="alert alert-info cardconnect_wait"><i class="fa fa-info-circle"></i> {{ text_wait }}</div>');$('#button-confirm').button('loading');},complete: function() {$('.cardconnect_wait').remove();$('#button-confirm').button('reset');},success: function(json) {if (json['error']['warning']) {$('#cardconnect-form').before('<div class="alert alert-danger cardconnect_message" style="display:none"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">×</button></div>');$('.cardconnect_message').fadeIn();}if (json['error']['card_number']) {$('#input-card-number').after('<div class="text-danger">' + json['error']['card_number'] + '</div>');$('#input-card-number').closest('.form-group').addClass('has-error');}if (json['error']['card_cvv2']) {$('#input-card-cvv2').after('<div class="text-danger">' + json['error']['card_cvv2'] + '</div>');$('#input-card-cvv2').closest('.form-group').addClass('has-error');}if (json['error']['card_choice']) {$('#input-card-choice').after('<div class="text-danger">' + json['error']['card_choice'] + '</div>');$('#input-card-choice').closest('.form-group').addClass('has-error');}if (json['error']['method']) {$('#input-method').after('<div class="text-danger">' + json['error']['method'] + '</div>');$('#input-method').closest('.form-group').addClass('has-error');}if (json['error']['account_number']) {$('#input-account-number').after('<div class="text-danger">' + json['error']['account_number'] + '</div>');$('#input-account-number').closest('.form-group').addClass('has-error');}if (json['error']['routing_number']) {$('#input-routing-number').after('<div class="text-danger">' + json['error']['routing_number'] + '</div>');$('#input-routing-number').closest('.form-group').addClass('has-error');}if (json['success']) {location = json['success'];}}});});//--></script>