<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Payment\Gateway\ErrorMapper; use Magento\Framework\Config\DataInterface; /** * This class can be used for payment integrations which can validate different type of * error messages per one request. * For example, during authorization payment operation the payment integration can validate error messages * related to credit card details and customer address data. * In that case, this implementation can be extended via di.xml and configured with appropriate mappers. * * @api * @since 100.2.2 */ class ErrorMessageMapper implements ErrorMessageMapperInterface { /** * @var DataInterface */ private $messageMapping; /** * @param DataInterface $messageMapping */ public function __construct(DataInterface $messageMapping) { $this->messageMapping = $messageMapping; } /** * @inheritdoc * @since 100.2.2 */ public function getMessage(string $code) { $message = $this->messageMapping->get($code); return $message ? __($message) : null; } }