diff --git a/Model/Ui/CcConfigProvider.php b/Model/Ui/CcConfigProvider.php
index 98a00a54..8d0ce886 100644
--- a/Model/Ui/CcConfigProvider.php
+++ b/Model/Ui/CcConfigProvider.php
@@ -6,6 +6,7 @@
use Magento\Payment\Model\CcConfig as MagentoCcConfig;
use Omise\Payment\Block\Adminhtml\System\Config\CardFormCustomization\Theme;
use Omise\Payment\Model\Config\Cc as OmiseCcConfig;
+use Omise\Payment\Model\Config\Installment;
use Omise\Payment\Model\Customer;
class CcConfigProvider implements ConfigProviderInterface
@@ -45,6 +46,8 @@ public function getConfig()
$theme = new Theme();
$customDesign = $this->omiseCcConfig->getCardThemeConfig();
$selectedTheme = $this->omiseCcConfig->getCardTheme();
+ $enableWlbInstallment = $this->omiseCcConfig->getValue('enable_wlb_installment', Installment::CODE);
+
return [
'payment' => [
'ccform' => [
@@ -58,7 +61,8 @@ public function getConfig()
'locale' => $this->omiseCcConfig->getStoreLocale(),
'secureForm' => $this->omiseCcConfig->getSecureForm(),
'formDesign' => $theme->getFormDesign($selectedTheme, $customDesign),
- 'theme' => $selectedTheme
+ 'theme' => $selectedTheme,
+ 'enableWlbInstallment' => $enableWlbInstallment
],
]
];
diff --git a/etc/adminhtml/system.xml b/etc/adminhtml/system.xml
index 94bcc458..89d2f595 100644
--- a/etc/adminhtml/system.xml
+++ b/etc/adminhtml/system.xml
@@ -222,13 +222,19 @@
This controls the title which the user sees during checkout.
payment/omise_offsite_installment/title
-
+
+
+ Magento\Config\Model\Config\Source\Yesno
+ payment/omise_offsite_installment/enable_wlb_installment
+ This controls whether you want to enable WLB installments or non-WLB installments.
+
+
payment/omise_offsite_installment/allowspecific
Magento\Payment\Model\Config\Source\Allspecificcountries
If not set to all, guest customers will not have a billing country and may not be able to check out.
-
+
payment/omise_offsite_installment/specificcountry
Magento\Directory\Model\Config\Source\Country
diff --git a/etc/config.xml b/etc/config.xml
index 6ab5366a..90febfe6 100644
--- a/etc/config.xml
+++ b/etc/config.xml
@@ -45,6 +45,7 @@
authorize_capture
1
1
+ 0
diff --git a/view/frontend/web/js/view/payment/method-renderer/omise-offsite-installment-method.js b/view/frontend/web/js/view/payment/method-renderer/omise-offsite-installment-method.js
index 2a0a6b77..4741b4e3 100644
--- a/view/frontend/web/js/view/payment/method-renderer/omise-offsite-installment-method.js
+++ b/view/frontend/web/js/view/payment/method-renderer/omise-offsite-installment-method.js
@@ -165,23 +165,14 @@ define(
},
applyOmiseJsToElement: function (self, element) {
- const iframeHeightMatching = {
- '40px': 258,
- '44px': 270,
- '48px': 282,
- '52px': 295,
- }
-
const localeMatching = {
en_US: 'en',
ja_JP: 'ja',
th_TH: 'th'
}
- const { theme, locale, formDesign } = window.checkoutConfig.payment.omise_cc
- const { font, input, checkbox } = formDesign
- let iframeElementHeight = iframeHeightMatching[input.height]
- element.style.height = 500 + 'px';
+ const { locale, enableWlbInstallment } = window.checkoutConfig.payment.omise_cc
+ element.style.height = enableWlbInstallment === '1' ? '450px' : '200px'
OmiseCard.configure({
publicKey: self.getPublicKey(),
@@ -191,9 +182,10 @@ define(
customCardForm: false,
customInstallmentForm: true,
locale: localeMatching[locale] ?? 'en',
- defaultPaymentMethod: 'installment'
+ defaultPaymentMethod: 'installment',
+ enableWlbInstallment: enableWlbInstallment === '1'
});
-
+
OmiseCard.open({
onCreateSuccess: (payload) => {
self.createOrder(self, payload)