diff --git a/js/crm.payment.js b/js/crm.payment.js
index 2ed9bc339ddbf1c535ea9f95a915e6f23d6583d1..2acb44b1cc0e530560df0c15ffed517d86088c76 100644
--- a/js/crm.payment.js
+++ b/js/crm.payment.js
@@ -18,6 +18,9 @@
           totalAmount += parseFloat($(this).data('amount'));
         });
       }
+      else if (typeof CRM.percentagepricesetfield !== 'undefined' && typeof CRM.percentagepricesetfield.calculateTotalFee === 'function') {
+        totalAmount = CRM.percentagepricesetfield.calculateTotalFee();
+      }
       else if (document.getElementById('totalTaxAmount') !== null) {
         totalAmount = parseFloat(this.calculateTaxAmount());
         this.debugging(this.name, 'Calculated amount using internal calculateTaxAmount()');