From 4ff7ba2db43c545b97b32a6b714dbb9b4adc0b89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Nozi=C3=A8re?= Date: Sun, 18 Oct 2026 11:31:09 +0200 Subject: [PATCH 1/4] fix: return an exit code from the multi payment command --- Command/TreatOrderMultiPaymentCommand.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Command/TreatOrderMultiPaymentCommand.php b/Command/TreatOrderMultiPaymentCommand.php index 7efe8d4..8b39515 100755 --- a/Command/TreatOrderMultiPaymentCommand.php +++ b/Command/TreatOrderMultiPaymentCommand.php @@ -6,6 +6,7 @@ use PayPlugModule\Model\OrderPayPlugMultiPayment; use PayPlugModule\Model\OrderPayPlugMultiPaymentQuery; use Propel\Runtime\ActiveQuery\Criteria; +use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Thelia\Command\ContainerAwareCommand; @@ -45,5 +46,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int $todayPlannedOrderPayment->setPaymentId($paymentEvent->getPaymentId()) ->save(); } + + return Command::SUCCESS; } } \ No newline at end of file From af769ac3e80405d44747e9154a7b8e02c8e2cfeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Nozi=C3=A8re?= Date: Sun, 18 Oct 2026 11:31:09 +0200 Subject: [PATCH 2/4] fix: make sendOrderPayment parameters required to match the caller --- Service/PaymentService.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Service/PaymentService.php b/Service/PaymentService.php index 0e7c623..eccbacc 100755 --- a/Service/PaymentService.php +++ b/Service/PaymentService.php @@ -42,9 +42,9 @@ public function isPayPlugAvailable() */ public function sendOrderPayment( Order $order, - bool $capture = false, - bool $allowSaveCard = false, - int $paymentSlice = 1, + bool $capture, + bool $allowSaveCard, + int $paymentSlice, float $totalOrder ) { $paymentEvent = (new PayPlugPaymentEvent()) From 591031f84664546881c640e49453da826dcbd703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Nozi=C3=A8re?= Date: Sun, 18 Oct 2026 11:31:09 +0200 Subject: [PATCH 3/4] refactor: remove Smarty back-office templates replaced by Twig --- .../PayPlugModule/assets/logo-payplug.png | Bin 11079 -> 0 bytes .../default/PayPlugModule/configuration.html | 408 ------------------ .../default/PayPlugModule/order_pay_plug.html | 168 -------- .../default/PayPlugModule/order_pay_plug.js | 21 - 4 files changed, 597 deletions(-) delete mode 100755 templates/backOffice/default/PayPlugModule/assets/logo-payplug.png delete mode 100755 templates/backOffice/default/PayPlugModule/configuration.html delete mode 100644 templates/backOffice/default/PayPlugModule/order_pay_plug.html delete mode 100644 templates/backOffice/default/PayPlugModule/order_pay_plug.js diff --git a/templates/backOffice/default/PayPlugModule/assets/logo-payplug.png b/templates/backOffice/default/PayPlugModule/assets/logo-payplug.png deleted file mode 100755 index fbc631cc2274f51b620cebde7f38882854904cfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11079 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 - .block { - padding: 20px; - border-bottom: 2px solid #00AB7A; - } - .block h2 { - color: #00AB7A; - } - .block .block { - border: 2px solid rgba(0, 211, 152, 0.61); - } - -
-
- {form name="payplugmodule_configuration_form"} -
- {form_hidden_fields form=$form} - - {if $form_error} -
{$form_error_message}
- {/if} - - {form_field form=$form field='success_url'} - - {/form_field} - -
-
-
- Payment configuration -
-
-
-

{intl l="PayPlug offer" d='payplugmodule.bo.default'}

-
-
- {form_field form=$form field="offer"} -
- -
- {$inputOfferName = {$name}} - {foreach from=$choices item=choice} - value}checked{/if} /> - - {/foreach} - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} -
- {/form_field} -
-
-
-
-

{intl l="PayPlug API configuration" d='payplugmodule.bo.default'}

-
-
- {form_field form=$form field="api_mode"} -
- - - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} -
- {/form_field} -
-
- {form_field form=$form field='live_api_key'} - - - {if ! empty($label_attr.help)} - {$label_attr.help nofilter} - {/if} - {/form_field} -
-
- {form_field form=$form field='test_api_key'} - - - {if ! empty($label_attr.help)} - {$label_attr.help nofilter} - {/if} - {/form_field} -
-
-
-
-

{intl l="PayPlug basic payment configuration" d='payplugmodule.bo.default'}

