diff --git a/Block/MpDeviceSessionId.php b/Block/MpDeviceSessionId.php index 56fe449..5f60b66 100644 --- a/Block/MpDeviceSessionId.php +++ b/Block/MpDeviceSessionId.php @@ -14,8 +14,8 @@ class MpDeviceSessionId extends Template private DynamicCollector $dynamicCollector; private Random $random; - - /** + + /** * @param Context $context * @param DynamicCollector $dynamicCollector * @param Random $random diff --git a/Block/Sales/Info/Info.php b/Block/Sales/Info/Info.php index c24740b..c97789f 100644 --- a/Block/Sales/Info/Info.php +++ b/Block/Sales/Info/Info.php @@ -71,11 +71,12 @@ public function date($date) * Function getFormatedPrice * * @param float $price + * @param bool $includeContainer * * @return string */ - public function getFormatedPrice($amount) + public function getFormatedPrice($amount, $includeContainer = true) { - return $this->priceCurrency->convertAndFormat($amount); + return $this->priceCurrency->convertAndFormat($amount, $includeContainer); } } diff --git a/CHANGELOG.md b/CHANGELOG.md index e36013e..dc2ed97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.8.5] - 2024-10-30 +### Changed +- Adjustments on maximum order amount when payment has financial cost +- Adjustments on partial refund +- Update binary mode default value +- Fixed financial cost amount exhibition on order view and success page with cards payment +- Improved logs on cancel orders with expirated preferences cron +- Updated text for congrats page on MLB "Lotérica" payment + ## [1.8.4] - 2024-09-23 ### Changed - Rebranding of Mercado Credits diff --git a/Cron/CancelCheckoutPro.php b/Cron/CancelCheckoutPro.php index fd2b840..11cafbe 100644 --- a/Cron/CancelCheckoutPro.php +++ b/Cron/CancelCheckoutPro.php @@ -93,32 +93,80 @@ public function execute() ->join( ['sop' => $this->getSalesOrderPaymentTableName()], 'main_table.entity_id = sop.parent_id', - ['method'] + ['method', 'additional_information'] ) ->where(new \Zend_Db_Expr( "sop.method = ? AND TIME_TO_SEC(TIMEDIFF(CURRENT_TIMESTAMP, CAST(JSON_EXTRACT(sop.additional_information, '$.date_of_expiration') AS DATETIME))) >= 0 " ), ConfigCheckoutPro::METHOD); - foreach ($orders as $order) { - $orderId = $order->getEntityId(); - $amount = $order->getTotalDue(); - $baseAmount = $order->getBaseTotalDue(); - $payment = $order->getPayment(); - $payment->setPreparedMessage(__('Order Canceled.')); - $payment->registerVoidNotification($amount); - $payment->setIsTransactionApproved(false); - $payment->setIsTransactionDenied(true); - $payment->setIsTransactionPending(false); - $payment->setIsInProcess(true); - $payment->setIsTransactionClosed(true); - $payment->setShouldCloseParentTransaction(true); - $payment->setAmountCanceled($amount); - $payment->setBaseAmountCanceled($baseAmount); - $order->cancel(); - $order->save(); + + $this->logger->debug([ + 'Total orders to cancel: ' => $orders->count() + ]); + + $dateRange = []; + $orderId = null; + + try { + $this->logger->debug([ + 'Cancel Start' + ]); + foreach ($orders as $order) { + $orderAdditionalInformation = json_decode($order->getData('additional_information')); + $orderId = $order->getEntityId(); + $amount = $order->getTotalDue(); + $baseAmount = $order->getBaseTotalDue(); + $payment = $order->getPayment(); + $payment->setPreparedMessage(__('Order Canceled.')); + $payment->registerVoidNotification($amount); + $payment->setIsTransactionApproved(false); + $payment->setIsTransactionDenied(true); + $payment->setIsTransactionPending(false); + $payment->setIsInProcess(true); + $payment->setIsTransactionClosed(true); + $payment->setShouldCloseParentTransaction(true); + $payment->setAmountCanceled($amount); + $payment->setBaseAmountCanceled($baseAmount); + $order->cancel(); + $order->save(); + + $dateRange[] = $orderAdditionalInformation->date_of_expiration; + $this->logger->debug([ + 'fetch' => 'Cancel Order Id ' . $orderId . ' successfully', + 'order_date_of_expiration' => $orderAdditionalInformation->date_of_expiration + ]); + } + + $this->calculateExpirationRange($dateRange); + $this->logger->debug([ + 'Cancel Finish' + ]); + + } catch (\Exception $e) { $this->logger->debug([ - 'fetch' => 'Cancel Order Id ' . $orderId, + 'Cancel order execution error' => $e->getMessage(), + 'Order Id' => $orderId ]); } } + + /** + * Calculate expiration range date + * + * @param array $dateRange + * @return void + */ + private function calculateExpirationRange(array $dateRange): void + { + usort($dateRange, function ($a, $b) { + return strtotime($a) - strtotime($b); + }); + + $initialDate = reset($dateRange); + $endDate = end($dateRange); + + $this->logger->debug([ + 'Orders expiration range: ' => "from: $initialDate to: $endDate" + ]); + } } diff --git a/Gateway/Config/ConfigCc.php b/Gateway/Config/ConfigCc.php index 75dcca5..74b6127 100644 --- a/Gateway/Config/ConfigCc.php +++ b/Gateway/Config/ConfigCc.php @@ -69,6 +69,11 @@ class ConfigCc extends PaymentConfig */ public const PAYMENT_ACTION = 'payment_action'; + /** + * Maximum Order Amount Total. + */ + public const MAX_ORDER_TOTAL = 'max_order_total'; + /** * @var Config */ @@ -329,4 +334,22 @@ public function getFingerPrintLink($storeId = null): string return $this->fingerprint->getFingerPrintLink($mpSiteId); } + + /** + * Get Maximum order total + * + * @param int|null $storeId + * + * @return float + */ + public function getMaximumOrderTotal($storeId = null): float + { + $pathPattern = 'payment/%s/%s'; + + return (float)$this->scopeConfig->getValue( + sprintf($pathPattern, self::METHOD, self::MAX_ORDER_TOTAL), + ScopeInterface::SCOPE_STORE, + $storeId + ); + } } diff --git a/Gateway/Config/ConfigCheckoutCredits.php b/Gateway/Config/ConfigCheckoutCredits.php index 7e10dd0..1866377 100644 --- a/Gateway/Config/ConfigCheckoutCredits.php +++ b/Gateway/Config/ConfigCheckoutCredits.php @@ -25,6 +25,11 @@ class ConfigCheckoutCredits extends ConfigPro */ public const METHOD = 'mercadopago_adbpayment_checkout_credits'; + /** + * Maximum Order Amount Total. + */ + public const MAX_ORDER_TOTAL = 'max_order_total'; + /** * @param ScopeConfigInterface $scopeConfig * @param DateTime $date @@ -58,4 +63,22 @@ public function getBannerText($textId, $storeId = null): string $storeId ); } + + /** + * Get Maximum order total + * + * @param int|null $storeId + * + * @return float + */ + public function getMaximumOrderTotal($storeId = null): float + { + $pathPattern = 'payment/%s/%s'; + + return (float)$this->scopeConfig->getValue( + sprintf($pathPattern, self::METHOD, self::MAX_ORDER_TOTAL), + ScopeInterface::SCOPE_STORE, + $storeId + ); + } } diff --git a/Gateway/Config/ConfigTwoCc.php b/Gateway/Config/ConfigTwoCc.php index e217827..b3bb8f7 100644 --- a/Gateway/Config/ConfigTwoCc.php +++ b/Gateway/Config/ConfigTwoCc.php @@ -67,6 +67,11 @@ class ConfigTwoCc extends PaymentConfig */ public const PAYMENT_ACTION = 'payment_action'; + /** + * Maximum Order Amount Total. + */ + public const MAX_ORDER_TOTAL = 'max_order_total'; + /** * @var Config */ @@ -330,4 +335,21 @@ public function getFingerPrintLink($storeId = null): string return $this->fingerprint->getFingerPrintLink($mpSiteId); } + /** + * Get Maximum order total + * + * @param int|null $storeId + * + * @return float + */ + public function getMaximumOrderTotal($storeId = null): float + { + $pathPattern = 'payment/%s/%s'; + + return (float)$this->scopeConfig->getValue( + sprintf($pathPattern, self::METHOD, self::MAX_ORDER_TOTAL), + ScopeInterface::SCOPE_STORE, + $storeId + ); + } } diff --git a/Gateway/Http/Client/CreateOrderPaymentCustomClient.php b/Gateway/Http/Client/CreateOrderPaymentCustomClient.php index a977cbb..ebddf7a 100644 --- a/Gateway/Http/Client/CreateOrderPaymentCustomClient.php +++ b/Gateway/Http/Client/CreateOrderPaymentCustomClient.php @@ -229,12 +229,12 @@ public function placeRequest(TransferInterface $transferObject) unset($request[CaptureAmountRequest::AMOUNT_TO_CAPTURE]); $paymentInstance->setEntity($request); - + if(isset($paymentInstance->payer->id)) { $customHeaders[] = self::HEADER_CUSTOMER_ID . $paymentInstance->payer->id; } - + $paymentInstance->setCustomHeaders($customHeaders); $clientHeaders = $paymentInstance->getLastHeaders(); @@ -313,4 +313,4 @@ public function placeRequest(TransferInterface $transferObject) return $response; } -} +} \ No newline at end of file diff --git a/Gateway/Response/TxnIdPaymentMethodsOffHandler.php b/Gateway/Response/TxnIdPaymentMethodsOffHandler.php index 87ecca9..ca223d9 100644 --- a/Gateway/Response/TxnIdPaymentMethodsOffHandler.php +++ b/Gateway/Response/TxnIdPaymentMethodsOffHandler.php @@ -289,6 +289,11 @@ public function setAddtionalInformationMLB($payment, $response) { self::MESSAGE_DOCUMENT, 'Enter the ID Document you used in the purchase' ); + + $payment->setAdditionalInformation( + self::MESSAGE_INFO, + 'To pay, please go to any lotérica or "Correspondente Caixa" branch. You will need the following code and the ID number used in the purchase.' + ); } } } diff --git a/Model/Adminhtml/Source/IsBinaryMode.php b/Model/Adminhtml/Source/IsBinaryMode.php index 20d3fc9..8a45bcb 100644 --- a/Model/Adminhtml/Source/IsBinaryMode.php +++ b/Model/Adminhtml/Source/IsBinaryMode.php @@ -23,11 +23,11 @@ public function toOptionArray(): array return [ [ 'value' => 0, - 'label' => __('Yes, Processed Order Synchronous'), + 'label' => __('No, Processed Order Asynchronous'), ], [ 'value' => 1, - 'label' => __('No, Processed Order Asynchronous'), + 'label' => __('Yes, Processed Order Synchronous'), ], ]; } diff --git a/Model/Api/FinanceCostManagement.php b/Model/Api/FinanceCostManagement.php index 05234e8..8a5038f 100644 --- a/Model/Api/FinanceCostManagement.php +++ b/Model/Api/FinanceCostManagement.php @@ -39,7 +39,7 @@ class FinanceCostManagement implements FinanceCostManagementInterface * @var MpConfig */ protected $mpConfig; - + /** * @var Logger */ diff --git a/Model/Notification/Refund/Refund.php b/Model/Notification/Refund/Refund.php index 8c56f20..8b70573 100644 --- a/Model/Notification/Refund/Refund.php +++ b/Model/Notification/Refund/Refund.php @@ -185,7 +185,11 @@ private function refund(RefundData $refundData): array $payment->setTransactionId($refundData->getId()); $payment->setIsTransactionClosed(true); - if ($refundData->getAmount() < $creditMemo->getBaseGrandTotal()) { + $refundBalance = $this->order->getTotalPaid() - $this->order->getTotalRefunded(); + + if ($refundData->getAmount() < $creditMemo->getBaseGrandTotal() && + $refundData->getAmount() < $refundBalance + ) { $creditMemo->setItems([]); } diff --git a/Model/Ui/ConfigProviderCheckoutCredits.php b/Model/Ui/ConfigProviderCheckoutCredits.php index 2c8597c..12d8c01 100644 --- a/Model/Ui/ConfigProviderCheckoutCredits.php +++ b/Model/Ui/ConfigProviderCheckoutCredits.php @@ -179,7 +179,7 @@ public function isActive() /** * Get images for payment method banner. - * + * * @return array */ public function getImages() @@ -197,7 +197,7 @@ public function getImages() /** * Get images for payment method banner. - * + * * @return array */ public function getImagesByName($name) diff --git a/Plugin/MaximumAmountOrderValidation.php b/Plugin/MaximumAmountOrderValidation.php new file mode 100644 index 0000000..7416ec5 --- /dev/null +++ b/Plugin/MaximumAmountOrderValidation.php @@ -0,0 +1,91 @@ +configCc = $configCc; + $this->configTwoCc = $configTwoCc; + $this->configCheckoutCredits = $configCheckoutCredits; + } + + /** + * After is applicable method + * + * @param Composite $subject + * @param boolean $result + * @param MethodInterface $method + * @param Quote $quote + * @return boolean + */ + public function afterIsApplicable( + Composite $subject, + bool $result, + MethodInterface $method, + Quote $quote + ): bool { + if (!$result && $financeCost = $quote->getFinanceCostAmount()) { + $paymentCode = $method->getCode(); + $maxOrderLimit = null; + + switch($paymentCode) { + case ConfigCc::METHOD: + $maxOrderLimit = $this->configCc->getMaximumOrderTotal(); + break; + case ConfigTwoCc::METHOD: + $maxOrderLimit = $this->configTwoCc->getMaximumOrderTotal(); + break; + case ConfigCheckoutCredits::METHOD: + $maxOrderLimit = $this->configCheckoutCredits->getMaximumOrderTotal(); + break; + default: + break; + } + + $totalWithoutFinanceCost = $quote->getGrandTotal() - $financeCost; + if ($maxOrderLimit && $totalWithoutFinanceCost <= $maxOrderLimit) { + $result = true; + } + } + + return $result; + } +} diff --git a/Setup/Patch/Data/UpdateOrderProcessingMode.php b/Setup/Patch/Data/UpdateOrderProcessingMode.php new file mode 100644 index 0000000..cec00f2 --- /dev/null +++ b/Setup/Patch/Data/UpdateOrderProcessingMode.php @@ -0,0 +1,111 @@ +moduleDataSetup = $moduleDataSetup; + $this->scopeConfig = $scopeConfig; + $this->writerInterface = $writerInterface; + } + + /** + * @inheritdoc + */ + public function apply() + { + $this->moduleDataSetup->getConnection()->startSetup(); + + $connection = $this->moduleDataSetup->getConnection(); + + $path = 'payment/mercadopago_adbpayment_cc/can_initialize'; + + $result = (string)$this->scopeConfig->getValue( + $path, + ScopeConfigInterface::SCOPE_TYPE_DEFAULT, + ); + + if (!$result) { + $this->writerInterface->save( + $path, + 1, + ScopeConfigInterface::SCOPE_TYPE_DEFAULT, + $scopeId = 0 + ); + } + + if ($result == 1) { + $this->writerInterface->save( + $path, + 0, + ScopeConfigInterface::SCOPE_TYPE_DEFAULT, + $scopeId = 0 + ); + } else { + $this->writerInterface->save( + $path, + 1, + ScopeConfigInterface::SCOPE_TYPE_DEFAULT, + $scopeId = 0 + ); + } + + $this->moduleDataSetup->getConnection()->endSetup(); + return null; + } + + /** + * {@inheritdoc} + */ + public static function getDependencies() + { + return []; + } + + /** + * {@inheritdoc} + */ + public function getAliases() + { + return []; + } +} \ No newline at end of file diff --git a/Tests/Unit/Gateway/Config/ConfigCheckoutCreditsTest.php b/Tests/Unit/Gateway/Config/ConfigCheckoutCreditsTest.php index 2833517..a9ec32f 100644 --- a/Tests/Unit/Gateway/Config/ConfigCheckoutCreditsTest.php +++ b/Tests/Unit/Gateway/Config/ConfigCheckoutCreditsTest.php @@ -226,7 +226,7 @@ public function testGetBannerTextHowToUse() ); $result = $configCheckoutCredits->getBannerText($textId, $storeId); - + $this->assertEquals('Compre em até 12x sem cartão de crédito', $result); } } diff --git a/Tests/Unit/Gateway/Http/Client/CreateOrderPaymentCustomClientTest.php b/Tests/Unit/Gateway/Http/Client/CreateOrderPaymentCustomClientTest.php index 4700972..cafa108 100644 --- a/Tests/Unit/Gateway/Http/Client/CreateOrderPaymentCustomClientTest.php +++ b/Tests/Unit/Gateway/Http/Client/CreateOrderPaymentCustomClientTest.php @@ -34,7 +34,7 @@ private function getTestClass(Sdk $sdkMock): CreateOrderPaymentCustomClient ->willReturn($sdkMock); return new CreateOrderPaymentCustomClient( - $logger, + $logger, $config, $json, $quoteMpPaymentRepository, diff --git a/Tests/Unit/Gateway/Request/MpDeviceSessionIdTest.php b/Tests/Unit/Gateway/Request/MpDeviceSessionIdTest.php index 17a60fa..c31d581 100644 --- a/Tests/Unit/Gateway/Request/MpDeviceSessionIdTest.php +++ b/Tests/Unit/Gateway/Request/MpDeviceSessionIdTest.php @@ -15,12 +15,12 @@ public function testBuildWithSession() ->method('getAdditionalInformation') ->with(MpDeviceSessionId::MP_DEVICE_SESSION_ID) ->willReturn('arm:1234'); - + $paymentDataObjectMock = $this->createMock(PaymentDataObject::class); $paymentDataObjectMock->expects($this->once()) ->method('getPayment') ->willReturn($paymentInterceptorMock); - + $class = new MpDeviceSessionId(); $result = $class->build(['payment' => $paymentDataObjectMock]); @@ -35,12 +35,12 @@ public function testBuildWithoutSession() ->method('getAdditionalInformation') ->with(MpDeviceSessionId::MP_DEVICE_SESSION_ID) ->willReturn(null); - + $paymentDataObjectMock = $this->createMock(PaymentDataObject::class); $paymentDataObjectMock->expects($this->once()) ->method('getPayment') ->willReturn($paymentInterceptorMock); - + $class = new MpDeviceSessionId(); $result = $class->build(['payment' => $paymentDataObjectMock]); @@ -51,7 +51,7 @@ public function testBuildWithoutSession() public function testBuildWithoutPayment() { $this->expectException(\InvalidArgumentException::class); - + $class = new MpDeviceSessionId(); $class->build([]); } diff --git a/Tests/Unit/Model/Notification/Refund/CheckoutCustomTest.php b/Tests/Unit/Model/Notification/Refund/CheckoutCustomTest.php index 99fb668..b72e441 100644 --- a/Tests/Unit/Model/Notification/Refund/CheckoutCustomTest.php +++ b/Tests/Unit/Model/Notification/Refund/CheckoutCustomTest.php @@ -287,7 +287,15 @@ public function testPartialRefundWithSingleCard() $creditMemo = $mocks['creditMemo']; // VALIDATE CREDITMEMO DURING REFUND - $creditMemo->expects($this->any()) + $this->order->expects($this->once()) + ->method('getTotalPaid') + ->willReturn(1000); + + $this->order->expects($this->once()) + ->method('getTotalRefunded') + ->willReturn(500); + + $creditMemo->expects($this->once()) ->method('getBaseGrandTotal') ->willReturn(130.00); diff --git a/bin/validate-version.sh b/bin/validate-version.sh old mode 100755 new mode 100644 diff --git a/composer.json b/composer.json index 68d067d..6673d9e 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "mercadopago/adb-payment", "description": "MercadoPago - Payment for Adobe Commerce", - "version": "1.8.4", + "version": "1.8.5", "require": { "php": "~7.3.0||~7.4.0||~8.1.0||~8.2.0||~8.3.0", "ext-json": "*", diff --git a/composer.lock b/composer.lock index f7e1d8e..eb8ef2d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "891aeaf91d3e028696cfbdbf987175c3", + "content-hash": "5fb15ecb3513a981a05f0359e6081903", "packages": [ { "name": "mp-plugins/php-sdk", @@ -280,16 +280,16 @@ }, { "name": "magento/magento-coding-standard", - "version": "34", + "version": "35", "source": { "type": "git", "url": "https://github.com/magento/magento-coding-standard.git", - "reference": "e0f31fa473868b5db8c00994efb99e6efbb6c840" + "reference": "f5cf74fb1cdd7e9fc16b2b0a31c5a5336539505e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/magento/magento-coding-standard/zipball/e0f31fa473868b5db8c00994efb99e6efbb6c840", - "reference": "e0f31fa473868b5db8c00994efb99e6efbb6c840", + "url": "https://api.github.com/repos/magento/magento-coding-standard/zipball/f5cf74fb1cdd7e9fc16b2b0a31c5a5336539505e", + "reference": "f5cf74fb1cdd7e9fc16b2b0a31c5a5336539505e", "shasum": "" }, "require": { @@ -324,9 +324,9 @@ "description": "A set of Magento specific PHP CodeSniffer rules.", "support": { "issues": "https://github.com/magento/magento-coding-standard/issues", - "source": "https://github.com/magento/magento-coding-standard/tree/v34" + "source": "https://github.com/magento/magento-coding-standard/tree/v35" }, - "time": "2024-09-06T17:21:26+00:00" + "time": "2024-10-08T16:38:49+00:00" }, { "name": "magento/php-compatibility-fork", @@ -681,16 +681,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.4", + "version": "1.12.7", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "ffa517cb918591b93acc9b95c0bebdcd0e4538bd" + "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ffa517cb918591b93acc9b95c0bebdcd0e4538bd", - "reference": "ffa517cb918591b93acc9b95c0bebdcd0e4538bd", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc2b9976bd8b0f84ec9b0e50cc35378551de7af0", + "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0", "shasum": "" }, "require": { @@ -735,7 +735,7 @@ "type": "github" } ], - "time": "2024-09-19T07:58:01+00:00" + "time": "2024-10-18T11:12:07+00:00" }, { "name": "psr/container", @@ -842,21 +842,21 @@ }, { "name": "rector/rector", - "version": "1.2.5", + "version": "1.2.8", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "e98aa793ca3fcd17e893cfaf9103ac049775d339" + "reference": "05755bf43617449c08ee8e50fb840c85ad3b1240" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/e98aa793ca3fcd17e893cfaf9103ac049775d339", - "reference": "e98aa793ca3fcd17e893cfaf9103ac049775d339", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/05755bf43617449c08ee8e50fb840c85ad3b1240", + "reference": "05755bf43617449c08ee8e50fb840c85ad3b1240", "shasum": "" }, "require": { "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.12.2" + "phpstan/phpstan": "^1.12.5" }, "conflict": { "rector/rector-doctrine": "*", @@ -889,7 +889,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.2.5" + "source": "https://github.com/rectorphp/rector/tree/1.2.8" }, "funding": [ { @@ -897,7 +897,7 @@ "type": "github" } ], - "time": "2024-09-08T17:43:24+00:00" + "time": "2024-10-18T11:54:27+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -981,34 +981,34 @@ }, { "name": "symfony/config", - "version": "v6.4.8", + "version": "v7.1.6", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "12e7e52515ce37191b193cf3365903c4f3951e35" + "reference": "5c6152766251ff45a44b76affadd5287e253fb27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/12e7e52515ce37191b193cf3365903c4f3951e35", - "reference": "12e7e52515ce37191b193cf3365903c4f3951e35", + "url": "https://api.github.com/repos/symfony/config/zipball/5c6152766251ff45a44b76affadd5287e253fb27", + "reference": "5c6152766251ff45a44b76affadd5287e253fb27", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^7.1", "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/finder": "<5.4", + "symfony/finder": "<6.4", "symfony/service-contracts": "<2.5" }, "require-dev": { - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -1036,7 +1036,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v6.4.8" + "source": "https://github.com/symfony/config/tree/v7.1.6" }, "funding": [ { @@ -1052,44 +1052,43 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-10-25T15:11:02+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.11", + "version": "v7.1.6", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e" + "reference": "1f12f9d580ef8dd09e3b756aa111cc2d5f311bfd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e", - "reference": "e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1f12f9d580ef8dd09e3b756aa111cc2d5f311bfd", + "reference": "1f12f9d580ef8dd09e3b756aa111cc2d5f311bfd", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/container": "^1.1|^2.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/service-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.2.10|^7.0" + "symfony/service-contracts": "^3.5", + "symfony/var-exporter": "^6.4|^7.0" }, "conflict": { "ext-psr": "<1.1|>=2", - "symfony/config": "<6.1", - "symfony/finder": "<5.4", - "symfony/proxy-manager-bridge": "<6.3", - "symfony/yaml": "<5.4" + "symfony/config": "<6.4", + "symfony/finder": "<6.4", + "symfony/yaml": "<6.4" }, "provide": { "psr/container-implementation": "1.1|2.0", "symfony/service-implementation": "1.1|2.0|3.0" }, "require-dev": { - "symfony/config": "^6.1|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/config": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -1117,7 +1116,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.11" + "source": "https://github.com/symfony/dependency-injection/tree/v7.1.6" }, "funding": [ { @@ -1133,7 +1132,7 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:15:38+00:00" + "time": "2024-10-25T15:11:02+00:00" }, { "name": "symfony/deprecation-contracts", @@ -1204,25 +1203,25 @@ }, { "name": "symfony/filesystem", - "version": "v6.4.9", + "version": "v7.1.6", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463" + "reference": "c835867b3c62bb05c7fe3d637c871c7ae52024d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b51ef8059159330b74a4d52f68e671033c0fe463", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/c835867b3c62bb05c7fe3d637c871c7ae52024d4", + "reference": "c835867b3c62bb05c7fe3d637c871c7ae52024d4", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, "require-dev": { - "symfony/process": "^5.4|^6.4|^7.0" + "symfony/process": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -1250,7 +1249,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.9" + "source": "https://github.com/symfony/filesystem/tree/v7.1.6" }, "funding": [ { @@ -1266,7 +1265,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:49:33+00:00" + "time": "2024-10-25T15:11:02+00:00" }, { "name": "symfony/polyfill-ctype", @@ -1512,26 +1511,25 @@ }, { "name": "symfony/var-exporter", - "version": "v6.4.9", + "version": "v7.1.6", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "f9a060622e0d93777b7f8687ec4860191e16802e" + "reference": "90173ef89c40e7c8c616653241048705f84130ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/f9a060622e0d93777b7f8687ec4860191e16802e", - "reference": "f9a060622e0d93777b7f8687ec4860191e16802e", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/90173ef89c40e7c8c616653241048705f84130ef", + "reference": "90173ef89c40e7c8c616653241048705f84130ef", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" + "php": ">=8.2" }, "require-dev": { "symfony/property-access": "^6.4|^7.0", "symfony/serializer": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/var-dumper": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -1569,7 +1567,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.9" + "source": "https://github.com/symfony/var-exporter/tree/v7.1.6" }, "funding": [ { @@ -1585,20 +1583,20 @@ "type": "tidelift" } ], - "time": "2024-06-24T15:53:56+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "webonyx/graphql-php", - "version": "v15.14.0", + "version": "v15.17.0", "source": { "type": "git", "url": "https://github.com/webonyx/graphql-php.git", - "reference": "87f956498895757f0808f22c193577ed090f7f3b" + "reference": "c1c9e5b5a4eaf8d6209bf33becdcc93d20f71912" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/87f956498895757f0808f22c193577ed090f7f3b", - "reference": "87f956498895757f0808f22c193577ed090f7f3b", + "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/c1c9e5b5a4eaf8d6209bf33becdcc93d20f71912", + "reference": "c1c9e5b5a4eaf8d6209bf33becdcc93d20f71912", "shasum": "" }, "require": { @@ -1616,10 +1614,10 @@ "nyholm/psr7": "^1.5", "phpbench/phpbench": "^1.2", "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "1.12.3", + "phpstan/phpstan": "1.12.7", "phpstan/phpstan-phpunit": "1.4.0", - "phpstan/phpstan-strict-rules": "1.6.0", - "phpunit/phpunit": "^9.5 || ^10.5.21", + "phpstan/phpstan-strict-rules": "1.6.1", + "phpunit/phpunit": "^9.5 || ^10.5.21 || ^11", "psr/http-message": "^1 || ^2", "react/http": "^1.6", "react/promise": "^2.0 || ^3.0", @@ -1651,7 +1649,7 @@ ], "support": { "issues": "https://github.com/webonyx/graphql-php/issues", - "source": "https://github.com/webonyx/graphql-php/tree/v15.14.0" + "source": "https://github.com/webonyx/graphql-php/tree/v15.17.0" }, "funding": [ { @@ -1659,7 +1657,7 @@ "type": "open_collective" } ], - "time": "2024-09-10T10:36:37+00:00" + "time": "2024-10-26T10:54:35+00:00" } ], "aliases": [], diff --git a/etc/di.xml b/etc/di.xml index 2f36bfa..0836554 100644 --- a/etc/di.xml +++ b/etc/di.xml @@ -35,7 +35,7 @@ - + @@ -47,7 +47,7 @@ - + @@ -664,7 +664,7 @@ MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoItemsDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoPayerDataRequest - MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest + MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoShippingsDataRequest MercadoPago\AdbPayment\Gateway\Request\MetadataPaymentDataRequest MercadoPago\AdbPayment\Gateway\Request\SponsorDataRequest @@ -727,7 +727,7 @@ MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoIpDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoItemsDataRequest - MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest + MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoPayerDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoShippingsDataRequest MercadoPago\AdbPayment\Gateway\Request\MetadataPaymentDataRequest @@ -792,7 +792,7 @@ MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoItemsDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoPayerDataRequest - MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest + MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoShippingsDataRequest MercadoPago\AdbPayment\Gateway\Request\MetadataPaymentDataRequest MercadoPago\AdbPayment\Gateway\Request\SponsorDataRequest @@ -901,7 +901,7 @@ MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoItemsDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoPayerDataRequest - MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest + MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoShippingsDataRequest MercadoPago\AdbPayment\Gateway\Request\MetadataPaymentDataRequest MercadoPago\AdbPayment\Gateway\Request\SponsorDataRequest @@ -973,7 +973,7 @@ MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoItemsDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoPayerDataRequest - MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest + MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoShippingsDataRequest MercadoPago\AdbPayment\Gateway\Request\MetadataPaymentDataRequest MercadoPago\AdbPayment\Gateway\Request\SponsorDataRequest @@ -1124,7 +1124,7 @@ MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoItemsDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoPayerDataRequest - MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest + MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoSellerDataRequest MercadoPago\AdbPayment\Gateway\Request\AdditionalInfoShippingsDataRequest MercadoPago\AdbPayment\Gateway\Request\MetadataPaymentDataRequest MercadoPago\AdbPayment\Gateway\Request\SponsorDataRequest @@ -1761,7 +1761,7 @@ MercadoPagoCheckoutCreditsCommandPool - + @@ -2029,4 +2029,10 @@ MercadoPagoLogger + + + + diff --git a/etc/module.xml b/etc/module.xml index b9baae9..3db5623 100644 --- a/etc/module.xml +++ b/etc/module.xml @@ -8,7 +8,7 @@ */ --> - + diff --git a/i18n/en_US.csv b/i18n/en_US.csv index 1901295..8cb6692 100644 --- a/i18n/en_US.csv +++ b/i18n/en_US.csv @@ -452,4 +452,4 @@ Webpay,Webpay "For safety reasons, your payment was declined. We recommend paying with your usual payment method and device for online purchases.","For safety reasons, your payment was declined. We recommend paying with your usual payment method and device for online purchases." "An error has occurred. Please refresh the page and try again.", "An error has occurred. Please refresh the page and try again." "We are receiving the reply from your bank", "We are receiving the reply from your bank" -"An error occured." +"An error occured." \ No newline at end of file diff --git a/i18n/es_AR.csv b/i18n/es_AR.csv index 5006a18..10a96f4 100644 --- a/i18n/es_AR.csv +++ b/i18n/es_AR.csv @@ -406,7 +406,7 @@ Webpay,Webpay "For safety reasons, the card issuing bank declined the payment. We recommend paying with your usual payment method and device for online purchases.","Por seguridad, el banco emisor de la tarjeta rechazó el pago. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." ----------By Bank / Bank Error / Other Reason / Bank Rejected------------------ "The bank declined your payment with the first card. We recommend paying with another card or contacting the bank. Do not worry, no fee was charged on the second payment method.","El banco rechazó tu pago con la primera tarjeta. Te recomendamos pagar con otra tarjeta o comunicarte con tu banco. No te preocupes, no cobramos ningún cargo en el segundo medio de pago." -"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer +"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer medio de pago, no te preocupes, será devuelto automáticamente." "The card issuing bank declined your payment. We recommend paying with another payment method or contacting your bank.","El banco emisor de la tarjeta rechazó tu pago. Te recomendamos pagar con otro medio de pago o comunicarte con tu banco." ---------Call For Authorize---------------- @@ -453,3 +453,4 @@ medio de pago, no te preocupes, será devuelto automáticamente." "For safety reasons, your payment was declined. We recommend paying with your usual payment method and device for online purchases.","Por motivos de seguridad, tu pago fue rechazado. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." "An error has occurred. Please refresh the page and try again.", "Se ha producido un error. Actualice la página y vuelva a intentarlo." "We are receiving the reply from your bank", "Estamos recibiendo la respuesta de su banco" +"To pay, please go to any lotérica or ""Correspondente Caixa"" branch. You will need the following code and the ID number used in the purchase.","Para pagar, por favor dirígete a cualquier lotérica o ""Correspondente Caixa"". Necesitarás el siguiente código y el número de documento de identificación utilizado en la compra." \ No newline at end of file diff --git a/i18n/es_CL.csv b/i18n/es_CL.csv index 0965f0b..2e62a09 100644 --- a/i18n/es_CL.csv +++ b/i18n/es_CL.csv @@ -406,7 +406,7 @@ Webpay,Webpay "For safety reasons, the card issuing bank declined the payment. We recommend paying with your usual payment method and device for online purchases.","Por seguridad, el banco emisor de la tarjeta rechazó el pago. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." ----------By Bank / Bank Error / Other Reason / Bank Rejected------------------ "The bank declined your payment with the first card. We recommend paying with another card or contacting the bank. Do not worry, no fee was charged on the second payment method.","El banco rechazó tu pago con la primera tarjeta. Te recomendamos pagar con otra tarjeta o comunicarte con tu banco. No te preocupes, no cobramos ningún cargo en el segundo medio de pago." -"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer +"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer medio de pago, no te preocupes, será devuelto automáticamente." "The card issuing bank declined your payment. We recommend paying with another payment method or contacting your bank.","El banco emisor de la tarjeta rechazó tu pago. Te recomendamos pagar con otro medio de pago o comunicarte con tu banco." ---------Call For Authorize---------------- @@ -453,3 +453,4 @@ medio de pago, no te preocupes, será devuelto automáticamente." "For safety reasons, your payment was declined. We recommend paying with your usual payment method and device for online purchases.","Por motivos de seguridad, tu pago fue rechazado. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." "An error has occurred. Please refresh the page and try again.", "Se ha producido un error. Actualice la página y vuelva a intentarlo." "We are receiving the reply from your bank", "Estamos recibiendo la respuesta de su banco" +"To pay, please go to any lotérica or ""Correspondente Caixa"" branch. You will need the following code and the ID number used in the purchase.","Para pagar, por favor dirígete a cualquier lotérica o ""Correspondente Caixa"". Necesitarás el siguiente código y el número de documento de identificación utilizado en la compra." \ No newline at end of file diff --git a/i18n/es_CO.csv b/i18n/es_CO.csv index 0965f0b..2e62a09 100644 --- a/i18n/es_CO.csv +++ b/i18n/es_CO.csv @@ -406,7 +406,7 @@ Webpay,Webpay "For safety reasons, the card issuing bank declined the payment. We recommend paying with your usual payment method and device for online purchases.","Por seguridad, el banco emisor de la tarjeta rechazó el pago. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." ----------By Bank / Bank Error / Other Reason / Bank Rejected------------------ "The bank declined your payment with the first card. We recommend paying with another card or contacting the bank. Do not worry, no fee was charged on the second payment method.","El banco rechazó tu pago con la primera tarjeta. Te recomendamos pagar con otra tarjeta o comunicarte con tu banco. No te preocupes, no cobramos ningún cargo en el segundo medio de pago." -"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer +"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer medio de pago, no te preocupes, será devuelto automáticamente." "The card issuing bank declined your payment. We recommend paying with another payment method or contacting your bank.","El banco emisor de la tarjeta rechazó tu pago. Te recomendamos pagar con otro medio de pago o comunicarte con tu banco." ---------Call For Authorize---------------- @@ -453,3 +453,4 @@ medio de pago, no te preocupes, será devuelto automáticamente." "For safety reasons, your payment was declined. We recommend paying with your usual payment method and device for online purchases.","Por motivos de seguridad, tu pago fue rechazado. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." "An error has occurred. Please refresh the page and try again.", "Se ha producido un error. Actualice la página y vuelva a intentarlo." "We are receiving the reply from your bank", "Estamos recibiendo la respuesta de su banco" +"To pay, please go to any lotérica or ""Correspondente Caixa"" branch. You will need the following code and the ID number used in the purchase.","Para pagar, por favor dirígete a cualquier lotérica o ""Correspondente Caixa"". Necesitarás el siguiente código y el número de documento de identificación utilizado en la compra." \ No newline at end of file diff --git a/i18n/es_MX.csv b/i18n/es_MX.csv index 4ef2fea..3d5c5fb 100644 --- a/i18n/es_MX.csv +++ b/i18n/es_MX.csv @@ -406,7 +406,7 @@ Webpay,Webpay "For safety reasons, the card issuing bank declined the payment. We recommend paying with your usual payment method and device for online purchases.","Por seguridad, el banco emisor de la tarjeta rechazó el pago. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." ----------By Bank / Bank Error / Other Reason / Bank Rejected------------------ "The bank declined your payment with the first card. We recommend paying with another card or contacting the bank. Do not worry, no fee was charged on the second payment method.","El banco rechazó tu pago con la primera tarjeta. Te recomendamos pagar con otra tarjeta o comunicarte con tu banco. No te preocupes, no cobramos ningún cargo en el segundo medio de pago." -"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer +"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer medio de pago, no te preocupes, será devuelto automáticamente." "The card issuing bank declined your payment. We recommend paying with another payment method or contacting your bank.","El banco emisor de la tarjeta rechazó tu pago. Te recomendamos pagar con otro medio de pago o comunicarte con tu banco." ---------Call For Authorize---------------- @@ -453,3 +453,4 @@ medio de pago, no te preocupes, será devuelto automáticamente." "For safety reasons, your payment was declined. We recommend paying with your usual payment method and device for online purchases.","Por motivos de seguridad, tu pago fue rechazado. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." "An error has occurred. Please refresh the page and try again.", "Se ha producido un error. Actualice la página y vuelva a intentarlo." "We are receiving the reply from your bank", "Estamos recibiendo la respuesta de su banco" +"To pay, please go to any lotérica or ""Correspondente Caixa"" branch. You will need the following code and the ID number used in the purchase.","Para pagar, por favor dirígete a cualquier lotérica o ""Correspondente Caixa"". Necesitarás el siguiente código y el número de documento de identificación utilizado en la compra." \ No newline at end of file diff --git a/i18n/es_PE.csv b/i18n/es_PE.csv index 0965f0b..2e62a09 100644 --- a/i18n/es_PE.csv +++ b/i18n/es_PE.csv @@ -406,7 +406,7 @@ Webpay,Webpay "For safety reasons, the card issuing bank declined the payment. We recommend paying with your usual payment method and device for online purchases.","Por seguridad, el banco emisor de la tarjeta rechazó el pago. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." ----------By Bank / Bank Error / Other Reason / Bank Rejected------------------ "The bank declined your payment with the first card. We recommend paying with another card or contacting the bank. Do not worry, no fee was charged on the second payment method.","El banco rechazó tu pago con la primera tarjeta. Te recomendamos pagar con otra tarjeta o comunicarte con tu banco. No te preocupes, no cobramos ningún cargo en el segundo medio de pago." -"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer +"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer medio de pago, no te preocupes, será devuelto automáticamente." "The card issuing bank declined your payment. We recommend paying with another payment method or contacting your bank.","El banco emisor de la tarjeta rechazó tu pago. Te recomendamos pagar con otro medio de pago o comunicarte con tu banco." ---------Call For Authorize---------------- @@ -453,3 +453,4 @@ medio de pago, no te preocupes, será devuelto automáticamente." "For safety reasons, your payment was declined. We recommend paying with your usual payment method and device for online purchases.","Por motivos de seguridad, tu pago fue rechazado. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." "An error has occurred. Please refresh the page and try again.", "Se ha producido un error. Actualice la página y vuelva a intentarlo." "We are receiving the reply from your bank", "Estamos recibiendo la respuesta de su banco" +"To pay, please go to any lotérica or ""Correspondente Caixa"" branch. You will need the following code and the ID number used in the purchase.","Para pagar, por favor dirígete a cualquier lotérica o ""Correspondente Caixa"". Necesitarás el siguiente código y el número de documento de identificación utilizado en la compra." \ No newline at end of file diff --git a/i18n/es_UY.csv b/i18n/es_UY.csv index 0965f0b..2e62a09 100644 --- a/i18n/es_UY.csv +++ b/i18n/es_UY.csv @@ -406,7 +406,7 @@ Webpay,Webpay "For safety reasons, the card issuing bank declined the payment. We recommend paying with your usual payment method and device for online purchases.","Por seguridad, el banco emisor de la tarjeta rechazó el pago. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." ----------By Bank / Bank Error / Other Reason / Bank Rejected------------------ "The bank declined your payment with the first card. We recommend paying with another card or contacting the bank. Do not worry, no fee was charged on the second payment method.","El banco rechazó tu pago con la primera tarjeta. Te recomendamos pagar con otra tarjeta o comunicarte con tu banco. No te preocupes, no cobramos ningún cargo en el segundo medio de pago." -"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer +"The bank declined the payment with the second card due to security reasons. We recommend paying with your usual payment method and device for online purchases. Do not worry if any fees were charged on the first payment method, they will be refunded automatically.","Por seguridad, el banco rechazó el pago con la segunda tarjeta. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online. Si llegas a encontrar un cargo en el primer medio de pago, no te preocupes, será devuelto automáticamente." "The card issuing bank declined your payment. We recommend paying with another payment method or contacting your bank.","El banco emisor de la tarjeta rechazó tu pago. Te recomendamos pagar con otro medio de pago o comunicarte con tu banco." ---------Call For Authorize---------------- @@ -453,3 +453,4 @@ medio de pago, no te preocupes, será devuelto automáticamente." "For safety reasons, your payment was declined. We recommend paying with your usual payment method and device for online purchases.","Por motivos de seguridad, tu pago fue rechazado. Te recomendamos pagar con el medio de pago y dispositivo que sueles usar para compras online." "An error has occurred. Please refresh the page and try again.", "Se ha producido un error. Actualice la página y vuelva a intentarlo." "We are receiving the reply from your bank", "Estamos recibiendo la respuesta de su banco" +"To pay, please go to any lotérica or ""Correspondente Caixa"" branch. You will need the following code and the ID number used in the purchase.","Para pagar, por favor dirígete a cualquier lotérica o ""Correspondente Caixa"". Necesitarás el siguiente código y el número de documento de identificación utilizado en la compra." \ No newline at end of file diff --git a/i18n/pt_BR.csv b/i18n/pt_BR.csv index f48b25c..8b3a361 100644 --- a/i18n/pt_BR.csv +++ b/i18n/pt_BR.csv @@ -452,3 +452,4 @@ Webpay,Webpay "For safety reasons, your payment was declined. We recommend paying with your usual payment method and device for online purchases.", "Por motivos de segurança, seu pagamento foi recusado. Recomendamos que você pague com o meio de pagamento e dispositivo que costuma usar para compras on-line." "An error has occurred. Please refresh the page and try again.", "Ocorreu um erro. Por favor, atualize a página e tente novamente." "We are receiving the reply from your bank", "Estamos recebendo a resposta do seu banco" +"To pay, please go to any lotérica or ""Correspondente Caixa"" branch. You will need the following code and the ID number used in the purchase.","Para pagar, dirija-se a qualquer lotérica ou Correspondente Caixa. Você precisará do código a seguir e do número do documento de identificação utilizado na compra." \ No newline at end of file diff --git a/view/adminhtml/templates/info/cc/instructions.phtml b/view/adminhtml/templates/info/cc/instructions.phtml index 5c42fc7..b7655e3 100644 --- a/view/adminhtml/templates/info/cc/instructions.phtml +++ b/view/adminhtml/templates/info/cc/instructions.phtml @@ -39,7 +39,7 @@ $mpPaymentId = isset($specificInfo['mp_payment_id']) ? $specificInfo['mp_payment escapeHtml(__('card_finance_cost')); ?>: - escapeHtml($block->getFormatedPrice($specificInfo['card_finance_cost'])) ?> + escapeHtml($block->getFormatedPrice($specificInfo['card_finance_cost'], false)) ?> diff --git a/view/adminhtml/templates/info/twocc/instructions.phtml b/view/adminhtml/templates/info/twocc/instructions.phtml index 556c231..9566ac1 100644 --- a/view/adminhtml/templates/info/twocc/instructions.phtml +++ b/view/adminhtml/templates/info/twocc/instructions.phtml @@ -49,7 +49,7 @@ $mpPaymentId = isset($specificInfo['mp_payment_id']) ? $specificInfo['mp_payment escapeHtml(__('card_finance_cost')); ?>: - escapeHtml($block->getFormatedPrice($specificInfo['card_' . $i . '_finance_cost'])) ?> + escapeHtml($block->getFormatedPrice($specificInfo['card_' . $i . '_finance_cost'], false)) ?> diff --git a/view/frontend/templates/info/cc/instructions.phtml b/view/frontend/templates/info/cc/instructions.phtml index 5535736..9fd66f3 100644 --- a/view/frontend/templates/info/cc/instructions.phtml +++ b/view/frontend/templates/info/cc/instructions.phtml @@ -29,7 +29,7 @@ $specificInfo = $block->getSpecificInformation(); escapeHtml(__('card_finance_cost')); ?>: - escapeHtml($block->getFormatedPrice($specificInfo['card_finance_cost'])) ?> + escapeHtml($block->getFormatedPrice($specificInfo['card_finance_cost'], false)) ?> diff --git a/view/frontend/templates/info/twocc/instructions.phtml b/view/frontend/templates/info/twocc/instructions.phtml index bd85747..90ee6d0 100644 --- a/view/frontend/templates/info/twocc/instructions.phtml +++ b/view/frontend/templates/info/twocc/instructions.phtml @@ -39,7 +39,7 @@ $specificInfo = $block->getSpecificInformation(); escapeHtml(__('card_finance_cost')); ?>: - escapeHtml($block->getFormatedPrice($specificInfo['card_' . $i . '_finance_cost'])) ?> + escapeHtml($block->getFormatedPrice($specificInfo['card_' . $i . '_finance_cost'], false)) ?> diff --git a/view/frontend/templates/order/success/twocc.phtml b/view/frontend/templates/order/success/twocc.phtml index ec527f9..2290e65 100644 --- a/view/frontend/templates/order/success/twocc.phtml +++ b/view/frontend/templates/order/success/twocc.phtml @@ -53,7 +53,7 @@

