From 719877297091bb595322bb6a8a7cc8f40d11d324 Mon Sep 17 00:00:00 2001 From: Nuryagdy Mustapayev Date: Wed, 22 May 2024 17:17:46 +0200 Subject: [PATCH] add payment model into dispatched events --- docs/THREED-PAYMENT-EXAMPLE.md | 37 ++++++++++--------- examples/_common-codes/3d-host/index.php | 5 ++- .../_templates/_payment_secure_response.php | 8 ++-- 3 files changed, 27 insertions(+), 23 deletions(-) diff --git a/docs/THREED-PAYMENT-EXAMPLE.md b/docs/THREED-PAYMENT-EXAMPLE.md index 3ed6b27c..c2ef4725 100644 --- a/docs/THREED-PAYMENT-EXAMPLE.md +++ b/docs/THREED-PAYMENT-EXAMPLE.md @@ -152,22 +152,23 @@ try { */ $eventDispatcher->addListener(Before3DFormHashCalculatedEvent::class, function (Before3DFormHashCalculatedEvent $event): void { if ($event->getGatewayClass() === \Mews\Pos\Gateways\EstPos::class || $event->getGatewayClass() === \Mews\Pos\Gateways\EstV3Pos::class) { - /** - * Örnek 1: İşbank İmece Kart ile ödeme yaparken aşağıdaki verilerin eklenmesi gerekiyor: - $supportedPaymentModels = [ - \Mews\Pos\Gateways\PosInterface::MODEL_3D_PAY, - \Mews\Pos\Gateways\PosInterface::MODEL_3D_PAY_HOSTING, - \Mews\Pos\Gateways\PosInterface::MODEL_3D_HOST, - ]; - if ($event->getTxType() === \Mews\Pos\PosInterface::TX_TYPE_PAY_AUTH && in_array($event->getPaymentModel(), $supportedPaymentModels, true)) { - $formInputs = $event->getFormInputs(); - $formInputs['IMCKOD'] = '9999'; // IMCKOD bilgisi bankadan alınmaktadır. - $formInputs['FDONEM'] = '5'; // Ödemenin faizsiz ertelenmesini istediğiniz dönem sayısı. - $event->setFormInputs($formInputs); - }*/ - + // if ($event->getGatewayClass() !== \Mews\Pos\Gateways\EstV3Pos::class || $event->getGatewayClass() !== \Mews\Pos\Gateways\EstPos::class) { + // return; + // } + // // Örneğin İşbank İmece Kart ile ödeme yaparken aşağıdaki verilerin eklenmesi gerekiyor: + // $supportedPaymentModels = [ + // \Mews\Pos\PosInterface::MODEL_3D_PAY, + // \Mews\Pos\PosInterface::MODEL_3D_PAY_HOSTING, + // \Mews\Pos\PosInterface::MODEL_3D_HOST, + // ]; + // if ($event->getTxType() === PosInterface::TX_TYPE_PAY_AUTH && in_array($event->getPaymentModel(), $supportedPaymentModels, true)) { + // $formInputs = $event->getFormInputs(); + // $formInputs['IMCKOD'] = '9999'; // IMCKOD bilgisi bankadan alınmaktadır. + // $formInputs['FDONEM'] = '5'; // Ödemenin faizsiz ertelenmesini istediğiniz dönem sayısı. + // $event->setFormInputs($formInputs); + // } } - if (get_class($pos) === \Mews\Pos\Gateways\EstV3Pos::class) { + if ($event->getGatewayClass() === \Mews\Pos\Gateways\EstV3Pos::class) { // Örnek 2: callbackUrl eklenmesi // $formInputs = $event->getFormInputs(); // $formInputs['callbackUrl'] = $formInputs['failUrl']; @@ -274,9 +275,9 @@ if (\Mews\Pos\PosInterface::MODEL_3D_HOST !== $paymentModel) { // OZEL DURUMLAR ICIN KODLAR START // ============================================================================================ -// //Isbank İMECE kart ile MODEL_3D_SECURE yöntemiyle ödeme için ekstra alanların eklenme örneği -// $eventDispatcher->addListener(RequestDataPreparedEvent::class, function (RequestDataPreparedEvent $event) use ($paymentModel) { -// if ($event->getTxType() === \Mews\Pos\PosInterface::TX_TYPE_PAY_AUTH && \Mews\Pos\PosInterface::MODEL_3D_SECURE === $paymentModel) { +// // Isbank İMECE için ekstra alanların eklenme örneği +// $eventDispatcher->addListener(RequestDataPreparedEvent::class, function (RequestDataPreparedEvent $event) { +// if ($event->getPaymentModel() === PosInterface::MODEL_3D_SECURE && $event->getTxType() === PosInterface::TX_TYPE_PAY_AUTH) { // $data = $event->getRequestData(); // $data['Extra']['IMCKOD'] = '9999'; // IMCKOD bilgisi bankadan alınmaktadır. // $data['Extra']['FDONEM'] = '5'; // Ödemenin faizsiz ertelenmesini istediğiniz dönem sayısı diff --git a/examples/_common-codes/3d-host/index.php b/examples/_common-codes/3d-host/index.php index 1e86d75a..e288e639 100644 --- a/examples/_common-codes/3d-host/index.php +++ b/examples/_common-codes/3d-host/index.php @@ -48,7 +48,10 @@ * Bu Event'i dinleyerek 3D formun hash verisi hesaplanmadan önce formun input array içireğini güncelleyebilirsiniz. */ $eventDispatcher->addListener(Before3DFormHashCalculatedEvent::class, function (Before3DFormHashCalculatedEvent $event) { - // Örneğin İşbank İmece Kart ile ödeme yaparken aşağıdaki verilerin eklenmesi gerekiyor: +// if ($event->getGatewayClass() !== \Mews\Pos\Gateways\EstV3Pos::class || $event->getGatewayClass() !== \Mews\Pos\Gateways\EstPos::class) { +// return; +// } +// // Örneğin İşbank İmece Kart ile ödeme yaparken aşağıdaki verilerin eklenmesi gerekiyor: // $supportedPaymentModels = [ // \Mews\Pos\PosInterface::MODEL_3D_PAY, // \Mews\Pos\PosInterface::MODEL_3D_PAY_HOSTING, diff --git a/examples/_templates/_payment_secure_response.php b/examples/_templates/_payment_secure_response.php index d57328bc..714858b0 100644 --- a/examples/_templates/_payment_secure_response.php +++ b/examples/_templates/_payment_secure_response.php @@ -65,15 +65,15 @@ }); -// //Isbank İMECE kart ile MODEL_3D_SECURE yöntemiyle ödeme için ekstra alanların eklenme örneği -// $eventDispatcher->addListener(RequestDataPreparedEvent::class, function (RequestDataPreparedEvent $event) { -// if ($event->getTxType() === PosInterface::TX_TYPE_PAY_AUTH) { +// // Isbank İMECE için ekstra alanların eklenme örneği + $eventDispatcher->addListener(RequestDataPreparedEvent::class, function (RequestDataPreparedEvent $event) { +// if ($event->getPaymentModel() === PosInterface::MODEL_3D_SECURE && $event->getTxType() === PosInterface::TX_TYPE_PAY_AUTH) { // $data = $event->getRequestData(); // $data['Extra']['IMCKOD'] = '9999'; // IMCKOD bilgisi bankadan alınmaktadır. // $data['Extra']['FDONEM'] = '5'; // Ödemenin faizsiz ertelenmesini istediğiniz dönem sayısı // $event->setRequestData($data); // } -// }); + }); $card = null; if (get_class($pos) === \Mews\Pos\Gateways\PayFlexV4Pos::class) {