-
-
- {form_field form=$form field="payment_enabled"} -
- - - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} -
- {/form_field} -
-
- {form_field form=$form field="payment_page_type"} -
- - - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} -
- {/form_field} -
-
- {render_form_field field="send_confirmation_message_only_if_paid"} -
-
-
-
-

{intl l="PayPlug pro offer configuration" d='payplugmodule.bo.default'}

-
-
- {form_field form=$form field="one_click_payment_enabled"} -
- - - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} -
- {/form_field} -
-
- {form_field form=$form field="multi_payment_enabled"} - {$inputMultiPaymentName = $name} -
- - - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} -
- {/form_field} -
-
-
- {intl l="Payments in several times are not guaranteed, a default may occur on future due dates." d='payplugmodule.bo.default'} -
-
- {form_field form=$form field='multi_payment_minimum'} - - - {/form_field} -
-
- {form_field form=$form field='multi_payment_maximum'} - - - {/form_field} -
-
- {form_field form=$form field="multi_payment_times"} -
- - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} -
- {/form_field} -
-
-

- {intl l="To trigger the payments on planned date please add a daily cron on this Thelia command " d='payplugmodule.bo.default'} - php Thelia payplug:treat:multi_payment -

-
-
-
-
-
-

{intl l="PayPlug premium offer configuration" d='payplugmodule.bo.default'}

-
-
- {form_field form=$form field="differed_payment_enabled"} - {$inputDifferedPaymentName = $name} -
- - - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} -
- {/form_field} -
-
-
- {form_field form=$form field="differed_payment_authorized_capture_status"} -
- - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} -
- {/form_field} -
-
- {form_field form=$form field="differed_payment_trigger_capture_status"} -
- - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} -
- {/form_field} -
-
- {form_field form=$form field="differed_payment_capture_expired_status"} -
- - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} -
- {/form_field} -
-
-
-
-
-

{intl l="PayPlug delivery type configuration" d='payplugmodule.bo.default'}

-

{intl l="Please select a Pay Plug delivery type correspondance for each delivery modules" d='payplugmodule.bo.default'}

-
-
- {foreach from=$deliveryModuleFormFields item="deliveryModuleFormField"} -
- {form_field form=$form field=$deliveryModuleFormField['name']} - - {if ! empty($label_attr.help)} - {$label_attr.help} - {/if} - {/form_field} -
- {/foreach} -
-
-
-
-
-
- -
-
-
-
- {/form} -
- {hook name="payplugmodule.configuration.bottom"} -
-{/block} - -{block name="javascript-initialization"} - -{/block} - -{block name="javascript-last-call"} - -{/block} diff --git a/templates/backOffice/default/PayPlugModule/order_pay_plug.html b/templates/backOffice/default/PayPlugModule/order_pay_plug.html deleted file mode 100644 index bd9cee4..0000000 --- a/templates/backOffice/default/PayPlugModule/order_pay_plug.html +++ /dev/null @@ -1,168 +0,0 @@ -
-
-

{intl l="PayPlug order data" d='payplugmodule.bo.default'}

