HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/magento.bikenow.co/vendor/amzn/amazon-pay-module/etc/di.xml
<?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="AmazonValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool">
        <arguments>
            <argument name="validators" xsi:type="array">
                <item name="country" xsi:type="string">AmazonCountryValidator</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">
    </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="Magento\Quote\Model\PaymentMethodManagement">
        <plugin name="confirm_order_reference_on_payment_details_save" type="Amazon\Payment\Plugin\ConfirmOrderReference" 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="Amazon\Core\Logger\ExceptionLogger">
        <arguments>
            <argument name="logger" xsi:type="object">Amazon\Core\Logger\Logger</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>
    
    <!-- Order comments for currency differences  -->
    <type name="Magento\Sales\Model\Order\Payment">
        <plugin name="amazon_pay_order_payment" type="Amazon\Payment\Plugin\OrderCurrencyComment" />
    </type>
</config>