From 365bae420f3c8e711a0934a1c2effff4f79e4bf4 Mon Sep 17 00:00:00 2001 From: Lucian Turiac Date: Tue, 10 Oct 2023 10:54:12 +0300 Subject: [PATCH 1/3] BP-1488 - have one single config that set the client mode to test or production --- .../Data/UpdateBuckarooAccountConfig.php | 97 +++++++++++++++++++ .../system/payment_methods/afterpay.xml | 2 +- .../system/payment_methods/afterpay2.xml | 2 +- .../system/payment_methods/afterpay20.xml | 2 +- .../system/payment_methods/alipay.xml | 2 +- .../system/payment_methods/applepay.xml | 2 +- .../system/payment_methods/belfius.xml | 2 +- .../system/payment_methods/billink.xml | 2 +- .../system/payment_methods/capayable_in3.xml | 2 +- .../payment_methods/capayable_postpay.xml | 2 +- .../system/payment_methods/creditcard.xml | 2 +- .../system/payment_methods/creditcards.xml | 2 +- .../system/payment_methods/creditclick.xml | 2 +- etc/adminhtml/system/payment_methods/eps.xml | 2 +- .../system/payment_methods/giftcards.xml | 2 +- .../system/payment_methods/giropay.xml | 2 +- .../system/payment_methods/ideal.xml | 2 +- .../payment_methods/idealprocessing.xml | 2 +- etc/adminhtml/system/payment_methods/kbc.xml | 2 +- .../system/payment_methods/klarna.xml | 2 +- .../system/payment_methods/klarnain.xml | 2 +- .../system/payment_methods/klarnakp.xml | 2 +- .../system/payment_methods/mrcash.xml | 2 +- etc/adminhtml/system/payment_methods/p24.xml | 2 +- .../system/payment_methods/paybybank.xml | 2 +- .../system/payment_methods/payconiq.xml | 2 +- .../system/payment_methods/paylink.xml | 2 +- .../system/payment_methods/paypal.xml | 2 +- .../system/payment_methods/payperemail.xml | 2 +- .../system/payment_methods/pospayment.xml | 2 +- .../payment_methods/sepa_direct_debit.xml | 2 +- .../system/payment_methods/sofort_banking.xml | 2 +- .../system/payment_methods/tinka.xml | 2 +- .../system/payment_methods/transfer.xml | 2 +- .../system/payment_methods/trustly.xml | 2 +- .../system/payment_methods/voucher.xml | 2 +- .../system/payment_methods/wechatpay.xml | 2 +- 37 files changed, 133 insertions(+), 36 deletions(-) create mode 100644 Setup/Patch/Data/UpdateBuckarooAccountConfig.php diff --git a/Setup/Patch/Data/UpdateBuckarooAccountConfig.php b/Setup/Patch/Data/UpdateBuckarooAccountConfig.php new file mode 100644 index 000000000..473394a9a --- /dev/null +++ b/Setup/Patch/Data/UpdateBuckarooAccountConfig.php @@ -0,0 +1,97 @@ +moduleDataSetup = $moduleDataSetup; + } + + /** + * {@inheritdoc} + */ + public function apply(): void + { + $this->moduleDataSetup->startSetup(); + + $connection = $this->moduleDataSetup->getConnection(); + + $path = 'buckaroo_magento2/account/active'; + $valueToUpdate = '2'; + + $select = $connection->select() + ->from($this->moduleDataSetup->getTable('core_config_data')) + ->where('path = ?', $path); + + $data = $connection->fetchRow($select); + + if ($data) { + $connection->update( + $this->moduleDataSetup->getTable('core_config_data'), + ['value' => $valueToUpdate], + ['path = ?' => $path] + ); + } else { + $connection->insert( + $this->moduleDataSetup->getTable('core_config_data'), + [ + 'scope' => 'default', + 'scope_id' => 0, + 'path' => $path, + 'value' => $valueToUpdate + ] + ); + } + + $this->moduleDataSetup->endSetup(); + } + + /** + * {@inheritdoc} + */ + public static function getDependencies(): array + { + return []; + } + + /** + * {@inheritdoc} + */ + public function getAliases(): array + { + return []; + } +} \ No newline at end of file diff --git a/etc/adminhtml/system/payment_methods/afterpay.xml b/etc/adminhtml/system/payment_methods/afterpay.xml index e5d4323af..46805badb 100644 --- a/etc/adminhtml/system/payment_methods/afterpay.xml +++ b/etc/adminhtml/system/payment_methods/afterpay.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_afterpay/active diff --git a/etc/adminhtml/system/payment_methods/afterpay2.xml b/etc/adminhtml/system/payment_methods/afterpay2.xml index de70c0522..3377b8c1b 100644 --- a/etc/adminhtml/system/payment_methods/afterpay2.xml +++ b/etc/adminhtml/system/payment_methods/afterpay2.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_afterpay2/active diff --git a/etc/adminhtml/system/payment_methods/afterpay20.xml b/etc/adminhtml/system/payment_methods/afterpay20.xml index d545aba1a..6551f8d55 100644 --- a/etc/adminhtml/system/payment_methods/afterpay20.xml +++ b/etc/adminhtml/system/payment_methods/afterpay20.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_afterpay20/active diff --git a/etc/adminhtml/system/payment_methods/alipay.xml b/etc/adminhtml/system/payment_methods/alipay.xml index 30bde4fab..e4aeddfdc 100644 --- a/etc/adminhtml/system/payment_methods/alipay.xml +++ b/etc/adminhtml/system/payment_methods/alipay.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_alipay/active diff --git a/etc/adminhtml/system/payment_methods/applepay.xml b/etc/adminhtml/system/payment_methods/applepay.xml index a2a65568c..1f48b59f7 100644 --- a/etc/adminhtml/system/payment_methods/applepay.xml +++ b/etc/adminhtml/system/payment_methods/applepay.xml @@ -26,7 +26,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_applepay/active diff --git a/etc/adminhtml/system/payment_methods/belfius.xml b/etc/adminhtml/system/payment_methods/belfius.xml index 2a967bc9a..309307f3f 100644 --- a/etc/adminhtml/system/payment_methods/belfius.xml +++ b/etc/adminhtml/system/payment_methods/belfius.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_belfius/active diff --git a/etc/adminhtml/system/payment_methods/billink.xml b/etc/adminhtml/system/payment_methods/billink.xml index 115fdaa58..36a894cd2 100644 --- a/etc/adminhtml/system/payment_methods/billink.xml +++ b/etc/adminhtml/system/payment_methods/billink.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_billink/active diff --git a/etc/adminhtml/system/payment_methods/capayable_in3.xml b/etc/adminhtml/system/payment_methods/capayable_in3.xml index 7f9d59cfd..258bc1e09 100644 --- a/etc/adminhtml/system/payment_methods/capayable_in3.xml +++ b/etc/adminhtml/system/payment_methods/capayable_in3.xml @@ -26,7 +26,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_capayablein3/active diff --git a/etc/adminhtml/system/payment_methods/capayable_postpay.xml b/etc/adminhtml/system/payment_methods/capayable_postpay.xml index 468573c83..301a415fb 100644 --- a/etc/adminhtml/system/payment_methods/capayable_postpay.xml +++ b/etc/adminhtml/system/payment_methods/capayable_postpay.xml @@ -26,7 +26,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_capayablepostpay/active diff --git a/etc/adminhtml/system/payment_methods/creditcard.xml b/etc/adminhtml/system/payment_methods/creditcard.xml index 30b179e3a..0ebdf2420 100644 --- a/etc/adminhtml/system/payment_methods/creditcard.xml +++ b/etc/adminhtml/system/payment_methods/creditcard.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_creditcard/active diff --git a/etc/adminhtml/system/payment_methods/creditcards.xml b/etc/adminhtml/system/payment_methods/creditcards.xml index f62050145..f38864ee9 100644 --- a/etc/adminhtml/system/payment_methods/creditcards.xml +++ b/etc/adminhtml/system/payment_methods/creditcards.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_creditcards/active diff --git a/etc/adminhtml/system/payment_methods/creditclick.xml b/etc/adminhtml/system/payment_methods/creditclick.xml index fc3abce51..8abbfc400 100644 --- a/etc/adminhtml/system/payment_methods/creditclick.xml +++ b/etc/adminhtml/system/payment_methods/creditclick.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_creditclick/active diff --git a/etc/adminhtml/system/payment_methods/eps.xml b/etc/adminhtml/system/payment_methods/eps.xml index 5e29c3bbb..4fab4cdca 100644 --- a/etc/adminhtml/system/payment_methods/eps.xml +++ b/etc/adminhtml/system/payment_methods/eps.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_eps/active diff --git a/etc/adminhtml/system/payment_methods/giftcards.xml b/etc/adminhtml/system/payment_methods/giftcards.xml index b80e4793a..1c662c39b 100644 --- a/etc/adminhtml/system/payment_methods/giftcards.xml +++ b/etc/adminhtml/system/payment_methods/giftcards.xml @@ -27,7 +27,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_giftcards/active diff --git a/etc/adminhtml/system/payment_methods/giropay.xml b/etc/adminhtml/system/payment_methods/giropay.xml index 6e1950d97..ebf1e95f2 100644 --- a/etc/adminhtml/system/payment_methods/giropay.xml +++ b/etc/adminhtml/system/payment_methods/giropay.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_giropay/active diff --git a/etc/adminhtml/system/payment_methods/ideal.xml b/etc/adminhtml/system/payment_methods/ideal.xml index 16bbdc7e5..c8be7d6cb 100644 --- a/etc/adminhtml/system/payment_methods/ideal.xml +++ b/etc/adminhtml/system/payment_methods/ideal.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_ideal/active diff --git a/etc/adminhtml/system/payment_methods/idealprocessing.xml b/etc/adminhtml/system/payment_methods/idealprocessing.xml index cae47b9ac..98cf4c03c 100644 --- a/etc/adminhtml/system/payment_methods/idealprocessing.xml +++ b/etc/adminhtml/system/payment_methods/idealprocessing.xml @@ -26,7 +26,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_idealprocessing/active diff --git a/etc/adminhtml/system/payment_methods/kbc.xml b/etc/adminhtml/system/payment_methods/kbc.xml index 481b04fb6..c724d0354 100644 --- a/etc/adminhtml/system/payment_methods/kbc.xml +++ b/etc/adminhtml/system/payment_methods/kbc.xml @@ -26,7 +26,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_kbc/active diff --git a/etc/adminhtml/system/payment_methods/klarna.xml b/etc/adminhtml/system/payment_methods/klarna.xml index fde867e90..5fe3da098 100644 --- a/etc/adminhtml/system/payment_methods/klarna.xml +++ b/etc/adminhtml/system/payment_methods/klarna.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_klarna/active diff --git a/etc/adminhtml/system/payment_methods/klarnain.xml b/etc/adminhtml/system/payment_methods/klarnain.xml index 28a4bac1d..3fe043ee3 100644 --- a/etc/adminhtml/system/payment_methods/klarnain.xml +++ b/etc/adminhtml/system/payment_methods/klarnain.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_klarnain/active diff --git a/etc/adminhtml/system/payment_methods/klarnakp.xml b/etc/adminhtml/system/payment_methods/klarnakp.xml index 50172b1d6..e84c5cbe8 100644 --- a/etc/adminhtml/system/payment_methods/klarnakp.xml +++ b/etc/adminhtml/system/payment_methods/klarnakp.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_klarnakp/active diff --git a/etc/adminhtml/system/payment_methods/mrcash.xml b/etc/adminhtml/system/payment_methods/mrcash.xml index 309eaaa54..fdc6d5fbe 100644 --- a/etc/adminhtml/system/payment_methods/mrcash.xml +++ b/etc/adminhtml/system/payment_methods/mrcash.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_mrcash/active diff --git a/etc/adminhtml/system/payment_methods/p24.xml b/etc/adminhtml/system/payment_methods/p24.xml index 1146e7290..fc4a87bd2 100644 --- a/etc/adminhtml/system/payment_methods/p24.xml +++ b/etc/adminhtml/system/payment_methods/p24.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_p24/active diff --git a/etc/adminhtml/system/payment_methods/paybybank.xml b/etc/adminhtml/system/payment_methods/paybybank.xml index 882404d62..e23727afa 100644 --- a/etc/adminhtml/system/payment_methods/paybybank.xml +++ b/etc/adminhtml/system/payment_methods/paybybank.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_paybybank/active diff --git a/etc/adminhtml/system/payment_methods/payconiq.xml b/etc/adminhtml/system/payment_methods/payconiq.xml index 528c7efd0..d30c084b2 100644 --- a/etc/adminhtml/system/payment_methods/payconiq.xml +++ b/etc/adminhtml/system/payment_methods/payconiq.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_payconiq/active diff --git a/etc/adminhtml/system/payment_methods/paylink.xml b/etc/adminhtml/system/payment_methods/paylink.xml index 9b3d8df1f..cef074984 100644 --- a/etc/adminhtml/system/payment_methods/paylink.xml +++ b/etc/adminhtml/system/payment_methods/paylink.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_paylink/active diff --git a/etc/adminhtml/system/payment_methods/paypal.xml b/etc/adminhtml/system/payment_methods/paypal.xml index 7e0758ede..bd0557436 100644 --- a/etc/adminhtml/system/payment_methods/paypal.xml +++ b/etc/adminhtml/system/payment_methods/paypal.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_paypal/active diff --git a/etc/adminhtml/system/payment_methods/payperemail.xml b/etc/adminhtml/system/payment_methods/payperemail.xml index 2187bb34b..22f5a3335 100644 --- a/etc/adminhtml/system/payment_methods/payperemail.xml +++ b/etc/adminhtml/system/payment_methods/payperemail.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_payperemail/active diff --git a/etc/adminhtml/system/payment_methods/pospayment.xml b/etc/adminhtml/system/payment_methods/pospayment.xml index ef6651e1c..7b14bbd63 100644 --- a/etc/adminhtml/system/payment_methods/pospayment.xml +++ b/etc/adminhtml/system/payment_methods/pospayment.xml @@ -26,7 +26,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_pospayment/active diff --git a/etc/adminhtml/system/payment_methods/sepa_direct_debit.xml b/etc/adminhtml/system/payment_methods/sepa_direct_debit.xml index cd0c2946d..23d86c6c9 100644 --- a/etc/adminhtml/system/payment_methods/sepa_direct_debit.xml +++ b/etc/adminhtml/system/payment_methods/sepa_direct_debit.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_sepadirectdebit/active diff --git a/etc/adminhtml/system/payment_methods/sofort_banking.xml b/etc/adminhtml/system/payment_methods/sofort_banking.xml index a6498cf8f..7fd691db9 100644 --- a/etc/adminhtml/system/payment_methods/sofort_banking.xml +++ b/etc/adminhtml/system/payment_methods/sofort_banking.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_sofortbanking/active diff --git a/etc/adminhtml/system/payment_methods/tinka.xml b/etc/adminhtml/system/payment_methods/tinka.xml index 6a9ad1366..63d345b94 100644 --- a/etc/adminhtml/system/payment_methods/tinka.xml +++ b/etc/adminhtml/system/payment_methods/tinka.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_tinka/active diff --git a/etc/adminhtml/system/payment_methods/transfer.xml b/etc/adminhtml/system/payment_methods/transfer.xml index e45aa6d35..ac7e1f8a4 100644 --- a/etc/adminhtml/system/payment_methods/transfer.xml +++ b/etc/adminhtml/system/payment_methods/transfer.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_transfer/active diff --git a/etc/adminhtml/system/payment_methods/trustly.xml b/etc/adminhtml/system/payment_methods/trustly.xml index 5a8158a6b..7b37fa905 100644 --- a/etc/adminhtml/system/payment_methods/trustly.xml +++ b/etc/adminhtml/system/payment_methods/trustly.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_trustly/active diff --git a/etc/adminhtml/system/payment_methods/voucher.xml b/etc/adminhtml/system/payment_methods/voucher.xml index 847a62a7a..d6c8522ab 100644 --- a/etc/adminhtml/system/payment_methods/voucher.xml +++ b/etc/adminhtml/system/payment_methods/voucher.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_voucher/active diff --git a/etc/adminhtml/system/payment_methods/wechatpay.xml b/etc/adminhtml/system/payment_methods/wechatpay.xml index 814aa9b8e..ab4b71247 100644 --- a/etc/adminhtml/system/payment_methods/wechatpay.xml +++ b/etc/adminhtml/system/payment_methods/wechatpay.xml @@ -28,7 +28,7 @@ - Buckaroo\Magento2\Model\Config\Source\Enablemode + Magento\Config\Model\Config\Source\Yesno payment/buckaroo_magento2_wechatpay/active From c34693e601d3b22aed9bad0ba0c50829a61c03ef Mon Sep 17 00:00:00 2001 From: Lucian Turiac Date: Wed, 11 Oct 2023 14:58:27 +0300 Subject: [PATCH 2/3] BP-1488 - Module's enabled status "Test" has no effect --- Model/Adapter/BuckarooAdapter.php | 142 +++++++++++++----- Observer/SalesOrderShipmentAfter.php | 73 ++++----- .../system/payment_methods/afterpay.xml | 2 +- .../system/payment_methods/afterpay2.xml | 2 +- .../system/payment_methods/afterpay20.xml | 2 +- .../system/payment_methods/alipay.xml | 2 +- .../system/payment_methods/applepay.xml | 2 +- .../system/payment_methods/belfius.xml | 2 +- .../system/payment_methods/billink.xml | 2 +- .../system/payment_methods/capayable_in3.xml | 2 +- .../payment_methods/capayable_postpay.xml | 2 +- .../system/payment_methods/creditcard.xml | 2 +- .../system/payment_methods/creditcards.xml | 2 +- .../system/payment_methods/creditclick.xml | 2 +- etc/adminhtml/system/payment_methods/eps.xml | 2 +- .../system/payment_methods/giftcards.xml | 2 +- .../system/payment_methods/giropay.xml | 2 +- .../system/payment_methods/ideal.xml | 2 +- .../payment_methods/idealprocessing.xml | 2 +- etc/adminhtml/system/payment_methods/kbc.xml | 2 +- .../system/payment_methods/klarna.xml | 2 +- .../system/payment_methods/klarnain.xml | 2 +- .../system/payment_methods/klarnakp.xml | 2 +- .../system/payment_methods/mrcash.xml | 2 +- etc/adminhtml/system/payment_methods/p24.xml | 2 +- .../system/payment_methods/paybybank.xml | 2 +- .../system/payment_methods/payconiq.xml | 2 +- .../system/payment_methods/paylink.xml | 2 +- .../system/payment_methods/paypal.xml | 2 +- .../system/payment_methods/payperemail.xml | 2 +- .../system/payment_methods/pospayment.xml | 2 +- .../payment_methods/sepa_direct_debit.xml | 2 +- .../system/payment_methods/sofort_banking.xml | 2 +- .../system/payment_methods/tinka.xml | 2 +- .../system/payment_methods/transfer.xml | 2 +- .../system/payment_methods/trustly.xml | 2 +- .../system/payment_methods/voucher.xml | 2 +- .../system/payment_methods/wechatpay.xml | 2 +- 38 files changed, 172 insertions(+), 115 deletions(-) diff --git a/Model/Adapter/BuckarooAdapter.php b/Model/Adapter/BuckarooAdapter.php index 5d19b575d..311f89dae 100644 --- a/Model/Adapter/BuckarooAdapter.php +++ b/Model/Adapter/BuckarooAdapter.php @@ -22,18 +22,24 @@ namespace Buckaroo\Magento2\Model\Adapter; use Buckaroo\BuckarooClient; -use Buckaroo\Config\DefaultConfig; use Buckaroo\Config\Config; +use Buckaroo\Config\DefaultConfig; use Buckaroo\Exceptions\BuckarooException; use Buckaroo\Handlers\Reply\ReplyHandler; +use Buckaroo\Magento2\Exception; use Buckaroo\Magento2\Gateway\Request\CreditManagement\BuilderComposite; use Buckaroo\Magento2\Logging\BuckarooLoggerInterface; +use Buckaroo\Magento2\Model\Config\Source\Enablemode; use Buckaroo\Magento2\Model\ConfigProvider\Account; +use Buckaroo\Magento2\Model\ConfigProvider\Factory as ConfigProviderFactory; +use Buckaroo\Magento2\Model\ConfigProvider\Method\AbstractConfigProvider; use Buckaroo\Magento2\Service\Software\Data; +use Buckaroo\PaymentMethods\CreditManagement\CreditManagement; use Buckaroo\Transaction\Response\TransactionResponse; use Magento\Framework\App\ProductMetadataInterface; use Magento\Framework\Encryption\Encryptor; use Magento\Framework\Locale\Resolver; +use Magento\Store\Model\StoreManagerInterface; /** * @SuppressWarnings(PHPMD.CouplingBetweenObjects) @@ -58,43 +64,53 @@ class BuckarooAdapter /** * @var array|null */ - private array $mapPaymentMethods; + private ?array $mapPaymentMethods; + + /** + * @var ConfigProviderFactory + */ + private ConfigProviderFactory $configProviderFactory; + + /** + * @var ProductMetadataInterface + */ + private ProductMetadataInterface $productMetadata; + + /** + * @var Resolver + */ + private Resolver $localeResolver; /** - * @param Account $configProviderAccount + * @var StoreManagerInterface + */ + private StoreManagerInterface $storeManager; + + /** + * @param ConfigProviderFactory $configProviderFactory * @param Encryptor $encryptor * @param BuckarooLoggerInterface $logger * @param ProductMetadataInterface $productMetadata * @param Resolver $localeResolver + * @param StoreManagerInterface $storeManager * @param array|null $mapPaymentMethods - * @throws \Exception */ public function __construct( - Account $configProviderAccount, + ConfigProviderFactory $configProviderFactory, Encryptor $encryptor, BuckarooLoggerInterface $logger, ProductMetadataInterface $productMetadata, Resolver $localeResolver, + StoreManagerInterface $storeManager, array $mapPaymentMethods = null ) { $this->mapPaymentMethods = $mapPaymentMethods; $this->logger = $logger; - - $this->buckaroo = new BuckarooClient(new DefaultConfig( - $encryptor->decrypt($configProviderAccount->getMerchantKey()), - $encryptor->decrypt($configProviderAccount->getSecretKey()), - $configProviderAccount->getActive() == 2 ? Config::LIVE_MODE : Config::TEST_MODE, - null, - null, - null, - null, - $productMetadata->getName() . ' - ' . $productMetadata->getEdition(), - $productMetadata->getVersion(), - 'Buckaroo', - 'Magento2', - Data::BUCKAROO_VERSION, - str_replace('_', '-', $localeResolver->getLocale()) - )); + $this->configProviderFactory = $configProviderFactory; + $this->encryptor = $encryptor; + $this->productMetadata = $productMetadata; + $this->localeResolver = $localeResolver; + $this->storeManager = $storeManager; } /** @@ -108,6 +124,7 @@ public function __construct( */ public function execute(string $action, string $method, array $data): TransactionResponse { + $this->setClientSdk($method); $payment = $this->buckaroo->method($this->getMethodName($method)); try { @@ -137,24 +154,54 @@ public function execute(string $action, string $method, array $data): Transactio } /** - * Get ideal issuers + * Set Client SDK base on account configuration and payment method configuration * - * @return array - * @throws \Throwable + * @throws \Exception */ - public function getIdealIssuers(): array + private function setClientSdk($paymentMethod = null): void { - try { - return $this->buckaroo->method('ideal')->issuers(); - } catch (\Throwable $th) { - $this->logger->addError(sprintf( - '[SDK] | [Adapter] | [%s:%s] - Get ideal issuers | [ERROR]: %s', - __METHOD__, - __LINE__, - $th->getMessage() - )); - return []; + /** @var Account $configProviderAccount */ + $configProviderAccount = $this->configProviderFactory->get('account'); + $storeId = $this->storeManager->getStore()->getId(); + $clientMode = Config::TEST_MODE; + $accountMode = $configProviderAccount->getActive($storeId); + + if ($accountMode == Enablemode::ENABLE_OFF) { + throw new Exception(__('The Buckaroo Module is OFF')); + } + + if ($accountMode == Enablemode::ENABLE_LIVE) { + $clientMode = Config::LIVE_MODE; + + if ($paymentMethod) { + /** @var AbstractConfigProvider $configProviderPaymentMethod */ + $configProviderPaymentMethod = $this->configProviderFactory->get($paymentMethod); + $isActivePaymentMethod = $configProviderPaymentMethod->getActive($storeId); + if ($isActivePaymentMethod == Enablemode::ENABLE_OFF) { + throw new Exception(__('Payment method: %s is not active', $paymentMethod)); + } + + if ($isActivePaymentMethod == Enablemode::ENABLE_TEST) { + $clientMode = Config::TEST_MODE; + } + } } + + $this->buckaroo = new BuckarooClient(new DefaultConfig( + $this->encryptor->decrypt($configProviderAccount->getMerchantKey()), + $this->encryptor->decrypt($configProviderAccount->getSecretKey()), + $clientMode, + null, + null, + null, + null, + $this->productMetadata->getName() . ' - ' . $this->productMetadata->getEdition(), + $this->productMetadata->getVersion(), + 'Buckaroo', + 'Magento2', + Data::BUCKAROO_VERSION, + str_replace('_', '-', $this->localeResolver->getLocale()) + )); } /** @@ -187,7 +234,7 @@ protected function isCreditManagementOfType(array $data, string $type): bool * Get credit management body * * @param array $data - * @return TransactionResponse|Buckaroo\PaymentMethods\CreditManagement\CreditManagement + * @return TransactionResponse|CreditManagement */ protected function getCreditManagementBody(array $data) { @@ -213,6 +260,28 @@ protected function createCreditNote(array $data, string $type = BuilderComposite ); } + /** + * Get ideal issuers + * + * @return array + * @throws \Throwable + */ + public function getIdealIssuers(): array + { + try { + $this->setClientSdk(); + return $this->buckaroo->method('ideal')->issuers(); + } catch (\Throwable $th) { + $this->logger->addError(sprintf( + '[SDK] | [Adapter] | [%s:%s] - Get ideal issuers | [ERROR]: %s', + __METHOD__, + __LINE__, + $th->getMessage() + )); + return []; + } + } + /** * Validate request * @@ -221,6 +290,7 @@ protected function createCreditNote(array $data, string $type = BuilderComposite */ public function validate($postData, $authHeader, $uri): bool { + $this->setClientSdk(); $replyHandler = new ReplyHandler($this->buckaroo->client()->config(), $postData, $authHeader, $uri); $replyHandler->validate(); return $replyHandler->isValid(); diff --git a/Observer/SalesOrderShipmentAfter.php b/Observer/SalesOrderShipmentAfter.php index 521e37671..d65127d9e 100644 --- a/Observer/SalesOrderShipmentAfter.php +++ b/Observer/SalesOrderShipmentAfter.php @@ -26,10 +26,7 @@ use Buckaroo\Magento2\Model\Config\Source\InvoiceHandlingOptions; use Buckaroo\Magento2\Model\ConfigProvider\Account; use Buckaroo\Magento2\Model\ConfigProvider\Factory as ConfigProviderFactory; -use Buckaroo\Magento2\Model\ConfigProvider\Method\Afterpay20; -use Buckaroo\Magento2\Model\ConfigProvider\Method\Klarnakp; use Buckaroo\Magento2\Model\Method\BuckarooAdapter; -use Magento\Checkout\Model\ConfigProviderInterface; use Magento\Framework\DB\TransactionFactory; use Magento\Framework\Event\Observer; use Magento\Framework\Event\ObserverInterface; @@ -50,53 +47,43 @@ class SalesOrderShipmentAfter implements ObserverInterface { public const MODULE_ENABLED = 'sr_auto_invoice_shipment/settings/enabled'; - - /** - * @var Shipment - */ - private Shipment $shipment; - - /** - * @var Order - */ - private Order $order; - - /** - * @var OrderPaymentInterface|null - */ - private ?OrderPaymentInterface $payment; - /** * @var Data */ public Data $helper; - /** * * @var CollectionFactory */ protected $invoiceCollectionFactory; - /** * @var InvoiceService */ protected InvoiceService $invoiceService; - /** * @var ShipmentFactory */ protected ShipmentFactory $shipmentFactory; - /** * @var TransactionFactory */ protected TransactionFactory $transactionFactory; - /** * @var BuckarooLoggerInterface */ protected BuckarooLoggerInterface $logger; - + /** + * @var Shipment + */ + private Shipment $shipment; + /** + * @var Order + */ + private Order $order; + /** + * @var OrderPaymentInterface|null + */ + private ?OrderPaymentInterface $payment; /** * @var ConfigProviderFactory */ @@ -179,7 +166,7 @@ public function execute(Observer $observer) && $afterpayConfig->isInvoiceCreatedAfterShipment() && ($paymentMethod->getConfigPaymentAction() == 'authorize') ) { - $this->createInvoice( true); + $this->createInvoice(true); return; } @@ -259,6 +246,20 @@ private function createInvoice(bool $allowPartialsWithDiscount = false) return $invoice; } + /** + * Get shipped quantities + * + * @return array + */ + public function getQtys(): array + { + $qtys = []; + foreach ($this->shipment->getItems() as $items) { + $qtys[$items->getOrderItemId()] = $items->getQty(); + } + return $qtys; + } + /** * Create invoice after shipment for all buckaroo payment methods * @@ -269,11 +270,11 @@ private function createInvoice(bool $allowPartialsWithDiscount = false) */ public function createInvoiceGeneralSetting(): bool { - $this->logger->addDebug('[CREATE_INVOICE] | [Observer] | ['. __METHOD__ .':'. __LINE__ . '] - Save Invoice'); + $this->logger->addDebug('[CREATE_INVOICE] | [Observer] | [' . __METHOD__ . ':' . __LINE__ . '] - Save Invoice'); if (!$this->order->canInvoice() || $this->order->hasInvoices()) { $this->logger->addDebug( - '[CREATE_INVOICE] | [Observer] | ['. __METHOD__ .':'. __LINE__ . '] - Order can not be invoiced' + '[CREATE_INVOICE] | [Observer] | [' . __METHOD__ . ':' . __LINE__ . '] - Order can not be invoiced' ); return false; @@ -307,7 +308,7 @@ public function createInvoiceGeneralSetting(): bool if (!$invoice->getEmailSent() && $this->configAccount->getInvoiceEmail($this->order->getStore())) { $this->logger->addDebug( - '[CREATE_INVOICE] | [Observer] | ['. __METHOD__ .':'. __LINE__ . '] - Send Invoice Email ' + '[CREATE_INVOICE] | [Observer] | [' . __METHOD__ . ':' . __LINE__ . '] - Send Invoice Email ' ); $this->invoiceSender->send($invoice, true); } @@ -318,18 +319,4 @@ public function createInvoiceGeneralSetting(): bool return true; } - - /** - * Get shipped quantities - * - * @return array - */ - public function getQtys(): array - { - $qtys = []; - foreach ($this->shipment->getItems() as $items) { - $qtys[$items->getOrderItemId()] = $items->getQty(); - } - return $qtys; - } } diff --git a/etc/adminhtml/system/payment_methods/afterpay.xml b/etc/adminhtml/system/payment_methods/afterpay.xml index 46805badb..e5d4323af 100644 --- a/etc/adminhtml/system/payment_methods/afterpay.xml +++ b/etc/adminhtml/system/payment_methods/afterpay.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_afterpay/active diff --git a/etc/adminhtml/system/payment_methods/afterpay2.xml b/etc/adminhtml/system/payment_methods/afterpay2.xml index 3377b8c1b..de70c0522 100644 --- a/etc/adminhtml/system/payment_methods/afterpay2.xml +++ b/etc/adminhtml/system/payment_methods/afterpay2.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_afterpay2/active diff --git a/etc/adminhtml/system/payment_methods/afterpay20.xml b/etc/adminhtml/system/payment_methods/afterpay20.xml index 6551f8d55..d545aba1a 100644 --- a/etc/adminhtml/system/payment_methods/afterpay20.xml +++ b/etc/adminhtml/system/payment_methods/afterpay20.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_afterpay20/active diff --git a/etc/adminhtml/system/payment_methods/alipay.xml b/etc/adminhtml/system/payment_methods/alipay.xml index e4aeddfdc..30bde4fab 100644 --- a/etc/adminhtml/system/payment_methods/alipay.xml +++ b/etc/adminhtml/system/payment_methods/alipay.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_alipay/active diff --git a/etc/adminhtml/system/payment_methods/applepay.xml b/etc/adminhtml/system/payment_methods/applepay.xml index 1f48b59f7..a2a65568c 100644 --- a/etc/adminhtml/system/payment_methods/applepay.xml +++ b/etc/adminhtml/system/payment_methods/applepay.xml @@ -26,7 +26,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_applepay/active diff --git a/etc/adminhtml/system/payment_methods/belfius.xml b/etc/adminhtml/system/payment_methods/belfius.xml index 309307f3f..2a967bc9a 100644 --- a/etc/adminhtml/system/payment_methods/belfius.xml +++ b/etc/adminhtml/system/payment_methods/belfius.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_belfius/active diff --git a/etc/adminhtml/system/payment_methods/billink.xml b/etc/adminhtml/system/payment_methods/billink.xml index 36a894cd2..115fdaa58 100644 --- a/etc/adminhtml/system/payment_methods/billink.xml +++ b/etc/adminhtml/system/payment_methods/billink.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_billink/active diff --git a/etc/adminhtml/system/payment_methods/capayable_in3.xml b/etc/adminhtml/system/payment_methods/capayable_in3.xml index 258bc1e09..7f9d59cfd 100644 --- a/etc/adminhtml/system/payment_methods/capayable_in3.xml +++ b/etc/adminhtml/system/payment_methods/capayable_in3.xml @@ -26,7 +26,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_capayablein3/active diff --git a/etc/adminhtml/system/payment_methods/capayable_postpay.xml b/etc/adminhtml/system/payment_methods/capayable_postpay.xml index 301a415fb..468573c83 100644 --- a/etc/adminhtml/system/payment_methods/capayable_postpay.xml +++ b/etc/adminhtml/system/payment_methods/capayable_postpay.xml @@ -26,7 +26,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_capayablepostpay/active diff --git a/etc/adminhtml/system/payment_methods/creditcard.xml b/etc/adminhtml/system/payment_methods/creditcard.xml index 0ebdf2420..30b179e3a 100644 --- a/etc/adminhtml/system/payment_methods/creditcard.xml +++ b/etc/adminhtml/system/payment_methods/creditcard.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_creditcard/active diff --git a/etc/adminhtml/system/payment_methods/creditcards.xml b/etc/adminhtml/system/payment_methods/creditcards.xml index f38864ee9..f62050145 100644 --- a/etc/adminhtml/system/payment_methods/creditcards.xml +++ b/etc/adminhtml/system/payment_methods/creditcards.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_creditcards/active diff --git a/etc/adminhtml/system/payment_methods/creditclick.xml b/etc/adminhtml/system/payment_methods/creditclick.xml index 8abbfc400..fc3abce51 100644 --- a/etc/adminhtml/system/payment_methods/creditclick.xml +++ b/etc/adminhtml/system/payment_methods/creditclick.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_creditclick/active diff --git a/etc/adminhtml/system/payment_methods/eps.xml b/etc/adminhtml/system/payment_methods/eps.xml index 4fab4cdca..5e29c3bbb 100644 --- a/etc/adminhtml/system/payment_methods/eps.xml +++ b/etc/adminhtml/system/payment_methods/eps.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_eps/active diff --git a/etc/adminhtml/system/payment_methods/giftcards.xml b/etc/adminhtml/system/payment_methods/giftcards.xml index 1c662c39b..b80e4793a 100644 --- a/etc/adminhtml/system/payment_methods/giftcards.xml +++ b/etc/adminhtml/system/payment_methods/giftcards.xml @@ -27,7 +27,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_giftcards/active diff --git a/etc/adminhtml/system/payment_methods/giropay.xml b/etc/adminhtml/system/payment_methods/giropay.xml index ebf1e95f2..6e1950d97 100644 --- a/etc/adminhtml/system/payment_methods/giropay.xml +++ b/etc/adminhtml/system/payment_methods/giropay.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_giropay/active diff --git a/etc/adminhtml/system/payment_methods/ideal.xml b/etc/adminhtml/system/payment_methods/ideal.xml index c8be7d6cb..16bbdc7e5 100644 --- a/etc/adminhtml/system/payment_methods/ideal.xml +++ b/etc/adminhtml/system/payment_methods/ideal.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_ideal/active diff --git a/etc/adminhtml/system/payment_methods/idealprocessing.xml b/etc/adminhtml/system/payment_methods/idealprocessing.xml index 98cf4c03c..cae47b9ac 100644 --- a/etc/adminhtml/system/payment_methods/idealprocessing.xml +++ b/etc/adminhtml/system/payment_methods/idealprocessing.xml @@ -26,7 +26,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_idealprocessing/active diff --git a/etc/adminhtml/system/payment_methods/kbc.xml b/etc/adminhtml/system/payment_methods/kbc.xml index c724d0354..481b04fb6 100644 --- a/etc/adminhtml/system/payment_methods/kbc.xml +++ b/etc/adminhtml/system/payment_methods/kbc.xml @@ -26,7 +26,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_kbc/active diff --git a/etc/adminhtml/system/payment_methods/klarna.xml b/etc/adminhtml/system/payment_methods/klarna.xml index 5fe3da098..fde867e90 100644 --- a/etc/adminhtml/system/payment_methods/klarna.xml +++ b/etc/adminhtml/system/payment_methods/klarna.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_klarna/active diff --git a/etc/adminhtml/system/payment_methods/klarnain.xml b/etc/adminhtml/system/payment_methods/klarnain.xml index 3fe043ee3..28a4bac1d 100644 --- a/etc/adminhtml/system/payment_methods/klarnain.xml +++ b/etc/adminhtml/system/payment_methods/klarnain.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_klarnain/active diff --git a/etc/adminhtml/system/payment_methods/klarnakp.xml b/etc/adminhtml/system/payment_methods/klarnakp.xml index e84c5cbe8..50172b1d6 100644 --- a/etc/adminhtml/system/payment_methods/klarnakp.xml +++ b/etc/adminhtml/system/payment_methods/klarnakp.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_klarnakp/active diff --git a/etc/adminhtml/system/payment_methods/mrcash.xml b/etc/adminhtml/system/payment_methods/mrcash.xml index fdc6d5fbe..309eaaa54 100644 --- a/etc/adminhtml/system/payment_methods/mrcash.xml +++ b/etc/adminhtml/system/payment_methods/mrcash.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_mrcash/active diff --git a/etc/adminhtml/system/payment_methods/p24.xml b/etc/adminhtml/system/payment_methods/p24.xml index fc4a87bd2..1146e7290 100644 --- a/etc/adminhtml/system/payment_methods/p24.xml +++ b/etc/adminhtml/system/payment_methods/p24.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_p24/active diff --git a/etc/adminhtml/system/payment_methods/paybybank.xml b/etc/adminhtml/system/payment_methods/paybybank.xml index e23727afa..882404d62 100644 --- a/etc/adminhtml/system/payment_methods/paybybank.xml +++ b/etc/adminhtml/system/payment_methods/paybybank.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_paybybank/active diff --git a/etc/adminhtml/system/payment_methods/payconiq.xml b/etc/adminhtml/system/payment_methods/payconiq.xml index d30c084b2..528c7efd0 100644 --- a/etc/adminhtml/system/payment_methods/payconiq.xml +++ b/etc/adminhtml/system/payment_methods/payconiq.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_payconiq/active diff --git a/etc/adminhtml/system/payment_methods/paylink.xml b/etc/adminhtml/system/payment_methods/paylink.xml index cef074984..9b3d8df1f 100644 --- a/etc/adminhtml/system/payment_methods/paylink.xml +++ b/etc/adminhtml/system/payment_methods/paylink.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_paylink/active diff --git a/etc/adminhtml/system/payment_methods/paypal.xml b/etc/adminhtml/system/payment_methods/paypal.xml index bd0557436..7e0758ede 100644 --- a/etc/adminhtml/system/payment_methods/paypal.xml +++ b/etc/adminhtml/system/payment_methods/paypal.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_paypal/active diff --git a/etc/adminhtml/system/payment_methods/payperemail.xml b/etc/adminhtml/system/payment_methods/payperemail.xml index 22f5a3335..2187bb34b 100644 --- a/etc/adminhtml/system/payment_methods/payperemail.xml +++ b/etc/adminhtml/system/payment_methods/payperemail.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_payperemail/active diff --git a/etc/adminhtml/system/payment_methods/pospayment.xml b/etc/adminhtml/system/payment_methods/pospayment.xml index 7b14bbd63..ef6651e1c 100644 --- a/etc/adminhtml/system/payment_methods/pospayment.xml +++ b/etc/adminhtml/system/payment_methods/pospayment.xml @@ -26,7 +26,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_pospayment/active diff --git a/etc/adminhtml/system/payment_methods/sepa_direct_debit.xml b/etc/adminhtml/system/payment_methods/sepa_direct_debit.xml index 23d86c6c9..cd0c2946d 100644 --- a/etc/adminhtml/system/payment_methods/sepa_direct_debit.xml +++ b/etc/adminhtml/system/payment_methods/sepa_direct_debit.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_sepadirectdebit/active diff --git a/etc/adminhtml/system/payment_methods/sofort_banking.xml b/etc/adminhtml/system/payment_methods/sofort_banking.xml index 7fd691db9..a6498cf8f 100644 --- a/etc/adminhtml/system/payment_methods/sofort_banking.xml +++ b/etc/adminhtml/system/payment_methods/sofort_banking.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_sofortbanking/active diff --git a/etc/adminhtml/system/payment_methods/tinka.xml b/etc/adminhtml/system/payment_methods/tinka.xml index 63d345b94..6a9ad1366 100644 --- a/etc/adminhtml/system/payment_methods/tinka.xml +++ b/etc/adminhtml/system/payment_methods/tinka.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_tinka/active diff --git a/etc/adminhtml/system/payment_methods/transfer.xml b/etc/adminhtml/system/payment_methods/transfer.xml index ac7e1f8a4..e45aa6d35 100644 --- a/etc/adminhtml/system/payment_methods/transfer.xml +++ b/etc/adminhtml/system/payment_methods/transfer.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_transfer/active diff --git a/etc/adminhtml/system/payment_methods/trustly.xml b/etc/adminhtml/system/payment_methods/trustly.xml index 7b37fa905..5a8158a6b 100644 --- a/etc/adminhtml/system/payment_methods/trustly.xml +++ b/etc/adminhtml/system/payment_methods/trustly.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_trustly/active diff --git a/etc/adminhtml/system/payment_methods/voucher.xml b/etc/adminhtml/system/payment_methods/voucher.xml index d6c8522ab..847a62a7a 100644 --- a/etc/adminhtml/system/payment_methods/voucher.xml +++ b/etc/adminhtml/system/payment_methods/voucher.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_voucher/active diff --git a/etc/adminhtml/system/payment_methods/wechatpay.xml b/etc/adminhtml/system/payment_methods/wechatpay.xml index ab4b71247..814aa9b8e 100644 --- a/etc/adminhtml/system/payment_methods/wechatpay.xml +++ b/etc/adminhtml/system/payment_methods/wechatpay.xml @@ -28,7 +28,7 @@ - Magento\Config\Model\Config\Source\Yesno + Buckaroo\Magento2\Model\Config\Source\Enablemode payment/buckaroo_magento2_wechatpay/active From ce4dac5ac0b4b86f7cadef5b5f9c80d3ded7adff Mon Sep 17 00:00:00 2001 From: Lucian Turiac Date: Wed, 18 Oct 2023 10:13:00 +0300 Subject: [PATCH 3/3] BP-1488 - have one single config that set the client mode - code review --- Model/Adapter/BuckarooAdapter.php | 48 ++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/Model/Adapter/BuckarooAdapter.php b/Model/Adapter/BuckarooAdapter.php index 311f89dae..c21009e1f 100644 --- a/Model/Adapter/BuckarooAdapter.php +++ b/Model/Adapter/BuckarooAdapter.php @@ -163,8 +163,38 @@ private function setClientSdk($paymentMethod = null): void /** @var Account $configProviderAccount */ $configProviderAccount = $this->configProviderFactory->get('account'); $storeId = $this->storeManager->getStore()->getId(); - $clientMode = Config::TEST_MODE; $accountMode = $configProviderAccount->getActive($storeId); + $clientMode = $this->getClientMode($accountMode, $storeId, $paymentMethod); + + $this->buckaroo = new BuckarooClient(new DefaultConfig( + $this->encryptor->decrypt($configProviderAccount->getMerchantKey()), + $this->encryptor->decrypt($configProviderAccount->getSecretKey()), + $clientMode, + null, + null, + null, + null, + $this->productMetadata->getName() . ' - ' . $this->productMetadata->getEdition(), + $this->productMetadata->getVersion(), + 'Buckaroo', + 'Magento2', + Data::BUCKAROO_VERSION, + str_replace('_', '-', $this->localeResolver->getLocale()) + )); + } + + /** + * Get client mode base on account mode and payment method mode + * + * @param int $accountMode + * @param int $storeId + * @param string $paymentMethod + * @return string + * @throws Exception + */ + private function getClientMode(int $accountMode, int $storeId, string $paymentMethod): string + { + $clientMode = Config::TEST_MODE; if ($accountMode == Enablemode::ENABLE_OFF) { throw new Exception(__('The Buckaroo Module is OFF')); @@ -187,21 +217,7 @@ private function setClientSdk($paymentMethod = null): void } } - $this->buckaroo = new BuckarooClient(new DefaultConfig( - $this->encryptor->decrypt($configProviderAccount->getMerchantKey()), - $this->encryptor->decrypt($configProviderAccount->getSecretKey()), - $clientMode, - null, - null, - null, - null, - $this->productMetadata->getName() . ' - ' . $this->productMetadata->getEdition(), - $this->productMetadata->getVersion(), - 'Buckaroo', - 'Magento2', - Data::BUCKAROO_VERSION, - str_replace('_', '-', $this->localeResolver->getLocale()) - )); + return $clientMode; } /**