diff --git a/Block/Adminhtml/Form/Field/InstallmentsNumber.php b/Block/Adminhtml/Form/Field/InstallmentsNumber.php
index 9fd93db0..b3b0af10 100644
--- a/Block/Adminhtml/Form/Field/InstallmentsNumber.php
+++ b/Block/Adminhtml/Form/Field/InstallmentsNumber.php
@@ -6,6 +6,7 @@
use Magento\Config\Block\System\Config\Form\Field;
use Magento\Config\Model\ResourceModel\Config\Data\CollectionFactory;
use Magento\Framework\Data\Form\Element\AbstractElement;
+use Pagarme\Core\Kernel\Services\InstallmentService;
use Pagarme\Pagarme\Model\Account;
use Pagarme\Pagarme\Model\PagarmeConfigProvider;
@@ -42,12 +43,16 @@ public function render(AbstractElement $element)
$isGateway = $this->account->isGateway(PagarmeConfigProvider::CREDIT_CARD_PAYMENT_CONFIG);
if ($isGateway) {
$classes = $element->getClass();
- $classes = str_replace('number-range-1-12', '', $classes);
- $classes .= ' number-range-1-24';
+ $classes = str_replace('number-range-1-' . InstallmentService::MAX_PSP_INSTALLMENTS_NUMBER, '', $classes);
+ $classes .= ' number-range-1-' . InstallmentService::MAX_GATEWAY_INSTALLMENTS_NUMBER;
$element->setClass($classes);
$comment = $element->getComment();
- $comment = str_replace('12', '24', $comment);
+ $comment = str_replace(
+ InstallmentService::MAX_PSP_INSTALLMENTS_NUMBER,
+ InstallmentService::MAX_GATEWAY_INSTALLMENTS_NUMBER,
+ $comment
+ );
$element->setComment($comment);
}
return parent::render($element);
diff --git a/Model/PagarmeConfigProvider.php b/Model/PagarmeConfigProvider.php
index 38a4b662..33765730 100644
--- a/Model/PagarmeConfigProvider.php
+++ b/Model/PagarmeConfigProvider.php
@@ -8,6 +8,7 @@
use Magento\Framework\Exception\NoSuchEntityException;
use Magento\Store\Model\ScopeInterface;
use Magento\Store\Model\StoreManagerInterface;
+use Pagarme\Core\Kernel\Services\InstallmentService;
use Pagarme\Core\Middle\Model\Account\PaymentEnum;
use Pagarme\Pagarme\Gateway\Transaction\Base\Config\ConfigInterface as PagarmeConfigInterface;
@@ -64,7 +65,7 @@ class PagarmeConfigProvider implements ConfigProviderInterface
const DEBIT_PAYMENT_CONFIG = 'pagarme_debit';
const PIX_PAYMENT_CONFIG = 'pagarme_pix';
-
+
const GOOGLEPAY_PAYMENT_CONFIG = 'pagarme_googlepay';
const VOUCHER_PAYMENT_CONFIG = 'pagarme_voucher';
@@ -198,15 +199,14 @@ public function validateMaxInstallment()
{
$isGatewayIntegrationType = $this->isGatewayIntegrationType();
$maxInstallment = $this->getMaxInstallment();
- $maxInstallmentForPSP = 12;
if (
!$isGatewayIntegrationType
- && $maxInstallment > $maxInstallmentForPSP
+ && $maxInstallment > InstallmentService::MAX_PSP_INSTALLMENTS_NUMBER
) {
$this->config->saveConfig(
self::XML_PATH_MAX_INSTALLMENT,
- $maxInstallmentForPSP,
+ InstallmentService::MAX_PSP_INSTALLMENTS_NUMBER,
'default',
0
);
diff --git a/etc/adminhtml/system/transaction/creditcard/installments.xml b/etc/adminhtml/system/transaction/creditcard/installments.xml
index b9f4eb4d..68f593e4 100644
--- a/etc/adminhtml/system/transaction/creditcard/installments.xml
+++ b/etc/adminhtml/system/transaction/creditcard/installments.xml
@@ -25,9 +25,9 @@
Max size: . /
", "Tamanho máximo: . /
" "Max size: 22. / 22
","Tamanho máximo: 22. / 22
" "Max size: 22. / 22
","Tamanho máximo: 22. / 22
" -"Insert a number between 1 and .
", "Insira um número entre 1 e .
" -"Insert a number between 1 and .
", "Insira um número entre 1 e .
" -"Insert a number between 1 and .
", "Insira um número entre 1 e .
" -"Insert a number between 1 and .
", "Insira um número entre 1 e .
" -"Insert a number between 1 and .
", "Insira um número entre 1 e .
" -"Insert a number between 1 and .
", "Insira um número entre 1 e .
" -"Insert a number between 1 and .
", "Insira um número entre 1 e .
" -"Insert a number between 1 and .
", "Insira um número entre 1 e .
" -"Insert a number between 1 and .
", "Insira um número entre 1 e .
" -"Insert a number between 1 and .
", "Insira um número entre 1 e .
" +"Insert a number between 1 and 18.
", "Insira um número entre 1 e 18.
" +"Insert a number between 1 and 18.
", "Insira um número entre 1 e 18.
" +"Insert a number between 1 and 18.
", "Insira um número entre 1 e 18.
" +"Insert a number between 1 and 18.
", "Insira um número entre 1 e 18.
" +"Insert a number between 1 and 18.
", "Insira um número entre 1 e 18.
" +"Insert a number between 1 and 18.
", "Insira um número entre 1 e 18.
" +"Insert a number between 1 and 18.
", "Insira um número entre 1 e 18.
" +"Insert a number between 1 and 18.
", "Insira um número entre 1 e 18.
" +"Insert a number between 1 and 18.
", "Insira um número entre 1 e 18.
" +"Insert a number between 1 and 18.
", "Insira um número entre 1 e 18.
" "Insert a number between 1 and 24.
","Insira um número entre 1 e 24.
" "Insert a number between 1 and the Max number of installments.
","Insira um número entre 1 e o Número máximo de parcelas.
" "Warning! Don't forget to add your store's domain on Pagar.me dashboard
", "Aviso! Não se esqueça de adicionar o domínio da sua loja no painel do Pagar.me
" diff --git a/view/adminhtml/web/js/integrationType.js b/view/adminhtml/web/js/integrationType.js index cd14b146..d3a1c8c2 100644 --- a/view/adminhtml/web/js/integrationType.js +++ b/view/adminhtml/web/js/integrationType.js @@ -3,11 +3,15 @@ require([ "jquery/ui", ], function ($) { "use strict"; + + const maxPspInstallmentsValue = 18, + maxGatewayInstallmentsValue = 24; + $(document).ready(function () { const integrationTypeElement = $('select[id*="pagarme_pagarme_global_is_gateway_integration_type"]'), - softDescriptionElements = $('input[id$="_soft_description"]'), - installmentsNumberElements = $('input[id*="pagarme_creditcard_installments"][id*="installments_number"]'), - installmentsWithoutInterestElements = $('input[id*="pagarme_creditcard_installments"][id*="max_without_interest"]'); + softDescriptionElements = $('input[id$="_soft_description"]'), + installmentsNumberElements = $('input[id*="pagarme_creditcard_installments"][id*="installments_number"]'), + installmentsWithoutInterestElements = $('input[id*="pagarme_creditcard_installments"][id*="max_without_interest"]'); integrationTypeElement.change(function () { const integrationType = $(this).val(), @@ -91,7 +95,7 @@ require([ if (installmentsMaxSizeElements) { installmentsMaxSizeElements.each(function () { - $(this).html(integrationType === '0' ? 12 : 24); + $(this).html(integrationType === '0' ? maxPspInstallmentsValue : maxGatewayInstallmentsValue); }); } } @@ -127,11 +131,11 @@ require([ function changeInstallmentsValidation(integrationType) { if (integrationType === '0') { - installmentsNumberElements.toggleClass('number-range-1-24', false); - installmentsNumberElements.toggleClass('number-range-1-12', true); + installmentsNumberElements.toggleClass('number-range-1-' + maxGatewayInstallmentsValue, false); + installmentsNumberElements.toggleClass('number-range-1-' + maxPspInstallmentsValue, true); } else { - installmentsNumberElements.toggleClass('number-range-1-12', false); - installmentsNumberElements.toggleClass('number-range-1-24', true); + installmentsNumberElements.toggleClass('number-range-1-' + maxPspInstallmentsValue, false); + installmentsNumberElements.toggleClass('number-range-1-' + maxGatewayInstallmentsValue, true); } }