-
-
- {form name="payplugmodule_order_action_form_refund"} - {if $form_error} -
{$form_error_message}
- {/if} - {/form} - {form name="payplugmodule_order_action_form"} - {if $form_error} -
{$form_error_message}
- {/if} - {/form} -
- - - {if $amountRefunded || $isPaid} - - - - - - {/if} - {if $needCapture} - - - {if null == $capturedAt} - - - {else} - - - {/if} - - {/if} - {if count($multiPayments) > 0} - - - - - {/if} - -
{intl l="Refund" d='payplugmodule.bo.default'} - {loop type="order" name="refund-order-amount" id=$order_id customer="*" with_prev_next_info="true" backend_context="1"} - {$orderTotalAmount = $TOTAL_TAXED_AMOUNT} - {$orderTotalAmountWithoutShipping = $TOTAL_TAXED_AMOUNT-$POSTAGE} - {/loop} - {if $amountRefunded} -
{format_money number=$amountRefunded/100} {intl l=" refunded" d='payplugmodule.bo.default'}
- {/if} - {if $orderTotalAmount > ($amountRefunded/100) } -
-
- - -
-
- -
- - - {currency attr="symbol"} -
-
- -
- {/if} -
{intl l="Differed payment" d='payplugmodule.bo.default'}{intl l="Payment capture will expire on " d='payplugmodule.bo.default'}{format_date date=$captureExpireAt} - - {intl l="Force the capture for this order" d='payplugmodule.bo.default'} - - - {intl l="Payment was captured at " d='payplugmodule.bo.default'}{format_date date=$capturedAt} -
{intl l="Multi payment" d='payplugmodule.bo.default'} - - - - - - - - - {$paymentCount = 1} - {foreach from=$multiPayments item=multiPayment} - - - - - - - - {$paymentCount = $paymentCount + 1} - {/foreach} -
{intl l="Payment n° " d='payplugmodule.bo.default'}{intl l="Amount" d='payplugmodule.bo.default'}{intl l="Planned at" d='payplugmodule.bo.default'}{intl l="Paid at" d='payplugmodule.bo.default'}{intl l="Refunded at" d='payplugmodule.bo.default'}
{$paymentCount}{format_money number=$multiPayment['amount']/100}{if $multiPayment['plannedAt']}{format_date date=$multiPayment['plannedAt']}{else}{intl l="Canceled" d='payplugmodule.bo.default'}{/if}{if $multiPayment['paidAt']}{format_date date=$multiPayment['paidAt']}{/if}{if $multiPayment['refundedAt']}{format_date date=$multiPayment['refundedAt']}{/if}
-
-
- -{capture "refund_dialog"} - {form name="payplugmodule_order_action_form_refund"} - {form_hidden_fields form=$form} - {if $form_error} -
{$form_error_message}
- {/if} - {form_field form=$form field='success_url'} - - {/form_field} - {form_field form=$form field="order_id"} - - {/form_field} - {form_field form=$form field="refund_amount"} - - {/form_field} - {/form} -{/capture} - -{include - file = "includes/generic-confirm-dialog.html" - - dialog_id = "order_refund_dialog" - dialog_title = {intl l="Refund order" d="payplugmodule.bo.default"} - dialog_message = {intl l="Do you really want to refund this order ?" d="payplugmodule.bo.default"} - -form_method = "POST" -form_action = {url path='/admin/payplugmodule/order/refund'} -form_content = {$smarty.capture.refund_dialog nofilter} -} - -{capture "capture_dialog"} - {form name="payplugmodule_order_action_form"} - {form_hidden_fields form=$form} - {if $form_error} -
{$form_error_message}
- {/if} - {form_field form=$form field='success_url'} - - {/form_field} - {form_field form=$form field="order_id"} - - {/form_field} - {/form} -{/capture} - -{include -file = "includes/generic-confirm-dialog.html" - -dialog_id = "order_capture_dialog" -dialog_title = {intl l="Capture order" d="payplugmodule.bo.default"} -dialog_message = {intl l="Do you really want to capture this order ?" d="payplugmodule.bo.default"} - -form_method = "POST" -form_action = {url path='/admin/payplugmodule/order/capture'} -form_content = {$smarty.capture.capture_dialog nofilter} -} \ No newline at end of file diff --git a/templates/backOffice/default/PayPlugModule/order_pay_plug.js b/templates/backOffice/default/PayPlugModule/order_pay_plug.js deleted file mode 100644 index 93f4b03..0000000 --- a/templates/backOffice/default/PayPlugModule/order_pay_plug.js +++ /dev/null @@ -1,21 +0,0 @@ -var inputAmountRefund = $('#input_amount_refund'); -var maxAmountRefund = parseFloat(inputAmountRefund.attr('max')); - -$("#quick_select_amount_refund").change(function (e) { - var amountToRefund = 0; - var selected = $(e.target).val(); - - if (null !== selected) { - amountToRefund = selected.reduce(function (a, c) { - return parseFloat(a) + parseFloat(c); - }); - } - - amountToRefund = amountToRefund > maxAmountRefund ? maxAmountRefund : amountToRefund; - inputAmountRefund.val(amountToRefund).trigger('change'); -}); - -inputAmountRefund.change(function (e) { - var amountToRefund = $(e.target).val() > maxAmountRefund ? maxAmountRefund : $(e.target).val(); - $("#refund_amount").val(amountToRefund); -}); \ No newline at end of file From e3925e80773140b484a1d3ca92a66d61d63dc69d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Nozi=C3=A8re?= Date: Sun, 18 Oct 2026 11:31:17 +0200 Subject: [PATCH 4/4] chore: bump module version to 3.1.0 --- Config/module.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Config/module.xml b/Config/module.xml index 7072428..7ed0c5d 100755 --- a/Config/module.xml +++ b/Config/module.xml @@ -17,7 +17,7 @@ en_US fr_FR - 3.0.0 + 3.1.0 Vincent Lopes-Vicente