diff --git a/Metadata/js/omnipay_PaypalRest.js b/Metadata/js/omnipay_PaypalRest.js
index b15f56659..53dd9670b 100644
--- a/Metadata/js/omnipay_PaypalRest.js
+++ b/Metadata/js/omnipay_PaypalRest.js
@@ -5,6 +5,27 @@
function renderPaypal() {
paypal.Buttons({
+
+
+ onInit: function(data, actions) {
+ // Set up the buttons.
+ if (form.valid()) {
+ actions.enable()
+ }
+ else {
+ actions.disable();
+ }
+
+ form.on('blur keyup change', 'input', function (event) {
+ if (form.valid()) {
+ actions.enable()
+ }
+ else {
+ actions.disable();
+ }
+ });
+ },
+
createBillingAgreement: function (data, actions) {
var frequencyInterval = $('#frequency_interval').val() || 1;
@@ -65,7 +86,7 @@
}
var paypalScriptURL = 'https://www.paypal.com/sdk/js?client-id=' + CRM.vars.omnipay.client_id + '¤cy=' + CRM.vars.omnipay.currency + '&commit=false&vault=true';
- CRM.loadScript(paypalScriptURL, false)
- .done(renderPaypal);
+ CRM.loadScript(paypalScriptURL, false).done(renderPaypal);
+
})(CRM.$);
diff --git a/info.xml b/info.xml
index c3ea4ecbb..dc71871b0 100644
--- a/info.xml
+++ b/info.xml
@@ -15,10 +15,10 @@
http://civicrm.org/licensing
2019-07-07
- 3.6
+ 3.7
stable
- 5.13
+ 5.17
This module integrates the omnipay library with CiviCRM. This release is for Omnipay 3.x and requires php 7.1. All new development will be here but 2.x series will continue to work.
diff --git a/omnipaymultiprocessor.php b/omnipaymultiprocessor.php
index f3f9d33bd..456f3d043 100644
--- a/omnipaymultiprocessor.php
+++ b/omnipaymultiprocessor.php
@@ -101,6 +101,8 @@ function omnipaymultiprocessor_civicrm_alterSettingsFolders(&$metaDataFolders) {
function omnipaymultiprocessor_civicrm_preProcess($formName, &$form) {
if ($formName === 'CRM_Contribute_Form_Contribution_Main') {
+ $form->assign('isJsValidate', TRUE);
+ CRM_Core_Resources::singleton()->addVars('form', ['suppressAlerts' => 1]);
if (!empty($form->_values['is_recur'])) {
$recurOptions = [
'is_recur_interval' => $form->_values['is_recur_interval'],