cardinity.twig (3729B)
1 <div style="display: none;" class="payment-warning alert alert-danger"> 2 <i class="fa fa-exclamation-circle"></i> 3 <span class="message"></span> 4 </div> 5 <form class="form-horizontal" id="payment"> 6 <div class="form-group required"> 7 <label class="col-sm-2 control-label" for="input-holder">{{ entry_holder }}</label> 8 <div class="col-sm-10"> 9 <input type="text" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" maxlength="32" name="holder" placeholder="{{ entry_holder }}" id="input-holder" class="form-control" /> 10 </div> 11 </div> 12 <div class="form-group required"> 13 <label class="col-sm-2 control-label" for="input-pan">{{ entry_pan }}</label> 14 <div class="col-sm-10"> 15 <input type="text" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" maxlength="19" name="pan" placeholder="{{ entry_pan }}" id="input-pan" class="form-control" /> 16 </div> 17 </div> 18 <div id="expiry-date-group" class="form-group required"> 19 <label class="col-sm-2 control-label">{{ entry_expires }}</label> 20 <div class="col-sm-3"> 21 <select name="exp_month" class="form-control"> 22 {% for month in months %} 23 <option value="{{ month.value }}">{{ month.text }}</option> 24 {% endfor %} 25 </select> 26 </div> 27 <div class="col-sm-3"> 28 <select name="exp_year" class="form-control"> 29 {% for year in years %} 30 <option value="{{ year.value }}">{{ year.text }}</option> 31 {% endfor %}> 32 </select> 33 </div> 34 </div> 35 <div class="form-group required"> 36 <label class="col-sm-2 control-label" for="input-cvc">{{ entry_cvc }}</label> 37 <div class="col-sm-10"> 38 <input type="text" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" maxlength="4" name="cvc" placeholder="{{ entry_cvc }}" id="input-cvc" class="form-control" /> 39 </div> 40 </div> 41 <div class="form-group"> 42 <div class="col-sm-1 col-sm-offset-2"> 43 <input id="button-confirm" type="button" value="{{ button_confirm }}" class="btn btn-primary" /> 44 </div> 45 </div> 46 </form> 47 <div id="cardinity-3ds"></div> 48 <script type="text/javascript"><!-- 49 $('#button-confirm').on('click', function() { 50 $.ajax({ 51 url: 'index.php?route=extension/payment/cardinity/send', 52 type: 'post', 53 data: $('#payment :input'), 54 dataType: 'json', 55 beforeSend: function() { 56 $('.payment-warning').hide(); 57 58 $('.payment-warning .message').text(); 59 60 $('#payment').find('*').removeClass('has-error'); 61 62 $('#button-confirm').button('loading').attr('disabled', true); 63 }, 64 complete: function() { 65 $('#button-confirm').button('reset'); 66 }, 67 success: function(json) { 68 if (json['error']) { 69 if (json['error']['warning']) { 70 $('.payment-warning').show(); 71 72 $('.payment-warning .message').text(json['error']['warning']); 73 } 74 75 if (json['error']['holder']) { 76 $('#input-holder').closest('.form-group').addClass('has-error'); 77 } 78 79 if (json['error']['pan']) { 80 $('#input-pan').closest('.form-group').addClass('has-error'); 81 } 82 83 if (json['error']['expiry_date']) { 84 $('#expiry-date-group').addClass('has-error'); 85 } 86 87 if (json['error']['cvc']) { 88 $('#input-cvc').closest('.form-group').addClass('has-error'); 89 } 90 } 91 92 if (json['3ds']) { 93 $.ajax({ 94 url: 'index.php?route=extension/payment/cardinity/threeDSecureForm', 95 type: 'post', 96 data: json['3ds'], 97 dataType: 'html', 98 success: function(html) { 99 $('#cardinity-3ds').html(html); 100 } 101 }); 102 } 103 104 if (json['redirect']) { 105 location = json['redirect']; 106 } 107 } 108 }); 109 }); 110 //--></script>