From 1f6ba223f2855ce296bbe2f847c6fe53ce2bc080 Mon Sep 17 00:00:00 2001 From: RokPopov Date: Tue, 11 Oct 2022 13:54:30 +0200 Subject: [PATCH 1/4] setup add tokenization for twint --- .../PaymentMethods/PaymentMethodFactory.php | 2 + Helper/PaymentMethods/TwintPaymentMethod.php | 58 +++++++++++++++++++ .../Config/Source/TokenizedPaymentMethods.php | 4 ++ 3 files changed, 64 insertions(+) create mode 100644 Helper/PaymentMethods/TwintPaymentMethod.php diff --git a/Helper/PaymentMethods/PaymentMethodFactory.php b/Helper/PaymentMethods/PaymentMethodFactory.php index 32497defb..2b3fa77e8 100644 --- a/Helper/PaymentMethods/PaymentMethodFactory.php +++ b/Helper/PaymentMethods/PaymentMethodFactory.php @@ -42,6 +42,8 @@ public static function createAdyenPaymentMethod(string $txVariant): PaymentMetho return new AmazonPayPaymentMethod($txVariantObject->getCard()); case GooglePayPaymentMethod::TX_VARIANT: return new GooglePayPaymentMethod($txVariantObject->getCard()); + case TwintPaymentMethod::TX_VARIANT: + return new TwintPaymentMethod($txVariantObject->getCard()); default: $message = sprintf('Unknown txVariant: %s', $txVariant); self::$adyenLogger->debug($message); diff --git a/Helper/PaymentMethods/TwintPaymentMethod.php b/Helper/PaymentMethods/TwintPaymentMethod.php new file mode 100644 index 000000000..c31f04f71 --- /dev/null +++ b/Helper/PaymentMethods/TwintPaymentMethod.php @@ -0,0 +1,58 @@ + + */ +namespace Adyen\Payment\Helper\PaymentMethods; + +class TwintPaymentMethod implements PaymentMethodInterface +{ + const TX_VARIANT = 'twint'; + const NAME = 'TWINT'; + + public function getTxVariant(): string + { + return self::TX_VARIANT; + } + + public function getPaymentMethodName(): string + { + return self::NAME; + } + + public function supportsRecurring(): bool + { + return true; + } + + public function supportsManualCapture(): bool + { + return true; + } + + public function supportsAutoCapture(): bool + { + return true; + } + + public function supportsCardOnFile(): bool + { + return false; + } + + public function supportsSubscription(): bool + { + return true; + } + + public function supportsUnscheduledCardOnFile(): bool + { + return true; + } +} diff --git a/Model/Config/Source/TokenizedPaymentMethods.php b/Model/Config/Source/TokenizedPaymentMethods.php index 0af6ee7ca..20a6708dc 100644 --- a/Model/Config/Source/TokenizedPaymentMethods.php +++ b/Model/Config/Source/TokenizedPaymentMethods.php @@ -34,6 +34,10 @@ public function toOptionArray() 'value' => PaymentMethods\SepaPaymentMethod::TX_VARIANT, 'label' => PaymentMethods\SepaPaymentMethod::NAME ], + [ + 'value' => PaymentMethods\TwintPaymentMethod::TX_VARIANT, + 'label' => PaymentMethods\TwintPaymentMethod::NAME + ] ]; } } From ee2c0600537bcbc43c428d83d85e6581282a1f78 Mon Sep 17 00:00:00 2001 From: RokPopov Date: Tue, 11 Oct 2022 15:14:37 +0200 Subject: [PATCH 2/4] remove passing of the object --- Helper/PaymentMethods/PaymentMethodFactory.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Helper/PaymentMethods/PaymentMethodFactory.php b/Helper/PaymentMethods/PaymentMethodFactory.php index 2b3fa77e8..db4bd7d3d 100644 --- a/Helper/PaymentMethods/PaymentMethodFactory.php +++ b/Helper/PaymentMethods/PaymentMethodFactory.php @@ -43,7 +43,7 @@ public static function createAdyenPaymentMethod(string $txVariant): PaymentMetho case GooglePayPaymentMethod::TX_VARIANT: return new GooglePayPaymentMethod($txVariantObject->getCard()); case TwintPaymentMethod::TX_VARIANT: - return new TwintPaymentMethod($txVariantObject->getCard()); + return new TwintPaymentMethod(); default: $message = sprintf('Unknown txVariant: %s', $txVariant); self::$adyenLogger->debug($message); From 3ea59f05b1a1788421f6970e2837656c7fd1029e Mon Sep 17 00:00:00 2001 From: RokPopov Date: Fri, 14 Oct 2022 15:42:30 +0200 Subject: [PATCH 3/4] comment out Twint from admin panel conf due to an issue on LPM end --- Model/Config/Source/TokenizedPaymentMethods.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Model/Config/Source/TokenizedPaymentMethods.php b/Model/Config/Source/TokenizedPaymentMethods.php index 20a6708dc..3fcb36512 100644 --- a/Model/Config/Source/TokenizedPaymentMethods.php +++ b/Model/Config/Source/TokenizedPaymentMethods.php @@ -33,11 +33,12 @@ public function toOptionArray() [ 'value' => PaymentMethods\SepaPaymentMethod::TX_VARIANT, 'label' => PaymentMethods\SepaPaymentMethod::NAME - ], - [ + ] + /** TODO: Enable recurring for Twint once the issue fixed on LPM side */ + /*[ 'value' => PaymentMethods\TwintPaymentMethod::TX_VARIANT, 'label' => PaymentMethods\TwintPaymentMethod::NAME - ] + ]*/ ]; } } From 4d9038893fb3be2f2b3cac63ce292e1335f9adae Mon Sep 17 00:00:00 2001 From: RokPopov Date: Fri, 14 Oct 2022 18:19:03 +0200 Subject: [PATCH 4/4] remove comment --- Model/Config/Source/TokenizedPaymentMethods.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Model/Config/Source/TokenizedPaymentMethods.php b/Model/Config/Source/TokenizedPaymentMethods.php index 3fcb36512..20a6708dc 100644 --- a/Model/Config/Source/TokenizedPaymentMethods.php +++ b/Model/Config/Source/TokenizedPaymentMethods.php @@ -33,12 +33,11 @@ public function toOptionArray() [ 'value' => PaymentMethods\SepaPaymentMethod::TX_VARIANT, 'label' => PaymentMethods\SepaPaymentMethod::NAME - ] - /** TODO: Enable recurring for Twint once the issue fixed on LPM side */ - /*[ + ], + [ 'value' => PaymentMethods\TwintPaymentMethod::TX_VARIANT, 'label' => PaymentMethods\TwintPaymentMethod::NAME - ]*/ + ] ]; } }