<?xml version="1.0"?> <!-- /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <virtualType name="Magento\Paypal\Model\PayflowadvancedFactory" type="Magento\Paypal\Model\PayflowlinkFactory"> <arguments> <argument name="instanceName" xsi:type="string">Magento\Paypal\Model\Payflowadvanced</argument> </arguments> </virtualType> <type name="Magento\Paypal\Controller\Payflowadvanced\SilentPost"> <arguments> <argument name="payflowModelFactory" xsi:type="object">Magento\Paypal\Model\PayflowadvancedFactory</argument> </arguments> </type> <virtualType name="Magento\Paypal\Model\Payflow\ProFactory" type="Magento\Paypal\Model\ProFactory"> <arguments> <argument name="instanceName" xsi:type="string">Magento\Paypal\Model\Payflow\Pro</argument> </arguments> </virtualType> <type name="Magento\Paypal\Model\PayflowExpress"> <arguments> <argument name="proFactory" xsi:type="object">Magento\Paypal\Model\Payflow\ProFactory</argument> </arguments> </type> <preference for="Magento\Paypal\Helper\Shortcut\ValidatorInterface" type="Magento\Paypal\Helper\Shortcut\Validator"/> <type name="Magento\Paypal\Block\Express\Shortcut"> <arguments> <argument name="paymentMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_EXPRESS</argument> <argument name="startAction" xsi:type="string">paypal/express/start/button/1</argument> <argument name="checkoutType" xsi:type="string">Magento\Paypal\Model\Express\Checkout</argument> <argument name="alias" xsi:type="string">product.info.addtocart.paypal</argument> <argument name="shortcutTemplate" xsi:type="string">express/shortcut.phtml</argument> </arguments> </type> <virtualType name="Magento\Paypal\Block\WpsExpress\Shortcut" type="Magento\Paypal\Block\Express\Shortcut"></virtualType> <virtualType name="Magento\Paypal\Block\PayflowExpress\Shortcut" type="Magento\Paypal\Block\Express\Shortcut"> <arguments> <argument name="paymentMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_PE_EXPRESS</argument> <argument name="startAction" xsi:type="string">paypal/payflowexpress/start/button/1</argument> <argument name="checkoutType" xsi:type="string">Magento\Paypal\Model\PayflowExpress\Checkout</argument> <argument name="alias" xsi:type="string">product.info.addtocart.payflow</argument> <argument name="shortcutTemplate" xsi:type="string">express/shortcut.phtml</argument> </arguments> </virtualType> <type name="Magento\Paypal\Block\Bml\Shortcut"> <arguments> <argument name="paymentMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_EXPRESS</argument> <argument name="startAction" xsi:type="string">paypal/bml/start/button/1</argument> <argument name="bmlMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_BML</argument> <argument name="alias" xsi:type="string">product.info.addtocart.paypalbml</argument> <argument name="shortcutTemplate" xsi:type="string">express/shortcut.phtml</argument> </arguments> </type> <virtualType name="Magento\Paypal\Block\WpsBml\Shortcut" type="Magento\Paypal\Block\Bml\Shortcut"></virtualType> <type name="Magento\Paypal\Helper\Data"> <arguments> <argument name="methodCodes" xsi:type="array"> <item name="expressCheckout" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_EXPRESS</item> <item name="hostedPro" xsi:type="const">Magento\Paypal\Model\Config::METHOD_HOSTEDPRO</item> </argument> </arguments> </type> <type name="Magento\Payment\Model\Checks\Composite"> <plugin name="paypal_specification" type="Magento\Paypal\Model\Method\Checks\SpecificationPlugin"/> </type> <type name="Magento\Sales\Model\Order"> <plugin name="express_order_invoice" type="Magento\Paypal\Plugin\OrderCanInvoice"/> </type> <type name="Magento\Sales\Model\Order\Validation\CanInvoice"> <plugin name="express_order_invoice" type="Magento\Paypal\Plugin\ValidatorCanInvoice"/> </type> <virtualType name="Magento\Paypal\Block\Payflow\Bml\Shortcut" type="Magento\Paypal\Block\Bml\Shortcut"> <arguments> <argument name="paymentMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_PE_EXPRESS</argument> <argument name="startAction" xsi:type="string">paypal/payflowbml/start/button/1</argument> <argument name="bmlMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_PE_BML</argument> <argument name="alias" xsi:type="string">product.info.addtocart.payflowbml</argument> </arguments> </virtualType> <virtualType name="payflowproConfigFactory" type="Magento\Payment\Model\Method\ConfigInterfaceFactory"> <arguments> <argument xsi:type="string" name="instanceName">Magento\Paypal\Model\PayflowConfig</argument> </arguments> </virtualType> <virtualType name="payflowlinkConfigFactory" type="Magento\Payment\Model\Method\ConfigInterfaceFactory"> <arguments> <argument xsi:type="string" name="instanceName">Magento\Paypal\Model\Config</argument> </arguments> </virtualType> <type name="Magento\Paypal\Model\Payflowpro"> <arguments> <argument name="configFactory" xsi:type="object">payflowproConfigFactory</argument> </arguments> </type> <!-- Configuration for PayflowPro Vault payment --> <virtualType name="PayflowProVaultPaymentConfig" type="Magento\Payment\Gateway\Config\Config"> <arguments> <argument name="methodCode" xsi:type="const">Magento\Paypal\Model\Payflow\Transparent::CC_VAULT_CODE</argument> </arguments> </virtualType> <virtualType name="PayflowProVaultPaymentValueHandler" type="VaultPaymentDefaultValueHandler"> <arguments> <argument name="configInterface" xsi:type="object">PayflowProVaultPaymentConfig</argument> </arguments> </virtualType> <virtualType name="PayflowProVaultPaymentValueHandlerPool" type="VaultPaymentValueHandlerPool"> <arguments> <argument name="handlers" xsi:type="array"> <item name="default" xsi:type="string">PayflowProVaultPaymentValueHandler</item> </argument> </arguments> </virtualType> <virtualType name="PayflowProCreditCardVaultFacade" type="Magento\Vault\Model\Method\Vault"> <arguments> <argument name="config" xsi:type="object">PayflowProVaultPaymentConfig</argument> <argument name="valueHandlerPool" xsi:type="object">PayflowProVaultPaymentValueHandlerPool</argument> <argument name="vaultProvider" xsi:type="object">Magento\Paypal\Model\Payflow\Transparent</argument> <argument name="code" xsi:type="const">Magento\Paypal\Model\Payflow\Transparent::CC_VAULT_CODE</argument> </arguments> </virtualType> <type name="Magento\Paypal\Model\Payflowlink"> <arguments> <argument name="configFactory" xsi:type="object">payflowlinkConfigFactory</argument> </arguments> </type> <type name="Magento\Paypal\Model\Payflow\Service\Response\Validator\ResponseValidator"> <arguments> <argument name="validators" xsi:type="array"> <item name="cvv2_code" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\CVV2Match</item> <item name="avs_response" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\AVSResponse</item> <item name="iavs_response" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\IAVSResponse</item> </argument> </arguments> </type> <virtualType name="Magento\Paypal\Model\Payflow\Service\Response\Validator\ResponseValidatorInController" type="Magento\Paypal\Model\Payflow\Service\Response\Validator\ResponseValidator"> <arguments> <argument name="validators" xsi:type="array"> <item name="secure_token" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\SecureToken</item> <item name="cvv2_code" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\CVV2Match</item> <item name="avs_response" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\AVSResponse</item> <item name="iavs_response" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\IAVSResponse</item> </argument> </arguments> </virtualType> <type name="Magento\Paypal\Controller\Transparent\Response"> <arguments> <argument name="responseValidator" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\ResponseValidatorInController</argument> </arguments> </type> <preference for="Magento\Paypal\Model\Payflow\Service\Response\Handler\HandlerInterface" type="Magento\Paypal\Model\Payflow\Service\Response\Handler\HandlerComposite"/> <type name="Magento\Paypal\Model\Payflow\Service\Response\Handler\HandlerComposite"> <arguments> <argument name="handlers" xsi:type="array"> <item name="fraudHandler" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Handler\FraudHandler</item> <item name="creditCardHandler" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Handler\CreditCardValidationHandler</item> </argument> </arguments> </type> <virtualType name="PayflowproCommandPool" type="Magento\Payment\Gateway\Command\CommandPool"> <arguments> <argument name="commands" xsi:type="array"> <item name="vault_authorize" xsi:type="string">Magento\Paypal\Gateway\Payflowpro\Command\AuthorizationCommand</item> <item name="vault_sale" xsi:type="string">Magento\Paypal\Gateway\Payflowpro\Command\SaleCommand</item> </argument> </arguments> </virtualType> <virtualType name="PayflowproCommandManager" type="Magento\Payment\Gateway\Command\CommandManager"> <arguments> <argument name="commandPool" xsi:type="object">PayflowproCommandPool</argument> </arguments> </virtualType> <type name="Magento\Payment\Gateway\Command\CommandManagerPool"> <arguments> <argument name="executors" xsi:type="array"> <item name="payflowpro" xsi:type="string">PayflowproCommandManager</item> </argument> </arguments> </type> <type name="Magento\Paypal\Model\Payflow\Transparent"> <arguments> <argument name="paymentTokenFactory" xsi:type="object">Magento\Vault\Model\CreditCardTokenFactory</argument> </arguments> </type> <type name="Magento\Config\Model\Config\TypePool"> <arguments> <argument name="sensitive" xsi:type="array"> <item name="payment/payflow_advanced/proxy_host" xsi:type="string">1</item> <item name="payment/payflow_advanced/pwd" xsi:type="string">1</item> <item name="payment/payflow_advanced/user" xsi:type="string">1</item> <item name="payment/payflow_link/proxy_host" xsi:type="string">1</item> <item name="payment/payflow_link/pwd" xsi:type="string">1</item> <item name="payment/payflowpro/partner" xsi:type="string">1</item> <item name="payment/payflowpro/proxy_host" xsi:type="string">1</item> <item name="payment/payflowpro/pwd" xsi:type="string">1</item> <item name="payment/payflowpro/user" xsi:type="string">1</item> <item name="payment/paypal_express/merchant_id" xsi:type="string">1</item> <item name="payment/paypal_express_bml/publisher_id" xsi:type="string">1</item> <item name="payment_all_paypal/express_checkout/settings_ec/settings_ec_advanced/express_checkout_settlement_report/heading_sftp" xsi:type="string">1</item> <item name="payment_all_paypal/payflow_link/settings_payflow_link/settings_payflow_link_advanced/payflow_link_settlement_report/heading_sftp" xsi:type="string">1</item> <item name="payment_all_paypal/payments_pro_hosted_solution/pphs_settings/pphs_settings_advanced/pphs_settlement_report/heading_sftp" xsi:type="string">1</item> <item name="payment_all_paypal/paypal_payflowpro/settings_paypal_payflow/heading_cc" xsi:type="string">1</item> <item name="payment_all_paypal/paypal_payflowpro/settings_paypal_payflow/settings_paypal_payflow_advanced/paypal_payflow_settlement_report/heading_sftp" xsi:type="string">1</item> <item name="paypal/fetch_reports/ftp_ip" xsi:type="string">1</item> <item name="paypal/fetch_reports/ftp_login" xsi:type="string">1</item> <item name="paypal/fetch_reports/ftp_password" xsi:type="string">1</item> <item name="paypal/fetch_reports/ftp_path" xsi:type="string">1</item> <item name="paypal/general/business_account" xsi:type="string">1</item> <item name="paypal/general/merchant_country" xsi:type="string">1</item> <item name="paypal/wpp/api_cert" xsi:type="string">1</item> <item name="paypal/wpp/api_password" xsi:type="string">1</item> <item name="paypal/wpp/api_signature" xsi:type="string">1</item> <item name="paypal/wpp/api_username" xsi:type="string">1</item> <item name="paypal/wpp/proxy_host" xsi:type="string">1</item> </argument> <argument name="environment" xsi:type="array"> <item name="payment/hosted_pro/debug" xsi:type="string">1</item> <item name="payment/payflow_advanced/debug" xsi:type="string">1</item> <item name="payment/payflow_advanced/proxy_host" xsi:type="string">1</item> <item name="payment/payflow_advanced/proxy_port" xsi:type="string">1</item> <item name="payment/payflow_advanced/sandbox_flag" xsi:type="string">1</item> <item name="payment/payflow_advanced/url_method" xsi:type="string">1</item> <item name="payment/payflow_express/debug" xsi:type="string">1</item> <item name="payment/payflow_link/debug" xsi:type="string">1</item> <item name="payment/payflow_link/proxy_host" xsi:type="string">1</item> <item name="payment/payflow_link/proxy_port" xsi:type="string">1</item> <item name="payment/payflow_link/sandbox_flag" xsi:type="string">1</item> <item name="payment/payflow_link/url_method" xsi:type="string">1</item> <item name="payment/payflow_link/use_proxy" xsi:type="string">1</item> <item name="payment/payflowpro/debug" xsi:type="string">1</item> <item name="payment/payflowpro/proxy_host" xsi:type="string">1</item> <item name="payment/payflowpro/proxy_port" xsi:type="string">1</item> <item name="payment/payflowpro/pwd" xsi:type="string">1</item> <item name="payment/payflowpro/sandbox_flag" xsi:type="string">1</item> <item name="payment/paypal_billing_agreement/debug" xsi:type="string">1</item> <item name="payment/paypal_express/debug" xsi:type="string">1</item> <item name="payment_all_paypal/paypal_payflowpro/settings_paypal_payflow/settings_paypal_payflow_advanced/paypal_payflow_settlement_report/heading_sftp" xsi:type="string">1</item> <item name="paypal/fetch_reports/ftp_ip" xsi:type="string">1</item> <item name="paypal/fetch_reports/ftp_path" xsi:type="string">1</item> <item name="paypal/fetch_reports/ftp_sandbox" xsi:type="string">1</item> <item name="paypal/wpp/proxy_host" xsi:type="string">1</item> <item name="paypal/wpp/proxy_port" xsi:type="string">1</item> <item name="paypal/wpp/sandbox_flag" xsi:type="string">1</item> </argument> </arguments> </type> </config>