{% set currentYear = date()|date_modify("+1 year").format('Y') %}
{% if order %} {{ redirectInput(order.cpEditUrl) }} {% endif %} {{ csrfInput() }} {{ formHtml|raw }}
Payment Amount
{% set currencies = craft.commerce.paymentCurrencies.getAllPaymentCurrencies() %} {% set primaryCurrency = craft.commerce.paymentCurrencies.getPrimaryPaymentCurrency() %} {% if currencies|length > 1 %} {% else %} {% endif %} {{ order.currency }} {{ order.paymentAmountAsCurrency }}

{% js %} var primaryBaseCurrency = '{{ primaryCurrency.iso }}'; var outstandingBalance = '{{ order.getpaymentAmount() }}'; var orderId = '{{ order.id }}'; $("#gateway-{{ gateway.id }}-form").on('submit', function (ev) { $("#gateway-{{ gateway.id }}-form") = $(this); if ($("#gateway-{{ gateway.id }}-form").data('processing')) { ev.preventDefault(); return false; } $("#gateway-{{ gateway.id }}-form").data('processing', true); }); function debounce(callback, wait) { let timeout; return (...args) => { clearTimeout(timeout); timeout = setTimeout(function () { callback.apply(this, args); }, wait); }; } function updatePrice() { var price = $("#gateway-{{ gateway.id }}-form").find("input#paymentAmount-{{ gateway.id }}").val(); $.ajax({ type: "POST", dataType: 'json', headers: { "X-CSRF-Token" : '{{ craft.app.request.csrfToken }}', }, url: '', data: { 'action' : 'commerce/orders/payment-amount-data', 'paymentAmount': price, 'paymentCurrency': $("#gateway-{{ gateway.id }}-form").find("#paymentCurrency-{{ gateway.id }}").val(), 'orderId' : orderId }, success: function(data){ $("#gateway-{{ gateway.id }}-form").find("#baseCurrencyAmount-{{ gateway.id }}").html(data.baseCurrencyPaymentAmountAsCurrency); $("#real-paymentAmount-{{ gateway.id }}").val(data.baseCurrencyPaymentAmount); $('#response-message-{{ gateway.id }}').html(data.message); window.dispatchEvent(new Event('resize')); $('#submit-payment-{{ gateway.id }}').prop('disabled', false); } }); } $("#gateway-{{ gateway.id }}-form").find("input#paymentAmount-{{ gateway.id }}").bind('keyup mouseup', debounce(() => { var newVal = $("input#paymentAmount-{{ gateway.id }}").val(); if(!newVal) { newVal = outstandingBalance; $("input#paymentAmount-{{ gateway.id }}").val(newVal); } updatePrice(); }, 500)); var previous; if($("select#paymentCurrency-{{ gateway.id }}").length){ $("select#paymentCurrency-{{ gateway.id }}").on('focus', function () { previous = this.value; }).on('change', function() { $('#submit-payment-{{ gateway.id }}').prop('disabled', true); if(this.value != primaryBaseCurrency){ $("input#paymentAmount-{{ gateway.id }}").removeAttr('max'); }else{ $("input#paymentAmount-{{ gateway.id }}").attr('max', outstandingBalance); } updatePrice(); }); } {% endjs %}