escapeHtml(__('Finance Cost')) ?>: - escapeHtml(__($block->getFormatedPrice($block->getInfo('card_'.$i.'_finance_cost')))) ?> + escapeHtml(__($block->getFormatedPrice($block->getInfo('card_'.$i.'_finance_cost'), false))) ?>

diff --git a/view/frontend/web/css/source/_module.less b/view/frontend/web/css/source/_module.less index 51553cc..1b59e48 100644 --- a/view/frontend/web/css/source/_module.less +++ b/view/frontend/web/css/source/_module.less @@ -205,7 +205,7 @@ p { margin-bottom: 0px; } - + strong { font-weight: 600; } @@ -759,7 +759,7 @@ } @media screen and (max-width: 472px){ - + .mp-redirect-message { margin-left: 0 ; } @@ -778,7 +778,7 @@ .payment-method .row-fluid-box-mercado-credits { height: 36px; } - + .payment-method .row-text-mercado-credits { white-space: normal; } @@ -817,4 +817,4 @@ .mp-credits-message-box { text-align: left; } -} +} \ No newline at end of file diff --git a/view/frontend/web/js/view/payment/method-renderer/cc.js b/view/frontend/web/js/view/payment/method-renderer/cc.js index c46c74f..c59c604 100644 --- a/view/frontend/web/js/view/payment/method-renderer/cc.js +++ b/view/frontend/web/js/view/payment/method-renderer/cc.js @@ -305,7 +305,7 @@ define([ type: 'popup', responsive: false, innerScroll: false, - title: $t('Complete the bank validation so your payment can be approved'), + title: $t('Complete the bank validation so your payment can be approved'), modalClass: 'modal-challenge', closed: function () { self.destroyModal(); @@ -352,7 +352,7 @@ define([ } }, 3000) }, - + destroyModal() { $('#modal-3ds-challenge').remove(); }, @@ -372,15 +372,15 @@ define([ try { const interval = 2000; let elapsedTime = 0; - + const intervalId = setInterval(() => { this.getPaymentStatus(); var paymentStatus = this.getPaymentStatusResponse(); - + if (elapsedTime >= 10000 || paymentStatus.status === 'approved' || paymentStatus.status === 'rejected') { $('#modal-3ds-challenge').modal('closeModal'); this.destroyModal(); - clearInterval(intervalId); + clearInterval(intervalId); this.placeOrder(); threeDs.sendMetric('mp_3ds_success_pooling_time', 'Pooling time: ' + elapsedTime.toString() + ' ms'); } diff --git a/view/frontend/web/js/view/payment/method-renderer/twocc.js b/view/frontend/web/js/view/payment/method-renderer/twocc.js index 47835a3..cdaed04 100644 --- a/view/frontend/web/js/view/payment/method-renderer/twocc.js +++ b/view/frontend/web/js/view/payment/method-renderer/twocc.js @@ -130,8 +130,8 @@ define([ const firstCardAmount = self.FormattedCurrencyToInstallments(self.inputValueProgress()); - const currentCardAmount = self.cardIndex() == 0 - ? self.FormattedCurrencyToInstallments(firstCardAmount) + const currentCardAmount = self.cardIndex() == 0 + ? self.FormattedCurrencyToInstallments(firstCardAmount) : self.FormattedCurrencyToInstallments(newAmount - firstCardAmount); if (currentCardAmount !== self.installmentsAmount()) { @@ -342,7 +342,7 @@ define([ if (this.getMpSiteId() === 'MCO' || this.getMpSiteId() === 'MLC') { return true; } - + return false; }, @@ -379,7 +379,7 @@ define([ return 'second-card-opened-form'; }, - + resetFirstCard() { this.editFirstCard(); this.mpPayerDocument(''); @@ -405,4 +405,4 @@ define([ this.resetFirstCard(); }, }); -}); +}); \ No newline at end of file diff --git a/view/frontend/web/template/payment/checkout-credits-form.html b/view/frontend/web/template/payment/checkout-credits-form.html index 561d677..5afd4c2 100644 --- a/view/frontend/web/template/payment/checkout-credits-form.html +++ b/view/frontend/web/template/payment/checkout-credits-form.html @@ -68,4 +68,4 @@ - + \ No newline at end of file diff --git a/view/frontend/web/template/payment/checkout-credits.html b/view/frontend/web/template/payment/checkout-credits.html index edd1398..a8ba510 100644 --- a/view/frontend/web/template/payment/checkout-credits.html +++ b/view/frontend/web/template/payment/checkout-credits.html @@ -52,4 +52,4 @@ - + \ No newline at end of file