From 23acce0a4e7a76310cbda480dd9f24b33852fad6 Mon Sep 17 00:00:00 2001 From: "(AJ) Zin Kyaw Kyaw" <108650842+ajzkk@users.noreply.github.com> Date: Tue, 19 Sep 2023 15:51:10 +0630 Subject: [PATCH] Add OCBC Digital Payment (#443) * add ocbc digital payment * fix typo * add test for ocbc digital * update coverage info * resize ocbc pao image --- Cron/OrderSyncStatus.php | 1 + Gateway/Request/APMBuilder.php | 7 ++ Helper/OmiseHelper.php | 4 + Model/Config/OcbcDigital.php | 18 +++++ Test/Unit/OcbcDigitalAPMBuilderTest.php | 74 ++++++++++++++++++ etc/adminhtml/system.xml | 29 +++++++ etc/config.xml | 14 ++++ etc/di.xml | 48 ++++++++++++ view/frontend/layout/checkout_index_index.xml | 3 + view/frontend/web/css/styles.css | 11 ++- view/frontend/web/images/ocbc_digital.png | Bin 0 -> 1868 bytes view/frontend/web/images/ocbc_pao.png | Bin 5789 -> 3373 bytes .../omise-offsite-ocbc-digital-method.js | 33 ++++++++ .../omise-offsite-ocbcpao-method.js | 6 +- 14 files changed, 244 insertions(+), 4 deletions(-) create mode 100644 Model/Config/OcbcDigital.php create mode 100644 Test/Unit/OcbcDigitalAPMBuilderTest.php create mode 100644 view/frontend/web/images/ocbc_digital.png create mode 100644 view/frontend/web/js/view/payment/method-renderer/omise-offsite-ocbc-digital-method.js diff --git a/Cron/OrderSyncStatus.php b/Cron/OrderSyncStatus.php index ac0d4d6fc..41e6ccb23 100644 --- a/Cron/OrderSyncStatus.php +++ b/Cron/OrderSyncStatus.php @@ -34,6 +34,7 @@ class OrderSyncStatus "omise_offsite_mobilebanking", "omise_offsite_rabbitlinepay", "omise_offsite_ocbcpao", + "omise_offsite_ocbc_digital", "omise_offsite_grabpay", "omise_offsite_boost", "omise_offsite_duitnowobw", diff --git a/Gateway/Request/APMBuilder.php b/Gateway/Request/APMBuilder.php index 59beffdd7..82d106d24 100644 --- a/Gateway/Request/APMBuilder.php +++ b/Gateway/Request/APMBuilder.php @@ -13,6 +13,7 @@ use Omise\Payment\Model\Config\Paynow; use Omise\Payment\Model\Config\Grabpay; use Omise\Payment\Model\Config\Ocbcpao; +use Omise\Payment\Model\Config\OcbcDigital; use Omise\Payment\Model\Config\Touchngo; use Omise\Payment\Helper\ReturnUrlHelper; use Omise\Payment\Model\Config\DuitnowQR; @@ -278,6 +279,12 @@ public function build(array $buildSubject) self::PLATFORM_TYPE => $this->helper->getPlatformType(), ]; break; + case OcbcDigital::CODE: + $paymentInfo[self::SOURCE] = [ + self::SOURCE_TYPE => OcbcDigital::ID, + self::PLATFORM_TYPE => $this->helper->getPlatformType(), + ]; + break; case Grabpay::CODE: $paymentInfo[self::SOURCE] = [ self::SOURCE_TYPE => 'grabpay', diff --git a/Helper/OmiseHelper.php b/Helper/OmiseHelper.php index 7d747dc8c..2caa7bd4d 100644 --- a/Helper/OmiseHelper.php +++ b/Helper/OmiseHelper.php @@ -20,6 +20,7 @@ use Magento\Store\Model\ScopeInterface; use Omise\Payment\Model\Config\Grabpay; use Omise\Payment\Model\Config\Ocbcpao; +use Omise\Payment\Model\Config\OcbcDigital; use Omise\Payment\Model\Config\Touchngo; use Omise\Payment\Model\Config\DuitnowQR; use Omise\Payment\Model\Config\MaybankQR; @@ -64,6 +65,7 @@ class OmiseHelper extends AbstractHelper Mobilebanking::CODE, Rabbitlinepay::CODE, Ocbcpao::CODE, + OcbcDigital::CODE, Grabpay::CODE, Boost::CODE, DuitnowOBW::CODE, @@ -130,6 +132,7 @@ class OmiseHelper extends AbstractHelper Touchngo::ID => Touchngo::CODE, Rabbitlinepay::ID => Rabbitlinepay::CODE, Ocbcpao::ID => Ocbcpao::CODE, + OcbcDigital::ID => OcbcDigital::CODE, Grabpay::ID => Grabpay::CODE, Boost::ID => Boost::CODE, DuitnowOBW::ID => DuitnowOBW::CODE, @@ -196,6 +199,7 @@ class OmiseHelper extends AbstractHelper Mobilebanking::CODE => "Mobile Banking Payment", Rabbitlinepay::CODE => "Rabbit LINE Pay Payment", Ocbcpao::CODE => "OCBC Pay Anyone Payment", + OcbcDigital::CODE => "OCBC Digital Payment", Grabpay::CODE => "GrabPay Payment", Boost::CODE => "Boost Payment", DuitnowOBW::CODE => "DuitNow Online Banking/Wallets Payment", diff --git a/Model/Config/OcbcDigital.php b/Model/Config/OcbcDigital.php new file mode 100644 index 000000000..d4b46b4b2 --- /dev/null +++ b/Model/Config/OcbcDigital.php @@ -0,0 +1,18 @@ +helper = $this->getMockBuilder(OmiseHelper::class)->disableOriginalConstructor()->getMock(); + $this->returnUrlHelper = $this->getMockBuilder(ReturnUrlHelper::class)->disableOriginalConstructor()->getMock(); + $this->config = $this->getMockBuilder(Config::class)->disableOriginalConstructor()->getMock(); + $this->capabilities = $this->getMockBuilder(Capabilities::class)->disableOriginalConstructor()->getMock(); + $this->orderMock = $this->getMockBuilder(OrderAdapterInterface::class)->getMock(); + $this->infoMock = $this->getMockBuilder(InfoMock::class)->getMock(); + } + + /** + * @covers Omise\Payment\Gateway\Request\APMBuilder + * @covers Omise\Payment\Model\Config\OcbcDigital + */ + public function testApmBuilder() + { + $this->infoMock->method('getMethod')->willReturn(OcbcDigital::CODE); + $this->returnUrlHelper->method('create')->willReturn([ + 'url' => 'https://omise.co/complete', + 'token' => '1234' + ]); + + $this->builder = new APMBuilder( + $this->helper, + $this->returnUrlHelper, + $this->config, + $this->capabilities, + new OmiseMoney(), + ); + + $result = $this->builder->build(['payment' => new PaymentDataObject( + $this->orderMock, + $this->infoMock + )]); + + $this->assertEquals('mobile_banking_ocbc', $result['source']['type']); + $this->assertEquals('https://omise.co/complete', $result['return_uri']); + } + + /** + * @covers Omise\Payment\Model\Config\OcbcDigital + */ + public function testConstants() + { + $this->assertEquals('omise_offsite_ocbc_digital', OcbcDigital::CODE); + $this->assertEquals('mobile_banking_ocbc', OcbcDigital::ID); + } +} diff --git a/etc/adminhtml/system.xml b/etc/adminhtml/system.xml index daae14e58..30ae13f54 100644 --- a/etc/adminhtml/system.xml +++ b/etc/adminhtml/system.xml @@ -659,6 +659,35 @@ + + + Enable customers to pay using OCBC Digital payment method + + + Enable OCBC Digital payment method. + Magento\Config\Model\Config\Source\Yesno + payment/omise_offsite_ocbc_digital/active + + + + This controls the title which the user sees during checkout. + payment/omise_offsite_ocbc_digital/title + + + + payment/omise_offsite_ocbc_digital/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_ocbc_digital/specificcountry + Magento\Directory\Model\Config\Source\Country + + 1 + + + Enable customers to pay using GrabPay payment method diff --git a/etc/config.xml b/etc/config.xml index c8ebef14c..3d5a1a6d3 100644 --- a/etc/config.xml +++ b/etc/config.xml @@ -300,6 +300,20 @@ authorize_capture + + 0 + OCBC Digital + OmiseOcbcDigitalAdapter + 1 + 1 + 1 + 1 + 1 + 1 + 1 + authorize_capture + + 0 GrabPay diff --git a/etc/di.xml b/etc/di.xml index 002f90b16..ee3bdf370 100644 --- a/etc/di.xml +++ b/etc/di.xml @@ -863,6 +863,54 @@ + + + + + Omise\Payment\Model\Config\OcbcDigital::CODE + Magento\Payment\Block\Form + Magento\Payment\Block\Info + OmiseAPMOcbcDigitalValueHandlerPool + OmiseAPMOcbcDigitalValidatorPool + OmiseAPMCommandPool + + + + + + + + OmiseAPMOcbcDigitalConfigValueHandler + + + + + + + + OmiseAPMOcbcDigitalCountryValidator + + + + + + + OmiseAPMOcbcDigitalConfig + + + + + + OmiseAPMOcbcDigitalConfig + + + + + + Omise\Payment\Model\Config\OcbcDigital::CODE + + + diff --git a/view/frontend/layout/checkout_index_index.xml b/view/frontend/layout/checkout_index_index.xml index 79a1d1549..5137ae90e 100644 --- a/view/frontend/layout/checkout_index_index.xml +++ b/view/frontend/layout/checkout_index_index.xml @@ -86,6 +86,9 @@ true + + true + true diff --git a/view/frontend/web/css/styles.css b/view/frontend/web/css/styles.css index 9768f6c83..4f0722293 100644 --- a/view/frontend/web/css/styles.css +++ b/view/frontend/web/css/styles.css @@ -162,7 +162,16 @@ /** OCBC PAO **/ div.ocbc_pao { - background-image: url('../images/payment_ocbc_pao.png'); + background-image: url('../images/ocbc_pao.png'); + width: 30px; + height: 30px; + float: right; + background-size: contain; + background-repeat: no-repeat; +} + +div.ocbc_digital { + background-image: url('../images/ocbc_digital.png'); width: 30px; height: 30px; float: right; diff --git a/view/frontend/web/images/ocbc_digital.png b/view/frontend/web/images/ocbc_digital.png new file mode 100644 index 0000000000000000000000000000000000000000..699b34bb3afe99f172c99a46191431d624b5e2d7 GIT binary patch literal 1868 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 b0m1(R)W=G;;x+PY00000NkvXXu0mjfIPf%R diff --git a/view/frontend/web/js/view/payment/method-renderer/omise-offsite-ocbc-digital-method.js b/view/frontend/web/js/view/payment/method-renderer/omise-offsite-ocbc-digital-method.js new file mode 100644 index 000000000..862da171a --- /dev/null +++ b/view/frontend/web/js/view/payment/method-renderer/omise-offsite-ocbc-digital-method.js @@ -0,0 +1,33 @@ +define( + [ + 'ko', + 'Omise_Payment/js/view/payment/omise-offsite-method-renderer', + 'Magento_Checkout/js/view/payment/default', + 'Magento_Checkout/js/model/quote', + ], + function ( + ko, + Base, + Component, + quote + ) { + 'use strict'; + + return Component.extend(Base).extend({ + defaults: { + template: 'Omise_Payment/payment/offsite-common-form' + }, + + isPlaceOrderActionAllowed: ko.observable(quote.billingAddress() != null), + + code: 'omise_offsite_ocbc_digital', + restrictedToCurrencies: ['sgd'], + logo: { + file: "images/ocbc_digital.png", + width: "80", + height: "30", + name: "ocbc_digital" + } + }); + } +); diff --git a/view/frontend/web/js/view/payment/method-renderer/omise-offsite-ocbcpao-method.js b/view/frontend/web/js/view/payment/method-renderer/omise-offsite-ocbcpao-method.js index 5d3fbc209..4d92c4146 100644 --- a/view/frontend/web/js/view/payment/method-renderer/omise-offsite-ocbcpao-method.js +++ b/view/frontend/web/js/view/payment/method-renderer/omise-offsite-ocbcpao-method.js @@ -23,9 +23,9 @@ define( code: 'omise_offsite_ocbcpao', restrictedToCurrencies: ['sgd'], logo: { - file: "images/payment_ocbc_pao.png", - width: "80", - height: "32", + file: "images/ocbc_pao.png", + width: "30", + height: "30", name: "ocbcpao" } });