From fdbbe6afb3f8de8cc7cf8908dc3a84fd6f7c01de Mon Sep 17 00:00:00 2001 From: Alex P Date: Wed, 8 Jun 2022 15:53:30 +0300 Subject: [PATCH] Send form data as json object to fix decoding was decoded twice, in RequestData and by parse_str --- .../modules/ActionHandler/CheckoutActionHandler.js | 6 ++++-- .../ppcp-button/src/Endpoint/CreateOrderEndpoint.php | 4 ++-- modules/ppcp-button/src/Endpoint/RequestData.php | 12 +++--------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/modules/ppcp-button/resources/js/modules/ActionHandler/CheckoutActionHandler.js b/modules/ppcp-button/resources/js/modules/ActionHandler/CheckoutActionHandler.js index 625fd369b..bc7a90b4a 100644 --- a/modules/ppcp-button/resources/js/modules/ActionHandler/CheckoutActionHandler.js +++ b/modules/ppcp-button/resources/js/modules/ActionHandler/CheckoutActionHandler.js @@ -20,7 +20,9 @@ class CheckoutActionHandler { const errorHandler = this.errorHandler; const formSelector = this.config.context === 'checkout' ? 'form.checkout' : 'form#order_review'; - const formValues = jQuery(formSelector).serialize(); + const formData = new FormData(document.querySelector(formSelector)); + // will not handle fields with multiple values (checkboxes,