You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using a payment gateway which utilizes the CVV field, the "What's This?" button should open the relevant information in a modal.
Current Behavior
Currently the button is not triggering the modal to open.
Correcting the Issue
It appears the issue isn't with mini-modal per se but something to do with the button not being recognized as a trigger element. I have added this update and it will be included in the next maintenance release.
To make the update prior to the next release, you will need to update the following code:
User Interface -> Pages -> OPAY -> Template:
<mvt:itemname="html_profile" />
<head><metacharset="utf-8"><metahttp-equiv="X-UA-Compatible" content="IE=edge"><metaname="viewport" content="width=device-width, initial-scale=1"><basehref="&mvt:global:basehref;"><mvt:ifexpr="NOT ISNULL l.settings:page:title"><title>&mvt:page:title;</title><mvt:else><title>&mvt:store:name;: &mvt:page:name;</title></mvt:if><mvt:itemname="head" param="css_list" />
<mvt:itemname="head" param="head_tag" />
<mvt:ifexpr="l.settings:payment:capabilities:split"><script>functionAmountType_Changed(amounttype){varbalance_amount=document.querySelector('[data-hook="payment-balance-amount"]');varamount=document.querySelector('[data-hook="payment-amount"]');varadditional=document.querySelector('[data-hook="payment-additional"]');if(amounttype==='total'){amount.disabled=true;additional.classList.add('u-hidden');if(balance_amount){balance_amount.disabled=true;}}elseif(amounttype==='balance'){amount.disabled=true;additional.classList.remove('u-hidden');if(balance_amount){balance_amount.disabled=false;}}elseif(amounttype==='partial'){amount.disabled=false;additional.classList.remove('u-hidden');if(balance_amount){balance_amount.disabled=true;}}}</script></mvt:if><mvt:ifexpr="NOT('check' CIN g.PaymentMethod) AND NOT('cod' CIN g.PaymentMethod) AND NOT('pal' CIN g.PaymentMethod)"><script>varsupportedPaymentMethods=[<mvt:foreacharray="paymentmethods"iterator="method"><mvt:ifexpr="l.settings:method:module NE 'check' AND l.settings:method:module NE 'cod' AND l.settings:method:module NE 'customercredit' AND NOT('pal' CIN l.settings:method:module)"><mvt:ifexpr="'am' CIN l.settings:method:code OR 'ax' CIN l.settings:method:code OR '003' CIN l.settings:method:code">{name: 'american-express',value: '&mvte:method:module;:&mvte:method:code;'},
<mvt:elseifexpr="'di' CIN l.settings:method:code OR '004' CIN l.settings:method:code">{name: 'discover',value: '&mvte:method:module;:&mvte:method:code;'},
<mvt:elseifexpr="'mc' CIN l.settings:method:code OR 'master' CIN l.settings:method:code OR '002' CIN l.settings:method:code">{name: 'mastercard',value: '&mvte:method:module;:&mvte:method:code;'},
<mvt:elseifexpr="'vi' CIN l.settings:method:code OR '001' CIN l.settings:method:code">{name: 'visa',value: '&mvte:method:module;:&mvte:method:code;'},
</mvt:if><mvt:assignname="g.cc_payment"value="1"/><mvt:assignname="g.payment_module_class"value="l.settings:method:module $ '-payment-form'"/></mvt:if></mvt:foreach>
]
</script></mvt:if></head><bodyid="js-&mvte:page:code;" class="o-site-wrapper t-page-&mvt:global:pageClass;"><mvt:itemname="hdft" param="global_header" />
<sectionclass="o-layout"><divclass="o-layout__item"><mvt:itemname="hdft" param="header" />
<mvt:itemname="customfields" param="Write_Basket('order_instructions', g.order_instructions)" />
</div></section><sectionclass="o-layout o-layout--wide"><divclass="o-layout__item u-width-12 u-width-8--l u-width-5--w u-offset-2--w"><mvt:itemname="readytheme" param="contentsection( 'checkout_steps' )" />
<mvt:itemname="readytheme" param="contentsection( 'messages' )" />
<formdata-hook="opay-form" method="post" action="&mvt:payment:url;"><fieldset><legend>&mvt:page:name;</legend><inputtype="hidden" name="Action" value="AUTH" />
<inputtype="hidden" name="Screen" value="INVC" />
<inputtype="hidden" name="Store_Code" value="&mvte:global:Store_Code;" />
<mvt:itemname="payment" />
<inputdata-hook="payment-method" type="hidden" name="PaymentMethod" value="&mvte:global:PaymentMethod;"><inputtype="hidden" name="SplitPaymentData" value="&mvte:global:SplitPaymentData;" />
<pclass="c-heading-echo u-text-bold u-text-uppercase">
Payment Information<br><spanclass="c-heading--subheading">Payment Method: <spandata-hook="payment-method-display">&mvt:payment:desc;</span></span></p><mvt:ifexpr="NOT ISNULL l.settings:payment:message"><pclass="x-messages x-messages--info">&mvt:payment:message;</p></mvt:if><mvt:ifexpr="l.settings:paymentsettings:mivapay:enabled AND ( l.settings:mivapay:paymentcardtype:id OR l.settings:mivapay:paymentcard:id )"><ulclass="c-form-list"><liclass="c-form-list__item c-form-list__item--full"><mvt:itemname="mivapay"/>
</li></ul><mvt:elseifexpr="'brain' CIN g.PaymentMethod"><ulclass="c-form-list"><liclass="c-form-list__item c-form-list__item--full"><mvt:foreacharray="payment:fields" iterator="field"><mvt:itemname="payment" param="field:code" />
</mvt:foreach></li></ul><mvt:elseifexpr="'square' CIN g.PaymentMethod"><ulclass="c-form-list o-layout u-grids-1 u-text-bold u-text-uppercase t-payment-form t-&mvt:global:payment_module_class;"><liclass="c-form-list__item"><mvt:foreacharray="payment:fields" iterator="field"><mvt:itemname="payment" param="field:code" />
</mvt:foreach></li></ul><mvt:else><ulclass="c-form-list o-layout u-grids-1 u-text-bold u-text-uppercase t-payment-form t-&mvt:global:payment_module_class;"><mvt:foreacharray="payment:fields" iterator="field"><mvt:ifexpr="'exp' CIN l.settings:field:code"><liclass="c-form-list__item o-layout__item" data-hook="mvt-select" data-classlist="c-form-select__dropdown c-form-input--huge u-font-small" data-id="&mvt:field:code;"><mvt:ifexpr="l.settings:field:invalid"><labelclass="c-form-label u-color-red u-font-tiny" for="&mvt:field:code;" title="&mvt:field:prompt;">&mvt:field:prompt;</label><mvt:else><labelclass="c-form-label u-font-tiny" for="&mvt:field:code;" title="&mvt:field:prompt;">&mvt:field:prompt;</label></mvt:if><divclass="c-control-group o-layout--align-baseline"><mvt:itemname="payment" param="field:code" />
</div></li><mvt:elseifexpr="l.settings:field:code EQ 'cc_number'"><liclass="c-form-list__item o-layout__item" data-hook="mvt-input" data-classlist="c-form-input c-form-input--huge u-font-small" data-id="&mvt:field:code;" data-dataHook="detect-card"><mvt:ifexpr="l.settings:field:invalid"><labelclass="c-form-label u-color-red u-font-tiny" for="&mvt:field:code;" title="&mvt:field:prompt;">&mvt:field:prompt;</label><mvt:else><labelclass="c-form-label u-font-tiny" for="&mvt:field:code;" title="&mvt:field:prompt;">&mvt:field:prompt;</label></mvt:if><mvt:itemname="payment" param="field:code" />
</li><mvt:elseifexpr="'cvv' CIN l.settings:field:code"><liclass="c-form-list__item o-layout__item"><mvt:ifexpr="l.settings:field:invalid"><labelclass="c-form-label u-color-red u-font-tiny" for="&mvt:field:code;" title="&mvt:field:prompt;">&mvt:field:prompt;</label><mvt:else><labelclass="c-form-label u-font-tiny" for="&mvt:field:code;" title="&mvt:field:prompt;">&mvt:field:prompt;</label></mvt:if><divclass="c-control-group o-layout--align-baseline"><spanclass="u-width-6" data-hook="mvt-input" data-classlist="c-form-input c-form-input--huge u-font-small c-form-input--cvv" data-id="&mvt:field:code;"><mvt:itemname="payment" param="field:code"/>
</span><spanclass="u-width-6"><buttonclass="c-button c-button--small c-button--clear u-bg-transparent x-messages--info t-data-cvv" data-mini-modaldata-mini-modal-type="inline" data-mini-modal-content="data-cvv" title="Card Security Code Information" type="button">What's This? <spanclass="u-icon-question"></span></button></span></div><divclass="u-hidden" data-cvv><sectionclass="c-mini-modal__element-subject u-width-12 u-width-6--m u-bg-white"><pclass="c-heading-delta u-text-uppercase">Card Security Code</p><p><strong>What is the CVV2 and what does it look like?</strong><br />For your protection, we ask that you enter an extra 3-4 digit number called the CVV2. The CVV2 is NOT your PIN number and is not the last 3 or 4 digits of your credit card number. It is an extra ID printed on your Visa, MasterCard, Discover or American Express Card.<br />We request this code as a security measure to our customers. Requiring this information helps to ensure that the credit card is present at the time of purchase. If you cannot find this code or it is illegible, please contact your credit card issuer.</p><p><strong>Visa, MasterCard and Discover:</strong><br />On the back of the card in the top-right corner of the signature box. Enter the three-digit number following the credit card number. (See below.)</p><p><strong>American Express:</strong><br />On the front of the card. Enter the four-digit number on the right directly above the credit card number. (See below.)</p><pclass="u-text-center"><imgsrc="&mvte:global:theme_path;/core/images/img_cvv.png" alt="CID/CVV/CVV2 Locations" title="CID/CVV/CVV2 Locations"></p></section></div></li><mvt:else><liclass="c-form-list__item o-layout__item" data-hook="mvt-input" data-classlist="c-form-input c-form-input--huge u-font-small" data-id="&mvt:field:code;"><mvt:ifexpr="l.settings:field:invalid"><labelclass="c-form-label u-color-red u-font-tiny" for="&mvt:field:code;" title="&mvt:field:prompt;">&mvt:field:prompt;</label><mvt:else><labelclass="c-form-label u-font-tiny" for="&mvt:field:code;" title="&mvt:field:prompt;">&mvt:field:prompt;</label></mvt:if><mvt:itemname="payment" param="field:code" />
</li></mvt:if></mvt:foreach></ul><hrclass="c-keyline"></mvt:if><mvt:ifexpr="l.settings:payment:capabilities:split"><ulclass="c-form-list u-text-uppercase"><mvt:ifexpr="g.Amount_Invalid"><pclass="c-heading-echo u-text-bold u-color-red">Payment Amount</p><mvt:else><pclass="c-heading-echo u-text-bold">Payment Amount</p></mvt:if><liclass="c-form-list__item"><mvt:ifexpr="( NOT l.settings:payment:capabilities:balance ) OR ( l.settings:payment:balance GE l.settings:splitpayment:remaining )"><mvt:ifexpr="NOT g.UI_Exception"><mvt:assignname="g.AmountType" value="'total'" />
<mvt:assignname="g.Amount" value="l.settings:splitpayment:remaining ROUND 2" />
</mvt:if><labelclass="c-form-checkbox c-form-checkbox--radio u-font-small"><mvt:ifexpr="g.AmountType EQ 'total'"><inputclass="c-form-checkbox__input" type="radio" name="AmountType" value="total" onclick="AmountType_Changed( this.value );" checked><mvt:else><inputclass="c-form-checkbox__input" type="radio" name="AmountType" value="total" onclick="AmountType_Changed( this.value );"></mvt:if><mvt:ifexpr="NOT ISNULL l.settings:payment:split_data"><spanclass="c-form-checkbox__caption">Remaining Order Total (&mvt:payment:formatted_remaining;)</span><mvt:else><spanclass="c-form-checkbox__caption">Entire Order Total (&mvt:basket:formatted_total;)</span></mvt:if></label><mvt:else><mvt:ifexpr="NOT g.UI_Exception"><mvt:assignname="g.AmountType" value="'balance'" />
<mvt:assignname="g.Amount" value="l.settings:payment:balance ROUND 2" />
</mvt:if><labelclass="c-form-checkbox c-form-checkbox--radio u-font-small"><mvt:ifexpr="g.AmountType EQ 'balance'"><inputdata-hook="payment-balance-amount" type="hidden" name="Amount" value="&mvte:payment:balance;"><inputclass="c-form-checkbox__input" type="radio" name="AmountType" value="balance" onclick="AmountType_Changed( this.value );" checked><mvt:else><inputdata-hook="payment-balance-amount" type="hidden" name="Amount" value="&mvte:payment:balance;" disabled><inputclass="c-form-checkbox__input" type="radio" name="AmountType" value="balance" onclick="AmountType_Changed( this.value );"></mvt:if><spanclass="c-form-checkbox__caption">Available Balance (&mvt:payment:formatted_balance;)</span></label></mvt:if></li><liclass="c-form-list__item"><labelclass="c-form-checkbox c-form-checkbox--radio u-font-small"><mvt:ifexpr="g.AmountType EQ 'partial'"><inputclass="c-form-checkbox__input" type="radio" name="AmountType" value="partial" onclick="AmountType_Changed( this.value );" checked><spanclass="c-form-checkbox__caption">Partial: <inputclass="c-form-input" data-hook="payment-amount" type="text" name="Amount" value="&mvte:global:Amount;"></span><mvt:else><inputclass="c-form-checkbox__input" type="radio" name="AmountType" value="partial" onclick="AmountType_Changed( this.value );"><spanclass="c-form-checkbox__caption">Partial: <inputclass="c-form-input" data-hook="payment-amount" type="text" name="Amount" value="&mvte:global:Amount;" disabled></span></mvt:if></label></li></ul><mvt:ifexpr="g.AmountType EQ 'total'"><mvt:assignname="l.settings:display" value="'u-hidden'" />
<mvt:else><mvt:assignname="l.settings:display" value="'u-shown'" />
</mvt:if><sectionclass="&mvt:display; u-text-uppercase" data-hook="payment-additional"><pclass="c-heading-echo u-text-bold">Pay Additional Balance With</p><ulclass="c-form-list"><mvt:foreacharray="paymentmethods" iterator="method"><mvt:ifexpr="( l.settings:method:module NE 'customercredit' ) OR ( ( g.PaymentMethod NE 'customercredit:credit' ) AND ( NOT miva_array_search( l.settings:splitpayment:splits, 1, l.split, 'l.split:module:code EQ l.settings:method:module' ) ) )"><liclass="c-form-list__item c-form-list__item--full u-font-small"><mvt:ifexpr="pos1 EQ 1"><labelclass="c-form-checkbox c-form-checkbox--radio u-font-small"><mvt:ifexpr="l.settings:method:paymentcard:id"><inputclass="c-form-checkbox__input" type="radio" name="AdditionalPaymentMethod" value="paymentcard:&mvte:method:paymentcard:id;" checked><mvt:elseifexpr="l.settings:method:paymentcardtype:id"><inputclass="c-form-checkbox__input" type="radio" name="AdditionalPaymentMethod" value="paymentcardtype:&mvte:method:paymentcardtype:id;" checked><mvt:else><inputclass="c-form-checkbox__input" type="radio" name="AdditionalPaymentMethod" value="&mvte:method:module;:&mvte:method:code;" checked></mvt:if><spanclass="c-form-checkbox__caption">&mvt:method:name;</span></label><mvt:else><labelclass="c-form-checkbox c-form-checkbox--radio u-font-small"><mvt:ifexpr="l.settings:method:paymentcard:id"><inputclass="c-form-checkbox__input" type="radio" name="AdditionalPaymentMethod" value="paymentcard:&mvte:method:paymentcard:id;"><mvt:elseifexpr="l.settings:method:paymentcardtype:id"><inputclass="c-form-checkbox__input" type="radio" name="AdditionalPaymentMethod" value="paymentcardtype:&mvte:method:paymentcardtype:id;"><mvt:else><inputclass="c-form-checkbox__input" type="radio" name="AdditionalPaymentMethod" value="&mvte:method:module;:&mvte:method:code;"></mvt:if><spanclass="c-form-checkbox__caption">&mvt:method:name;</span></label></mvt:if></li></mvt:if></mvt:foreach></ul></section></mvt:if><ulclass="c-form-list"><liclass="c-form-list__item c-form-list__item--full o-layout u-flex"><divclass="o-layout__item u-text-right"><pclass="c-heading-delta u-text-uppercase u-text-bold"><spanclass="c-heading--subheading">Current Total</span><br>
&mvt:basket:formatted_total;
</p></div><divclass="o-layout__item t-payment-cta"><mvt:ifexpr="l.settings:paymentsettings:mivapay:enabled AND ( l.settings:mivapay:paymentcardtype:id OR l.settings:mivapay:paymentcard:id )"><script>varonclick_submit=function(){if(MivaPay&&(typeofMivaPay.Submit==='function')){MivaPay.Submit(function(){varform;form=document.querySelector('[data-hook="opay-form"]');form.submit();});}}</script><spanonclick="onclick_submit(); return false;"><inputclass="c-button c-button--huge c-button--full u-bg-gray-50 u-font-small u-text-medium u-text-uppercase" type="submit" value="Complete Order"></span><mvt:elseifexpr="'brain' CIN g.PaymentMethod OR 'square' CIN g.PaymentMethod"><inputclass="c-button c-button--huge c-button--full u-bg-gray-50 u-font-small u-text-medium u-text-uppercase" type="submit" value="Complete Order"><mvt:else><mvt:ifexpr="g.cc_payment EQ 1"><inputclass="c-button c-button--huge c-button--full u-bg-gray-50 u-font-small u-text-medium u-text-uppercase" data-hook="submit-form" type="submit" value="Complete Order"><mvt:else><inputclass="c-button c-button--huge c-button--full u-bg-gray-50 u-font-small u-text-medium u-text-uppercase" type="submit" value="Complete Order"></mvt:if></mvt:if></div></li></ul></fieldset></form><hrclass="c-keyline"><mvt:itemname="customer" />
</div><asideclass="o-layout__item u-width-12 u-width-4--l u-width-5--w"><mvt:itemname="basket" />
</aside></section><sectionclass="o-layout"><divclass="o-layout__item"><mvt:itemname="hdft" param="footer" />
</div></section><mvt:itemname="hdft" param="global_footer" />
</body></html>
Expected Behavior
When using a payment gateway which utilizes the CVV field, the "What's This?" button should open the relevant information in a modal.
Current Behavior
Currently the button is not triggering the modal to open.
Correcting the Issue
It appears the issue isn't with
mini-modal
per se but something to do with thebutton
not being recognized as a trigger element. I have added this update and it will be included in the next maintenance release.To make the update prior to the next release, you will need to update the following code:
User Interface -> Pages -> OPAY -> Template
:User Interface -> CSS Resources -> theme-styles
:The text was updated successfully, but these errors were encountered: