Skip to content

Commit 84d43a6

Browse files
author
Anna Bukatar
committed
ACP2E-876: Google Recaptcha on Checkout not working
1 parent 0964841 commit 84d43a6

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

ReCaptchaCheckout/view/frontend/web/js/model/place-order-mixin.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ define([
3232
});
3333
//Trigger ReCaptcha validation
3434
recaptchaRegistry.triggers['recaptcha-checkout-place-order']();
35-
35+
//remove listener so that place order action is only triggered by the 'Place Order' button
36+
recaptchaRegistry.removeListener('recaptcha-checkout-place-order');
3637
return recaptchaDeferred;
3738
}
3839

ReCaptchaWebapiUi/view/frontend/web/js/webapiReCaptchaRegistry.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,15 @@ define([], function () {
3737
} else {
3838
this._listeners[id] = func;
3939
}
40+
},
41+
42+
/**
43+
* Remove a listener
44+
*
45+
* @param id
46+
*/
47+
removeListener: function (id) {
48+
this._listeners[id] = undefined;
4049
}
4150
};
4251
});

dev/tests/js/jasmine/tests/app/code/Magento/ReCaptchaCheckout/frontend/js/model/place-order-mixin.test.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,12 @@ define(['squire'
9696
registry.addListener = function (id, func) {
9797
registry._listeners[id] = func;
9898
};
99+
registry.removeListener = jasmine.createSpy();
99100

100101
redirect.execute = jasmine.createSpy();
101102
mixin()(action, serviceUrl, payload, messageContainer);
102103
expect(redirect.execute).toHaveBeenCalled();
104+
expect(registry.removeListener).toHaveBeenCalledWith(recaptchaId);
103105
});
104106
});
105107
});

0 commit comments

Comments
 (0)