| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322 |
- <?xml version="1.0"?>
- <!--
- /**
- * Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License").
- * You may not use this file except in compliance with the License.
- * A copy of the License is located at
- *
- * http://aws.amazon.com/apache2.0
- *
- * or in the "license" file accompanying this file. This file is distributed
- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
- -->
- <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
- <!-- Payment Method Facade configuration -->
- <virtualType name="AmazonFacade" type="Magento\Payment\Model\Method\Adapter">
- <arguments>
- <argument name="code" xsi:type="const">Amazon\Payment\Gateway\Config\Config::CODE</argument>
- <argument name="formBlockType" xsi:type="string">Magento\Payment\Block\Form</argument>
- <argument name="infoBlockType" xsi:type="string">Magento\Payment\Block\Info</argument>
- <argument name="valueHandlerPool" xsi:type="object">AmazonValueHandlerPool</argument>
- <argument name="validatorPool" xsi:type="object">AmazonValidatorPool</argument>
- <argument name="commandPool" xsi:type="object">AmazonCommandPool</argument>
- </arguments>
- </virtualType>
- <!-- Amazon validators infrastructure -->
- <virtualType name="AmazonCountryValidator" type="Magento\Payment\Gateway\Validator\CountryValidator">
- <arguments>
- <argument name="config" xsi:type="object">Amazon\Payment\Gateway\Config\Config</argument>
- </arguments>
- </virtualType>
- <virtualType name="AmazonCurrencyValidator" type="Amazon\Payment\Gateway\Validator\CurrencyValidator">
- <arguments>
- <argument name="config" xsi:type="object">Amazon\Payment\Gateway\Config\Config</argument>
- </arguments>
- </virtualType>
- <virtualType name="AmazonValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool">
- <arguments>
- <argument name="validators" xsi:type="array">
- <item name="country" xsi:type="string">AmazonCountryValidator</item>
- <item name="currency" xsi:type="string">AmazonCurrencyValidator</item>
- </argument>
- </arguments>
- </virtualType>
- <!-- Amazon error code mapper -->
- <virtualType name="Amazon\Payment\Gateway\ErrorMapper\VirtualConfigReader" type="Magento\Payment\Gateway\ErrorMapper\VirtualConfigReader">
- <arguments>
- <argument name="fileName" xsi:type="string">amazon_error_mapping.xml</argument>
- </arguments>
- </virtualType>
- <virtualType name="Amazon\Payment\Gateway\ErrorMapper\VirtualMappingData" type="Magento\Payment\Gateway\ErrorMapper\MappingData">
- <arguments>
- <argument name="reader" xsi:type="object">Amazon\Payment\Gateway\ErrorMapper\VirtualConfigReader</argument>
- <argument name="cacheId" xsi:type="string">amazon_error_mapper</argument>
- </arguments>
- </virtualType>
- <virtualType name="Amazon\Payment\Gateway\ErrorMapper\VirtualErrorMessageMapper" type="Magento\Payment\Gateway\ErrorMapper\ErrorMessageMapper">
- <arguments>
- <argument name="messageMapping" xsi:type="object">Amazon\Payment\Gateway\ErrorMapper\VirtualMappingData</argument>
- </arguments>
- </virtualType>
- <!-- Logger, initialized with Amazon Config -->
- <virtualType name="AmazonLogger" type="Magento\Payment\Model\Method\Logger">
- <arguments>
- <argument name="config" xsi:type="object">AmazonGatewayConfig</argument>
- </arguments>
- </virtualType>
- <!-- Commands infrastructure -->
- <virtualType name="AmazonCommandPool" type="Magento\Payment\Gateway\Command\CommandPool">
- <arguments>
- <argument name="commands" xsi:type="array">
- <item name="authorize" xsi:type="string">AmazonAuthorizeCommand</item>
- <item name="capture" xsi:type="string">AmazonCaptureStrategyCommand</item>
- <item name="sale" xsi:type="string">AmazonSaleCommand</item>
- <item name="settlement" xsi:type="string">AmazonSettlementCommand</item>
- <item name="void" xsi:type="string">AmazonVoidCommand</item>
- <item name="cancel" xsi:type="string">AmazonVoidCommand</item>
- <item name="refund" xsi:type="string">AmazonRefundCommand</item>
- </argument>
- </arguments>
- </virtualType>
- <virtualType name="AmazonCaptureStrategyCommand" type="Amazon\Payment\Gateway\Command\CaptureStrategyCommand">
- <arguments>
- <argument name="commandPool" xsi:type="object">AmazonCommandPool</argument>
- </arguments>
- </virtualType>
- <!-- Configuration reader -->
- <virtualType name="AmazonGatewayConfig" type="Amazon\Payment\Gateway\Config\Config">
- <arguments>
- <argument name="methodCode" xsi:type="const">Amazon\Payment\Gateway\Config\Config::CODE</argument>
- </arguments>
- </virtualType>
- <virtualType name="AmazonCommandManager" type="Magento\Payment\Gateway\Command\CommandManager">
- <arguments>
- <argument name="commandPool" xsi:type="object">AmazonCommandPool</argument>
- </arguments>
- </virtualType>
- <type name="Magento\Payment\Gateway\Command\CommandManagerPool">
- <arguments>
- <argument name="executors" xsi:type="array">
- <item name="amazon_payment" xsi:type="string">AmazonCommandManager</item>
- </argument>
- </arguments>
- </type>
- <virtualType name="AmazonAuthorizationValidators" type="Magento\Payment\Gateway\Validator\ValidatorComposite">
- <arguments>
- <argument name="validators" xsi:type="array">
- <item name="contraints" xsi:type="string">Amazon\Payment\Gateway\Validator\ConstraintValidator</item>
- <item name="authcodes" xsi:type="string">Amazon\Payment\Gateway\Validator\AuthorizationValidator</item>
- </argument>
- </arguments>
- </virtualType>
- <!-- Authorize command -->
- <virtualType name="AmazonAuthorizeCommand" type="Amazon\Payment\Gateway\Command\AmazonAuthCommand">
- <arguments>
- <argument name="requestBuilder" xsi:type="object">Amazon\Payment\Gateway\Request\AuthorizationRequestBuilder</argument>
- <argument name="handler" xsi:type="object">Amazon\Payment\Gateway\Response\CompleteAuthHandler</argument>
- <argument name="transferFactory" xsi:type="object">Amazon\Payment\Gateway\Http\TransferFactory</argument>
- <argument name="validator" xsi:type="object">AmazonAuthorizationValidators</argument>
- <argument name="client" xsi:type="object">Amazon\Payment\Gateway\Http\Client\AuthorizeClient</argument>
- <argument name="errorMessageMapper" xsi:type="object">Amazon\Payment\Gateway\ErrorMapper\VirtualErrorMessageMapper</argument>
- </arguments>
- </virtualType>
- <type name="Amazon\Payment\Gateway\Request\AuthorizationRequestBuilder">
- <arguments>
- <argument name="config" xsi:type="object">AmazonGatewayConfig</argument>
- </arguments>
- </type>
- <!-- Authorize and Capture command -->
- <virtualType name="AmazonSaleCommand" type="Amazon\Payment\Gateway\Command\AmazonAuthCommand">
- <arguments>
- <argument name="requestBuilder" xsi:type="object">Amazon\Payment\Gateway\Request\AuthorizationRequestBuilder</argument>
- <argument name="handler" xsi:type="object">Amazon\Payment\Gateway\Response\CompleteSaleHandler</argument>
- <argument name="transferFactory" xsi:type="object">Amazon\Payment\Gateway\Http\TransferFactory</argument>
- <argument name="validator" xsi:type="object">AmazonAuthorizationValidators</argument>
- <argument name="client" xsi:type="object">Amazon\Payment\Gateway\Http\Client\CaptureClient</argument>
- <argument name="errorMessageMapper" xsi:type="object">Amazon\Payment\Gateway\ErrorMapper\VirtualErrorMessageMapper</argument>
- </arguments>
- </virtualType>
- <!-- Capture settlement command -->
- <virtualType name="AmazonSettlementCommand" type="Amazon\Payment\Gateway\Command\AmazonAuthCommand">
- <arguments>
- <argument name="requestBuilder" xsi:type="object">Amazon\Payment\Gateway\Request\SettlementRequestBuilder</argument>
- <argument name="handler" xsi:type="object">Amazon\Payment\Gateway\Response\SettlementHandler</argument>
- <argument name="transferFactory" xsi:type="object">Amazon\Payment\Gateway\Http\TransferFactory</argument>
- <argument name="validator" xsi:type="object">AmazonAuthorizationValidators</argument>
- <argument name="client" xsi:type="object">Amazon\Payment\Gateway\Http\Client\SettlementClient</argument>
- <argument name="errorMessageMapper" xsi:type="object">Amazon\Payment\Gateway\ErrorMapper\VirtualErrorMessageMapper</argument>
- </arguments>
- </virtualType>
- <!-- Refund Command -->
- <virtualType name="AmazonRefundCommand" type="Magento\Payment\Gateway\Command\GatewayCommand">
- <arguments>
- <argument name="requestBuilder" xsi:type="object">Amazon\Payment\Gateway\Request\RefundRequestBuilder</argument>
- <argument name="handler" xsi:type="object">Amazon\Payment\Gateway\Response\RefundHandler</argument>
- <argument name="transferFactory" xsi:type="object">Amazon\Payment\Gateway\Http\TransferFactory</argument>
- <argument name="validator" xsi:type="object">Amazon\Payment\Gateway\Validator\AuthorizationValidator</argument>
- <argument name="client" xsi:type="object">Amazon\Payment\Gateway\Http\Client\RefundClient</argument>
- <argument name="errorMessageMapper" xsi:type="object">Amazon\Payment\Gateway\ErrorMapper\VirtualErrorMessageMapper</argument>
- </arguments>
- </virtualType>
- <!-- Void command -->
- <virtualType name="AmazonVoidCommand" type="Magento\Payment\Gateway\Command\GatewayCommand">
- <arguments>
- <argument name="requestBuilder" xsi:type="object">Amazon\Payment\Gateway\Request\VoidRequestBuilder</argument>
- <argument name="handler" xsi:type="object">Amazon\Payment\Gateway\Response\VoidHandler</argument>
- <argument name="transferFactory" xsi:type="object">Amazon\Payment\Gateway\Http\TransferFactory</argument>
- <argument name="validator" xsi:type="object">Amazon\Payment\Gateway\Validator\AuthorizationValidator</argument>
- <argument name="client" xsi:type="object">Amazon\Payment\Gateway\Http\Client\VoidClient</argument>
- <argument name="errorMessageMapper" xsi:type="object">Amazon\Payment\Gateway\ErrorMapper\VirtualErrorMessageMapper</argument>
- </arguments>
- </virtualType>
- <!-- Void Request -->
- <type name="Amazon\Payment\Gateway\Request\VoidRequestBuilder">
- <arguments>
- <argument name="config" xsi:type="object">AmazonGatewayConfig</argument>
- </arguments>
- </type>
- <!-- Value handlers infrastructure -->
- <virtualType name="AmazonValueHandlerPool" type="Magento\Payment\Gateway\Config\ValueHandlerPool">
- <arguments>
- <argument name="handlers" xsi:type="array">
- <item name="default" xsi:type="string">AmazonConfigValueHandler</item>
- </argument>
- </arguments>
- </virtualType>
- <virtualType name="AmazonConfigValueHandler" type="Magento\Payment\Gateway\Config\ConfigValueHandler">
- <arguments>
- <argument name="configInterface" xsi:type="object">AmazonGatewayConfig</argument>
- </arguments>
- </virtualType>
- <type name="Amazon\Payment\Block\Info">
- <arguments>
- <argument name="config" xsi:type="object">AmazonGatewayConfig</argument>
- </arguments>
- </type>
- <!-- end gateway config -->
- <preference for="Amazon\Payment\Api\OrderInformationManagementInterface" type="Amazon\Payment\Model\OrderInformationManagement"/>
- <preference for="Amazon\Payment\Api\AddressManagementInterface" type="Amazon\Payment\Model\AddressManagement"/>
- <preference for="Amazon\Payment\Api\QuoteLinkManagementInterface" type="Amazon\Payment\Model\QuoteLinkManagement"/>
- <preference for="Amazon\Payment\Api\Data\QuoteLinkInterface" type="Amazon\Payment\Model\QuoteLink"/>
- <preference for="Amazon\Payment\Api\Data\OrderLinkInterface" type="Amazon\Payment\Model\OrderLink"/>
- <preference for="Amazon\Payment\Api\Data\PendingCaptureInterface" type="Amazon\Payment\Model\PendingCapture"/>
- <preference for="Amazon\Payment\Api\Data\PendingAuthorizationInterface" type="Amazon\Payment\Model\PendingAuthorization"/>
- <preference for="Amazon\Payment\Api\Data\PendingRefundInterface" type="Amazon\Payment\Model\PendingRefund"/>
- <preference for="Amazon\Payment\Ipn\IpnHandlerFactoryInterface" type="Amazon\Payment\Ipn\IpnHandlerFactory"/>
- <preference for="AmazonPay\IpnHandlerInterface" type="Amazon\Payment\Ipn\IpnHandler"/>
- <preference for="Amazon\Payment\Api\Ipn\CompositeProcessorInterface" type="Amazon\Payment\Model\Ipn\CompositeProcessor"/>
- <type name="Magento\Quote\Api\CartRepositoryInterface">
- <plugin name="amazon_payment_quote_repository" type="Amazon\Payment\Plugin\QuoteRepository" sortOrder="1"/>
- </type>
- <type name="Magento\Checkout\Api\ShippingInformationManagementInterface">
- <plugin name="amazon_payment_shipping_information_management" type="Amazon\Payment\Plugin\ShippingInformationManagement" sortOrder="1"/>
- </type>
- <type name="Magento\Quote\Api\Data\PaymentInterface">
- <plugin name="amazon_payment_additional_information" type="Amazon\Payment\Plugin\AdditionalInformation"/>
- </type>
- <type name="Amazon\Payment\Model\Method\AmazonLoginMethod">
- <plugin name="disable_amazon_payment_method" type="Amazon\Payment\Plugin\DisableAmazonPaymentMethod" sortOrder="10" disabled="false"/>
- </type>
- <type name="Amazon\Payment\Cron\ProcessAmazonRefunds">
- <arguments>
- <argument name="paymentManagement" xsi:type="object">Amazon\Payment\Model\PaymentManagement\Proxy</argument>
- </arguments>
- </type>
- <type name="Amazon\Payment\Cron\GetAmazonCaptureUpdates">
- <arguments>
- <argument name="paymentManagement" xsi:type="object">Amazon\Payment\Model\PaymentManagement\Proxy</argument>
- </arguments>
- </type>
- <type name="Amazon\Payment\Model\QueuedRefundUpdater">
- <arguments>
- <argument name="adminNotifier" xsi:type="object">Magento\Framework\Notification\NotifierInterface\Proxy</argument>
- </arguments>
- </type>
- <type name="Amazon\Payment\Api\Ipn\CompositeProcessorInterface">
- <arguments>
- <argument name="processors" xsi:type="array">
- <item name="captureprocessor" xsi:type="object">Amazon\Payment\Model\Ipn\CaptureProcessor\Proxy</item>
- <item name="authorizationprocessor" xsi:type="object">Amazon\Payment\Model\Ipn\AuthorizationProcessor\Proxy</item>
- <item name="orderprocessor" xsi:type="object">Amazon\Payment\Model\Ipn\OrderProcessor\Proxy</item>
- <item name="refundprocessor" xsi:type="object">Amazon\Payment\Model\Ipn\RefundProcessor\Proxy</item>
- </argument>
- </arguments>
- </type>
- <type name="Amazon\Core\Logger\IpnLogger">
- <arguments>
- <argument name="name" xsi:type="string">amazonIpnLogger</argument>
- <argument name="handlers" xsi:type="array">
- <item name="debug" xsi:type="object">Amazon\Core\Logger\Handler\Ipn</item>
- </argument>
- </arguments>
- </type>
- <type name="Amazon\Payment\Ipn\IpnHandlerFactoryInterface">
- <arguments>
- <argument name="logger" xsi:type="object">Amazon\Core\Logger\IpnLogger</argument>
- </arguments>
- </type>
- <type name="Magento\Framework\Webapi\ErrorProcessor">
- <plugin name="amazon_payment_webapi_error_processor" type="Amazon\Payment\Plugin\WebapiErrorProcessor" sortOrder="1"/>
- </type>
- <type name="Amazon\Payment\Gateway\Config\Config">
- <arguments>
- <argument name="methodCode" xsi:type="const">Amazon\Payment\Gateway\Config\Config::CODE</argument>
- </arguments>
- </type>
- <type name="Amazon\Payment\Helper\Shortcut\Validator">
- <arguments>
- <argument name="amazonConfig" xsi:type="object">Amazon\Payment\Gateway\Config\Config</argument>
- </arguments>
- </type>
- <type name="Magento\ScalableCheckout\Console\Command\SplitQuote">
- <arguments>
- <argument name="tables" xsi:type="array">
- <item name="amazon_quote" xsi:type="string">amazon_quote</item>
- </argument>
- </arguments>
- </type>
- <type name="Amazon\Payment\Model\ResourceModel\QuoteLink">
- <arguments>
- <argument name="connectionName" xsi:type="string">checkout</argument>
- </arguments>
- </type>
- <type name="Magento\ScalableOms\Console\Command\SplitSales">
- <arguments>
- <argument name="tables" xsi:type="array">
- <item name="amazon_sales_order" xsi:type="string">amazon_sales_order</item>
- </argument>
- </arguments>
- </type>
- <type name="Amazon\Payment\Model\ResourceModel\OrderLink">
- <arguments>
- <argument name="connectionName" xsi:type="string">sales</argument>
- </arguments>
- </type>
- </config>
|