![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/paypal/module-braintree-core/etc/ |
<?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"> <preference for="PayPal\Braintree\Api\Data\TransactionDetailDataInterface" type="PayPal\Braintree\Model\TransactionDetail" /> <type name="PayPal\Braintree\Model\ResourceModel\TransactionDetail"> <arguments> <argument name="connectionName" xsi:type="string">sales</argument> </arguments> </type> <virtualType name="OmsTableNameArrayIterator" type="Magento\Framework\ForeignKey\Migration\TableNameArrayIterator"> <arguments> <argument name="tableNames" xsi:type="array"> <item name="braintree_transaction_details" xsi:type="string">braintree_transaction_details</item> </argument> </arguments> </virtualType> <!-- Payment Method Facade configuration --> <virtualType name="BraintreeFacade" type="Magento\Payment\Model\Method\Adapter"> <arguments> <argument name="code" xsi:type="const">PayPal\Braintree\Model\Ui\ConfigProvider::CODE</argument> <argument name="formBlockType" xsi:type="string">PayPal\Braintree\Block\Form</argument> <argument name="infoBlockType" xsi:type="string">PayPal\Braintree\Block\Info</argument> <argument name="valueHandlerPool" xsi:type="object">BraintreeValueHandlerPool</argument> <argument name="validatorPool" xsi:type="object">BraintreeValidatorPool</argument> <argument name="commandPool" xsi:type="object">BraintreeCommandPool</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalFacade" type="BraintreeFacade"> <arguments> <argument name="code" xsi:type="const">PayPal\Braintree\Model\Ui\PayPal\ConfigProvider::PAYPAL_CODE</argument> <argument name="infoBlockType" xsi:type="string">BraintreePayPalInfo</argument> <argument name="valueHandlerPool" xsi:type="object">BraintreePayPalValueHandlerPool</argument> <argument name="validatorPool" xsi:type="object">BraintreePayPalValidatorPool</argument> <argument name="commandPool" xsi:type="object">BraintreePayPalCommandPool</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalCreditFacade" type="BraintreePayPalFacade"> <arguments> <argument name="code" xsi:type="const">PayPal\Braintree\Model\Ui\PayPal\ConfigProvider::PAYPAL_CREDIT_CODE</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalPayLaterFacade" type="BraintreePayPalFacade"> <arguments> <argument name="code" xsi:type="const">PayPal\Braintree\Model\Ui\PayPal\ConfigProvider::PAYPAL_PAYLATER_CODE</argument> </arguments> </virtualType> <!-- Configuration for Vault payments --> <virtualType name="BraintreeVaultPaymentConfig" type="Magento\Payment\Gateway\Config\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Ui\ConfigProvider::CC_VAULT_CODE</argument> </arguments> </virtualType> <virtualType name="BraintreeVaultPaymentValueHandler" type="VaultPaymentDefaultValueHandler"> <arguments> <argument name="configInterface" xsi:type="object">BraintreeVaultPaymentConfig</argument> </arguments> </virtualType> <virtualType name="BraintreeVaultPaymentValueHandlerPool" type="VaultPaymentValueHandlerPool"> <arguments> <argument name="handlers" xsi:type="array"> <item name="default" xsi:type="string">BraintreeVaultPaymentValueHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeCreditCardVaultFacade" type="Magento\Vault\Model\Method\Vault"> <arguments> <argument name="config" xsi:type="object">BraintreeVaultPaymentConfig</argument> <argument name="valueHandlerPool" xsi:type="object">BraintreeVaultPaymentValueHandlerPool</argument> <argument name="vaultProvider" xsi:type="object">BraintreeFacade</argument> <argument name="code" xsi:type="const">PayPal\Braintree\Model\Ui\ConfigProvider::CC_VAULT_CODE</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalVaultPaymentConfig" type="Magento\Payment\Gateway\Config\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Ui\PayPal\ConfigProvider::PAYPAL_VAULT_CODE</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalVaultPaymentValueHandler" type="VaultPaymentDefaultValueHandler"> <arguments> <argument name="configInterface" xsi:type="object">BraintreePayPalVaultPaymentConfig</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalVaultPaymentValueHandlerPool" type="VaultPaymentValueHandlerPool"> <arguments> <argument name="handlers" xsi:type="array"> <item name="default" xsi:type="string">BraintreePayPalVaultPaymentValueHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreePayPalVaultFacade" type="Magento\Vault\Model\Method\Vault"> <arguments> <argument name="config" xsi:type="object">BraintreePayPalVaultPaymentConfig</argument> <argument name="valueHandlerPool" xsi:type="object">BraintreePayPalVaultPaymentValueHandlerPool</argument> <argument name="vaultProvider" xsi:type="object">BraintreePayPalFacade</argument> <argument name="code" xsi:type="const">PayPal\Braintree\Model\Ui\PayPal\ConfigProvider::PAYPAL_VAULT_CODE</argument> </arguments> </virtualType> <!-- END Configuration for Vault payments --> <!-- Configuration reader --> <type name="PayPal\Braintree\Gateway\Config\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Ui\ConfigProvider::CODE</argument> </arguments> </type> <type name="PayPal\Braintree\Gateway\Config\Vault\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Ui\Vault\ConfigProvider::CODE</argument> </arguments> </type> <type name="PayPal\Braintree\Gateway\Config\PayPalCredit\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Ui\PayPal\ConfigProvider::PAYPAL_CREDIT_CODE</argument> </arguments> </type> <type name="PayPal\Braintree\Gateway\Config\PayPalPayLater\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Ui\PayPal\ConfigProvider::PAYPAL_PAYLATER_CODE</argument> </arguments> </type> <type name="PayPal\Braintree\Gateway\Config\PayPal\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Ui\PayPal\ConfigProvider::PAYPAL_CODE</argument> </arguments> </type> <!-- Logger, initialized with BraintreeConfig --> <virtualType name="BraintreeLoggerForTransactionSale" type="Magento\Payment\Model\Method\Logger"> <arguments> <argument name="config" xsi:type="object">PayPal\Braintree\Gateway\Config\Config</argument> </arguments> </virtualType> <type name="PayPal\Braintree\Gateway\Http\Client\TransactionSale"> <arguments> <argument name="customLogger" xsi:type="object">BraintreeLoggerForTransactionSale</argument> </arguments> </type> <type name="PayPal\Braintree\Gateway\Http\Client\TransactionSubmitForSettlement"> <arguments> <argument name="customLogger" xsi:type="object">BraintreeLoggerForTransactionSale</argument> </arguments> </type> <type name="PayPal\Braintree\Gateway\Http\Client\TransactionRefund"> <arguments> <argument name="customLogger" xsi:type="object">BraintreeLoggerForTransactionSale</argument> </arguments> </type> <type name="PayPal\Braintree\Gateway\Http\Client\TransactionVoid"> <arguments> <argument name="customLogger" xsi:type="object">BraintreeLoggerForTransactionSale</argument> </arguments> </type> <!-- END Logger, initialized with BraintreeConfig --> <!-- Commands infrastructure --> <virtualType name="BraintreeCommandPool" type="Magento\Payment\Gateway\Command\CommandPool"> <arguments> <argument name="commands" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeAuthorizeCommand</item> <item name="sale" xsi:type="string">BraintreeSaleCommand</item> <item name="capture" xsi:type="string">BraintreeCaptureStrategyCommand</item> <item name="settlement" xsi:type="string">BraintreeCaptureCommand</item> <item name="vault_authorize" xsi:type="string">BraintreeVaultAuthorizeCommand</item> <item name="vault_sale" xsi:type="string">BraintreeVaultSaleCommand</item> <item name="vault_capture" xsi:type="string">BraintreeVaultCaptureCommand</item> <item name="void" xsi:type="string">BraintreeVoidCommand</item> <item name="refund" xsi:type="string">BraintreeRefundCommand</item> <item name="cancel" xsi:type="string">BraintreeVoidCommand</item> <item name="deny_payment" xsi:type="string">BraintreeVoidCommand</item> </argument> </arguments> </virtualType> <virtualType name="BraintreePayPalCommandPool" type="Magento\Payment\Gateway\Command\CommandPool"> <arguments> <argument name="commands" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreePayPalAuthorizeCommand</item> <item name="sale" xsi:type="string">BraintreePayPalSaleCommand</item> <item name="capture" xsi:type="string">BraintreePayPalCaptureStrategyCommand</item> <item name="partial_capture" xsi:type="string">BraintreePartialCaptureCommand</item> <item name="settlement" xsi:type="string">BraintreeCaptureCommand</item> <item name="vault_authorize" xsi:type="string">BraintreePayPalVaultAuthorizeCommand</item> <item name="vault_sale" xsi:type="string">BraintreePayPalVaultSaleCommand</item> <item name="vault_capture" xsi:type="string">BraintreeVaultCaptureCommand</item> <item name="void" xsi:type="string">BraintreeVoidCommand</item> <item name="refund" xsi:type="string">BraintreeRefundCommand</item> <item name="cancel" xsi:type="string">BraintreeVoidCommand</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeCaptureStrategyCommand" type="PayPal\Braintree\Gateway\Command\CaptureStrategyCommand"> <arguments> <argument name="commandPool" xsi:type="object">BraintreeCommandPool</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalCaptureStrategyCommand" type="PayPal\Braintree\Gateway\Command\CaptureStrategyCommand"> <arguments> <argument name="commandPool" xsi:type="object">BraintreePayPalCommandPool</argument> </arguments> </virtualType> <!-- END Commands infrastructure --> <!-- Command managers section for Vault --> <virtualType name="BraintreeCommandManager" type="Magento\Payment\Gateway\Command\CommandManager"> <arguments> <argument name="commandPool" xsi:type="object">BraintreeCommandPool</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalCommandManager" type="Magento\Payment\Gateway\Command\CommandManager"> <arguments> <argument name="commandPool" xsi:type="object">BraintreePayPalCommandPool</argument> </arguments> </virtualType> <type name="Magento\Payment\Gateway\Command\CommandManagerPool"> <arguments> <argument name="executors" xsi:type="array"> <item name="braintree" xsi:type="string">BraintreeCommandManager</item> <item name="braintree_paypal" xsi:type="string">BraintreePayPalCommandManager</item> </argument> </arguments> </type> <!-- END command managers section for Vault --> <!-- Braintree commands --> <virtualType name="BraintreeAuthorizeCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeAuthorizeRequest</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeAuthorizationHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> </arguments> </virtualType> <virtualType name="BraintreeAuthorizeRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="customer" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomerDataBuilder</item> <item name="payment" xsi:type="string">PayPal\Braintree\Gateway\Request\PaymentDataBuilder</item> <item name="channel" xsi:type="string">PayPal\Braintree\Gateway\Request\ChannelDataBuilder</item> <item name="fraud" xsi:type="string">PayPal\Braintree\Gateway\Request\FraudDataBuilder</item> <item name="source" xsi:type="string">PayPal\Braintree\Gateway\Request\TransactionSourceDataBuilder</item> <item name="customFields" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomFieldsDataBuilder</item> <item name="address" xsi:type="string">PayPal\Braintree\Gateway\Request\AddressDataBuilder</item> <item name="vault" xsi:type="string">PayPal\Braintree\Gateway\Request\VaultDataBuilder</item> <item name="3dsecure" xsi:type="string">PayPal\Braintree\Gateway\Request\ThreeDSecureDataBuilder</item> <item name="device_data" xsi:type="string">PayPal\Braintree\Gateway\Request\PayPal\DeviceDataBuilder</item> <item name="dynamic_descriptor" xsi:type="string">PayPal\Braintree\Gateway\Request\DescriptorDataBuilder</item> <item name="level_2_3_processing" xsi:type="string">PayPal\Braintree\Gateway\Request\Level23ProcessingDataBuilder</item> </argument> </arguments> </virtualType> <!-- Authorization&Capture command --> <virtualType name="BraintreeSaleCommand" type="BraintreeAuthorizeCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeSaleRequest</argument> </arguments> </virtualType> <virtualType name="BraintreeSaleRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeAuthorizeRequest</item> <item name="settlement" xsi:type="string">PayPal\Braintree\Gateway\Request\SettlementDataBuilder</item> </argument> </arguments> </virtualType> <!-- Capture commands --> <virtualType name="BraintreeCaptureCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeCaptureRequest</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSubmitForSettlement</argument> <argument name="handler" xsi:type="object">PayPal\Braintree\Gateway\Response\TransactionIdHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> </arguments> </virtualType> <virtualType name="BraintreePartialCaptureCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeCaptureRequest</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSubmitForPartialSettlement</argument> <argument name="handler" xsi:type="object">PayPal\Braintree\Gateway\Response\TransactionIdHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> </arguments> </virtualType> <virtualType name="BraintreeCaptureRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="capture" xsi:type="string">PayPal\Braintree\Gateway\Request\CaptureDataBuilder</item> </argument> </arguments> </virtualType> <!-- Vault Authorization command --> <virtualType name="BraintreeVaultAuthorizeCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeVaultAuthorizeRequest</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeVaultResponseHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> </arguments> </virtualType> <virtualType name="BraintreeVaultAuthorizeRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="cvv" xsi:type="string">PayPal\Braintree\Gateway\Request\CvvDataBuilder</item> <item name="customer" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomerDataBuilder</item> <item name="payment" xsi:type="string">PayPal\Braintree\Gateway\Request\PaymentDataBuilder</item> <item name="channel" xsi:type="string">PayPal\Braintree\Gateway\Request\ChannelDataBuilder</item> <item name="fraud" xsi:type="string">PayPal\Braintree\Gateway\Request\FraudDataBuilder</item> <item name="source" xsi:type="string">PayPal\Braintree\Gateway\Request\TransactionSourceDataBuilder</item> <item name="customFields" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomFieldsDataBuilder</item> <item name="address" xsi:type="string">PayPal\Braintree\Gateway\Request\AddressDataBuilder</item> <item name="3dsecurevault" xsi:type="string">PayPal\Braintree\Gateway\Request\ThreeDSecureVaultDataBuilder</item> <item name="device_data" xsi:type="string">PayPal\Braintree\Gateway\Request\PayPal\DeviceDataBuilder</item> <item name="dynamic_descriptor" xsi:type="string">PayPal\Braintree\Gateway\Request\DescriptorDataBuilder</item> <item name="level_2_3_processing" xsi:type="string">PayPal\Braintree\Gateway\Request\Level23ProcessingDataBuilder</item> </argument> </arguments> </virtualType> <!-- Vault Authorization&Capture command --> <virtualType name="BraintreeVaultSaleCommand" type="BraintreeVaultAuthorizeCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeVaultSaleRequest</argument> </arguments> </virtualType> <virtualType name="BraintreeVaultSaleRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeVaultAuthorizeRequest</item> <item name="settlement" xsi:type="string">PayPal\Braintree\Gateway\Request\SettlementDataBuilder</item> </argument> </arguments> </virtualType> <!-- Vault Capture (Sale actually) command --> <virtualType name="BraintreeVaultCaptureCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeVaultCaptureRequest</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">PayPal\Braintree\Gateway\Response\TransactionIdHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> </arguments> </virtualType> <virtualType name="BraintreeVaultCaptureRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="vault_capture" xsi:type="string">PayPal\Braintree\Gateway\Request\VaultCaptureDataBuilder</item> <item name="settlement" xsi:type="string">PayPal\Braintree\Gateway\Request\SettlementDataBuilder</item> </argument> </arguments> </virtualType> <!-- END Braintree commands --> <!-- PayPal commands --> <virtualType name="BraintreePayPalAuthorizeCommand" type="BraintreeAuthorizeCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreePayPalAuthorizeRequest</argument> <argument name="handler" xsi:type="object">BraintreePayPalResponseHandler</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalAuthorizeRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="customer" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomerDataBuilder</item> <item name="payment" xsi:type="string">PayPal\Braintree\Gateway\Request\PaymentDataBuilder</item> <item name="channel" xsi:type="string">PayPal\Braintree\Gateway\Request\ChannelDataBuilder</item> <item name="fraud" xsi:type="string">PayPal\Braintree\Gateway\Request\FraudDataBuilder</item> <item name="source" xsi:type="string">PayPal\Braintree\Gateway\Request\TransactionSourceDataBuilder</item> <item name="customFields" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomFieldsDataBuilder</item> <item name="vault" xsi:type="string">PayPal\Braintree\Gateway\Request\PayPal\VaultDataBuilder</item> <item name="device_data" xsi:type="string">PayPal\Braintree\Gateway\Request\PayPal\DeviceDataBuilder</item> <item name="dynamic_descriptor" xsi:type="string">PayPal\Braintree\Gateway\Request\DescriptorDataBuilder</item> <item name="address" xsi:type="string">PayPal\Braintree\Gateway\Request\AddressDataBuilder</item> <item name="level_2_3_processing" xsi:type="string">PayPal\Braintree\Gateway\Request\Level23ProcessingDataBuilder</item> </argument> </arguments> </virtualType> <!-- PayPal Authorization&Capture command --> <virtualType name="BraintreePayPalSaleCommand" type="BraintreePayPalAuthorizeCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreePayPalSaleRequest</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalSaleRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreePayPalAuthorizeRequest</item> <item name="settlement" xsi:type="string">PayPal\Braintree\Gateway\Request\SettlementDataBuilder</item> </argument> </arguments> </virtualType> <!-- PayPal Vault Authorization command --> <virtualType name="BraintreePayPalVaultAuthorizeCommand" type="BraintreeVaultAuthorizeCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreePayPalVaultAuthorizeRequest</argument> <argument name="handler" xsi:type="object">BraintreePayPalVaultResponseHandler</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalVaultAuthorizeRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="customer" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomerDataBuilder</item> <item name="payment" xsi:type="string">PayPal\Braintree\Gateway\Request\PaymentDataBuilder</item> <item name="channel" xsi:type="string">PayPal\Braintree\Gateway\Request\ChannelDataBuilder</item> <item name="fraud" xsi:type="string">PayPal\Braintree\Gateway\Request\FraudDataBuilder</item> <item name="source" xsi:type="string">PayPal\Braintree\Gateway\Request\TransactionSourceDataBuilder</item> <item name="customFields" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomFieldsDataBuilder</item> <item name="address" xsi:type="string">PayPal\Braintree\Gateway\Request\AddressDataBuilder</item> <item name="dynamic_descriptor" xsi:type="string">PayPal\Braintree\Gateway\Request\DescriptorDataBuilder</item> <item name="level_2_3_processing" xsi:type="string">PayPal\Braintree\Gateway\Request\Level23ProcessingDataBuilder</item> </argument> </arguments> </virtualType> <!-- Vault Authorization&Capture command --> <virtualType name="BraintreePayPalVaultSaleCommand" type="BraintreePayPalVaultAuthorizeCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreePayPalVaultSaleRequest</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalVaultSaleRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreePayPalVaultAuthorizeRequest</item> <item name="settlement" xsi:type="string">PayPal\Braintree\Gateway\Request\SettlementDataBuilder</item> </argument> </arguments> </virtualType> <!-- END PayPal commands --> <!-- Value handlers infrastructure --> <type name="PayPal\Braintree\Gateway\Response\VaultDetailsHandler"> <arguments> <argument name="paymentTokenFactory" xsi:type="object">Magento\Vault\Model\CreditCardTokenFactory</argument> </arguments> </type> <virtualType name="BraintreeValueHandlerPool" type="Magento\Payment\Gateway\Config\ValueHandlerPool"> <arguments> <argument name="handlers" xsi:type="array"> <item name="default" xsi:type="string">BraintreeConfigValueHandler</item> <item name="can_void" xsi:type="string">PayPal\Braintree\Gateway\Config\CanVoidHandler</item> <item name="can_cancel" xsi:type="string">PayPal\Braintree\Gateway\Config\CanVoidHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeConfigValueHandler" type="Magento\Payment\Gateway\Config\ConfigValueHandler"> <arguments> <argument name="configInterface" xsi:type="object">PayPal\Braintree\Gateway\Config\Config</argument> </arguments> </virtualType> <virtualType name="BraintreeAuthorizationHandler" type="Magento\Payment\Gateway\Response\HandlerChain"> <arguments> <argument name="handlers" xsi:type="array"> <item name="payment_details" xsi:type="string">PayPal\Braintree\Gateway\Response\PaymentDetailsHandler</item> <item name="txn_id" xsi:type="string">PayPal\Braintree\Gateway\Response\TransactionIdHandler</item> <item name="card_details" xsi:type="string">PayPal\Braintree\Gateway\Response\CardDetailsHandler</item> <item name="risk_data" xsi:type="string">PayPal\Braintree\Gateway\Response\RiskDataHandler</item> <item name="vault_details" xsi:type="string">PayPal\Braintree\Gateway\Response\VaultDetailsHandler</item> <item name="3d_secure" xsi:type="string">PayPal\Braintree\Gateway\Response\ThreeDSecureDetailsHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeVaultResponseHandler" type="Magento\Payment\Gateway\Response\HandlerChain"> <arguments> <argument name="handlers" xsi:type="array"> <item name="payment_details" xsi:type="string">PayPal\Braintree\Gateway\Response\PaymentDetailsHandler</item> <item name="txn_id" xsi:type="string">PayPal\Braintree\Gateway\Response\TransactionIdHandler</item> <item name="card_details" xsi:type="string">PayPal\Braintree\Gateway\Response\CardDetailsHandler</item> <item name="risk_data" xsi:type="string">PayPal\Braintree\Gateway\Response\RiskDataHandler</item> <item name="3d_secure" xsi:type="string">PayPal\Braintree\Gateway\Response\ThreeDSecureDetailsHandler</item> </argument> </arguments> </virtualType> <!-- END Value handlers infrastructure --> <!-- PayPal value handlers infrastructure --> <type name="PayPal\Braintree\Gateway\Response\PayPal\VaultDetailsHandler"> <arguments> <argument name="paymentTokenFactory" xsi:type="object">Magento\Vault\Model\AccountPaymentTokenFactory</argument> </arguments> </type> <virtualType name="BraintreePayPalValueHandlerPool" type="Magento\Payment\Gateway\Config\ValueHandlerPool"> <arguments> <argument name="handlers" xsi:type="array"> <item name="default" xsi:type="string">BraintreePayPalConfigValueHandler</item> <item name="can_void" xsi:type="string">PayPal\Braintree\Gateway\Config\CanVoidHandler</item> <item name="can_cancel" xsi:type="string">PayPal\Braintree\Gateway\Config\CanVoidHandler</item> <item name="can_capture" xsi:type="string">PayPal\Braintree\Gateway\Config\CanVoidHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreePayPalConfigValueHandler" type="Magento\Payment\Gateway\Config\ConfigValueHandler"> <arguments> <argument name="configInterface" xsi:type="object">PayPal\Braintree\Gateway\Config\PayPal\Config</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalResponseHandler" type="Magento\Payment\Gateway\Response\HandlerChain"> <arguments> <argument name="handlers" xsi:type="array"> <item name="payment_details" xsi:type="string">PayPal\Braintree\Gateway\Response\PaymentDetailsHandler</item> <item name="txn_id" xsi:type="string">PayPal\Braintree\Gateway\Response\TransactionIdHandler</item> <item name="paypal_details" xsi:type="string">PayPal\Braintree\Gateway\Response\PayPalDetailsHandler</item> <item name="vault_details" xsi:type="string">PayPal\Braintree\Gateway\Response\PayPal\VaultDetailsHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreePayPalVaultResponseHandler" type="Magento\Payment\Gateway\Response\HandlerChain"> <arguments> <argument name="handlers" xsi:type="array"> <item name="payment_details" xsi:type="string">PayPal\Braintree\Gateway\Response\PaymentDetailsHandler</item> <item name="txn_id" xsi:type="string">PayPal\Braintree\Gateway\Response\TransactionIdHandler</item> <item name="paypal_details" xsi:type="string">PayPal\Braintree\Gateway\Response\PayPalDetailsHandler</item> </argument> </arguments> </virtualType> <!-- END PayPal value handlers infrastructure --> <!-- Void Command --> <virtualType name="BraintreeVoidCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionVoid</argument> <argument name="requestBuilder" xsi:type="object">PayPal\Braintree\Gateway\Request\VoidDataBuilder</argument> <argument name="handler" xsi:type="object">PayPal\Braintree\Gateway\Response\VoidHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\GeneralResponseValidator</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> </arguments> </virtualType> <!-- Refund Command --> <virtualType name="BraintreeRefundCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionRefund</argument> <argument name="requestBuilder" xsi:type="object">PayPal\Braintree\Gateway\Request\RefundDataBuilder</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\GeneralResponseValidator</argument> <argument name="handler" xsi:type="object">PayPal\Braintree\Gateway\Response\RefundHandler</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> </arguments> </virtualType> <!-- Braintree validators infrastructure --> <virtualType name="BraintreeCountryValidator" type="Magento\Payment\Gateway\Validator\CountryValidator"> <arguments> <argument name="config" xsi:type="object">PayPal\Braintree\Gateway\Config\Config</argument> </arguments> </virtualType> <virtualType name="BraintreeValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool"> <arguments> <argument name="validators" xsi:type="array"> <item name="country" xsi:type="string">BraintreeCountryValidator</item> </argument> </arguments> </virtualType> <!-- Braintree validators infrastructure --> <!-- Braintree PayPal validators --> <virtualType name="BraintreePayPalCountryValidator" type="Magento\Payment\Gateway\Validator\CountryValidator"> <arguments> <argument name="config" xsi:type="object">PayPal\Braintree\Gateway\Config\PayPal\Config</argument> </arguments> </virtualType> <virtualType name="BraintreePayPalValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool"> <arguments> <argument name="validators" xsi:type="array"> <item name="country" xsi:type="string">BraintreePayPalCountryValidator</item> </argument> </arguments> </virtualType> <!-- END Braintree PayPal validators --> <type name="PayPal\Braintree\Block\Info"> <arguments> <argument name="config" xsi:type="object">PayPal\Braintree\Gateway\Config\Config</argument> </arguments> </type> <virtualType name="BraintreePayPalInfo" type="PayPal\Braintree\Block\Info"> <arguments> <argument name="config" xsi:type="object">PayPal\Braintree\Gateway\Config\PayPal\Config</argument> </arguments> </virtualType> <!-- Settlement Report Section --> <virtualType name="BraintreeTransactionsCollectionFactoryForReporting" type="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory"> <arguments> <argument name="collections" xsi:type="array"> <item name="braintree_report_data_source" xsi:type="string">PayPal\Braintree\Model\Report\TransactionsCollection</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeTransactionsReporting" type="Magento\Framework\View\Element\UiComponent\DataProvider\Reporting"> <arguments> <argument name="collectionFactory" xsi:type="object">BraintreeTransactionsCollectionFactoryForReporting</argument> <argument name="filterPool" xsi:type="object">PayPal\Braintree\Ui\Component\Report\DataProvider\FilterPool</argument> </arguments> </virtualType> <virtualType name="BraintreeTransactionsDataProvider" type="Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider"> <arguments> <argument name="reporting" xsi:type="object">BraintreeTransactionsReporting</argument> </arguments> </virtualType> <type name="PayPal\Braintree\Model\Report\ConditionAppliers\AppliersPool"> <arguments> <argument name="appliers" xsi:type="array"> <item name="Braintree\TextNode" xsi:type="object">PayPal\Braintree\Model\Report\ConditionAppliers\Text</item> <item name="Braintree\RangeNode" xsi:type="object">PayPal\Braintree\Model\Report\ConditionAppliers\Range</item> <item name="Braintree\MultipleValueNode" xsi:type="object">PayPal\Braintree\Model\Report\ConditionAppliers\MultipleValue</item> </argument> </arguments> </type> <!-- END Settlement Report Section --> <type name="Magento\Config\Model\Config\Export\ExcludeList"> <arguments> <argument name="configs" xsi:type="array"> <item name="payment/braintree/merchant_id" xsi:type="string">1</item> <item name="payment/braintree/public_key" xsi:type="string">1</item> <item name="payment/braintree/private_key" xsi:type="string">1</item> <item name="payment/braintree/merchant_account_id" xsi:type="string">1</item> <item name="payment/braintree_paypal/merchant_name_override" xsi:type="string">1</item> </argument> </arguments> </type> <!-- Payment Method: Apple Pay --> <virtualType name="BraintreeApplePay" type="Magento\Payment\Model\Method\Adapter"> <arguments> <argument name="code" xsi:type="const">PayPal\Braintree\Model\ApplePay\Ui\ConfigProvider::METHOD_CODE</argument> <argument name="valueHandlerPool" xsi:type="object">BraintreeApplePayValueHandlerPool</argument> <argument name="validatorPool" xsi:type="object">BraintreeApplePayValidatorPool</argument> <argument name="commandPool" xsi:type="object">BraintreeApplePayCommandPool</argument> <argument name="formBlockType" xsi:type="object">Magento\Payment\Block\Form</argument> <argument name="infoBlockType" xsi:type="string">PayPal\Braintree\Block\ApplePay\Info</argument> </arguments> </virtualType> <type name="PayPal\Braintree\Model\ApplePay\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\ApplePay\Ui\ConfigProvider::METHOD_CODE</argument> </arguments> </type> <!-- valueHandlerPool --> <virtualType name="BraintreeApplePayValueHandlerPool" type="Magento\Payment\Gateway\Config\ValueHandlerPool"> <arguments> <argument name="handlers" xsi:type="array"> <item name="default" xsi:type="string">BraintreeApplePayConfigValueHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeApplePayConfigValueHandler" type="Magento\Payment\Gateway\Config\ConfigValueHandler"> <arguments> <argument name="configInterface" xsi:type="object">BraintreeApplePayConfig</argument> </arguments> </virtualType> <virtualType name="BraintreeApplePayConfig" type="Magento\Payment\Gateway\Config\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\ApplePay\Ui\ConfigProvider::METHOD_CODE</argument> </arguments> </virtualType> <!-- validatorPool --> <virtualType name="BraintreeApplePayValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool"> <arguments> <argument name="validators" xsi:type="array"> <item name="country" xsi:type="string">BraintreeCountryValidator</item> </argument> </arguments> </virtualType> <!-- commandPool --> <virtualType name="BraintreeApplePayCommandPool" type="Magento\Payment\Gateway\Command\CommandPool"> <arguments> <argument name="commands" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeApplePayAuthorizeCommand</item> <item name="sale" xsi:type="string">BraintreeApplePaySaleCommand</item> <item name="capture" xsi:type="string">BraintreeApplePayCaptureStrategyCommand</item> <item name="settlement" xsi:type="string">BraintreeCaptureCommand</item> <item name="void" xsi:type="string">BraintreeVoidCommand</item> <item name="refund" xsi:type="string">BraintreeRefundCommand</item> <item name="cancel" xsi:type="string">BraintreeVoidCommand</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeApplePaySaleCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeApplePayAuthorizationHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> <argument name="requestBuilder" xsi:type="object">BraintreeApplePaySaleRequest</argument> </arguments> </virtualType> <virtualType name="BraintreeApplePayAuthorizeCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeApplePayAuthorizeRequest</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeApplePayAuthorizationHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> </arguments> </virtualType> <virtualType name="BraintreeApplePayAuthorizationHandler" type="Magento\Payment\Gateway\Response\HandlerChain"> <arguments> <argument name="handlers" xsi:type="array"> <item name="payment_details" xsi:type="string">PayPal\Braintree\Model\ApplePay\PaymentDetailsHandler</item> <item name="card_details" xsi:type="string">PayPal\Braintree\Gateway\Response\CardDetailsHandler</item> <item name="txn_id" xsi:type="string">PayPal\Braintree\Gateway\Response\TransactionIdHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeApplePayAuthorizeRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="customer" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomerDataBuilder</item> <item name="payment" xsi:type="string">PayPal\Braintree\Gateway\Request\PaymentDataBuilder</item> <item name="channel" xsi:type="string">PayPal\Braintree\Gateway\Request\ChannelDataBuilder</item> <item name="address" xsi:type="string">PayPal\Braintree\Gateway\Request\AddressDataBuilder</item> <item name="device_data" xsi:type="string">PayPal\Braintree\Gateway\Request\DeviceDataBuilder</item> <item name="dynamic_descriptor" xsi:type="string">PayPal\Braintree\Gateway\Request\DescriptorDataBuilder</item> <item name="level_2_3_processing" xsi:type="string">PayPal\Braintree\Gateway\Request\Level23ProcessingDataBuilder</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeApplePaySaleRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeApplePayAuthorizeRequest</item> <item name="settlement" xsi:type="string">PayPal\Braintree\Gateway\Request\SettlementDataBuilder</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeApplePayCaptureStrategyCommand" type="PayPal\Braintree\Gateway\Command\CaptureStrategyCommand"> <arguments> <argument name="commandPool" xsi:type="object">BraintreeApplePayCommandPool</argument> </arguments> </virtualType> <!-- Payment Method: Google Pay --> <virtualType name="BraintreeGooglePay" type="Magento\Payment\Model\Method\Adapter"> <arguments> <argument name="code" xsi:type="const">PayPal\Braintree\Model\GooglePay\Ui\ConfigProvider::METHOD_CODE</argument> <argument name="valueHandlerPool" xsi:type="object">BraintreeGooglePayValueHandlerPool</argument> <argument name="validatorPool" xsi:type="object">BraintreeGooglePayValidatorPool</argument> <argument name="commandPool" xsi:type="object">BraintreeGooglePayCommandPool</argument> <argument name="formBlockType" xsi:type="object">Magento\Payment\Block\Form</argument> <argument name="infoBlockType" xsi:type="string">PayPal\Braintree\Block\GooglePay\Info</argument> </arguments> </virtualType> <type name="PayPal\Braintree\Model\GooglePay\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\GooglePay\Ui\ConfigProvider::METHOD_CODE</argument> </arguments> </type> <!-- valueHandlerPool --> <virtualType name="BraintreeGooglePayValueHandlerPool" type="Magento\Payment\Gateway\Config\ValueHandlerPool"> <arguments> <argument name="handlers" xsi:type="array"> <item name="default" xsi:type="string">BraintreeGooglePayConfigValueHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeGooglePayConfigValueHandler" type="Magento\Payment\Gateway\Config\ConfigValueHandler"> <arguments> <argument name="configInterface" xsi:type="object">BraintreeGooglePayConfig</argument> </arguments> </virtualType> <virtualType name="BraintreeGooglePayConfig" type="Magento\Payment\Gateway\Config\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\GooglePay\Ui\ConfigProvider::METHOD_CODE</argument> </arguments> </virtualType> <!-- validatorPool --> <virtualType name="BraintreeGooglePayValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool"> <arguments> <argument name="validators" xsi:type="array"> <!--<item name="country" xsi:type="string">BraintreeCountryValidator</item>--> </argument> </arguments> </virtualType> <!-- commandPool --> <virtualType name="BraintreeGooglePayCommandPool" type="Magento\Payment\Gateway\Command\CommandPool"> <arguments> <argument name="commands" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeGooglePayAuthorizeCommand</item> <item name="sale" xsi:type="string">BraintreeGooglePaySaleCommand</item> <item name="capture" xsi:type="string">BraintreeGooglePayCaptureStrategyCommand</item> <item name="settlement" xsi:type="string">BraintreeCaptureCommand</item> <item name="void" xsi:type="string">BraintreeVoidCommand</item> <item name="refund" xsi:type="string">BraintreeRefundCommand</item> <item name="cancel" xsi:type="string">BraintreeVoidCommand</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeGooglePaySaleCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeGooglePayAuthorizationHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> <argument name="requestBuilder" xsi:type="object">BraintreeGooglePaySaleRequest</argument> </arguments> </virtualType> <virtualType name="BraintreeGooglePayAuthorizeCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeGooglePayAuthorizeRequest</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeGooglePayAuthorizationHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> </arguments> </virtualType> <virtualType name="BraintreeGooglePayAuthorizationHandler" type="Magento\Payment\Gateway\Response\HandlerChain"> <arguments> <argument name="handlers" xsi:type="array"> <item name="payment_details" xsi:type="string">PayPal\Braintree\Model\GooglePay\PaymentDetailsHandler</item> <item name="card_details" xsi:type="string">PayPal\Braintree\Gateway\Response\CardDetailsHandler</item> <item name="txn_id" xsi:type="string">PayPal\Braintree\Gateway\Response\TransactionIdHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeGooglePayAuthorizeRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="customer" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomerDataBuilder</item> <item name="payment" xsi:type="string">PayPal\Braintree\Gateway\Request\PaymentDataBuilder</item> <item name="channel" xsi:type="string">PayPal\Braintree\Gateway\Request\ChannelDataBuilder</item> <item name="address" xsi:type="string">PayPal\Braintree\Gateway\Request\AddressDataBuilder</item> <item name="device_data" xsi:type="string">PayPal\Braintree\Gateway\Request\DeviceDataBuilder</item> <item name="dynamic_descriptor" xsi:type="string">PayPal\Braintree\Gateway\Request\DescriptorDataBuilder</item> <item name="level_2_3_processing" xsi:type="string">PayPal\Braintree\Gateway\Request\Level23ProcessingDataBuilder</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeGooglePaySaleRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeGooglePayAuthorizeRequest</item> <item name="settlement" xsi:type="string">PayPal\Braintree\Gateway\Request\SettlementDataBuilder</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeGooglePayCaptureStrategyCommand" type="PayPal\Braintree\Gateway\Command\CaptureStrategyCommand"> <arguments> <argument name="commandPool" xsi:type="object">BraintreeGooglePayCommandPool</argument> </arguments> </virtualType> <!-- Payment Method: Venmo --> <virtualType name="BraintreeVenmo" type="Magento\Payment\Model\Method\Adapter"> <arguments> <argument name="code" xsi:type="const">PayPal\Braintree\Model\Venmo\Ui\ConfigProvider::METHOD_CODE</argument> <argument name="valueHandlerPool" xsi:type="object">BraintreeVenmoValueHandlerPool</argument> <argument name="validatorPool" xsi:type="object">BraintreeVenmoValidatorPool</argument> <argument name="commandPool" xsi:type="object">BraintreeVenmoCommandPool</argument> <argument name="formBlockType" xsi:type="object">Magento\Payment\Block\Form</argument> <argument name="infoBlockType" xsi:type="string">PayPal\Braintree\Block\Info</argument> </arguments> </virtualType> <type name="PayPal\Braintree\Model\Venmo\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Venmo\Ui\ConfigProvider::METHOD_CODE</argument> </arguments> </type> <!-- valueHandlerPool --> <virtualType name="BraintreeVenmoValueHandlerPool" type="Magento\Payment\Gateway\Config\ValueHandlerPool"> <arguments> <argument name="handlers" xsi:type="array"> <item name="default" xsi:type="string">BraintreeVenmoConfigValueHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeVenmoConfigValueHandler" type="Magento\Payment\Gateway\Config\ConfigValueHandler"> <arguments> <argument name="configInterface" xsi:type="object">BraintreeVenmoConfig</argument> </arguments> </virtualType> <virtualType name="BraintreeVenmoConfig" type="Magento\Payment\Gateway\Config\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Venmo\Ui\ConfigProvider::METHOD_CODE</argument> </arguments> </virtualType> <!-- validatorPool --> <virtualType name="BraintreeVenmoValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool"> <arguments> <argument name="validators" xsi:type="array"> <item name="country" xsi:type="string">BraintreeCountryValidator</item> </argument> </arguments> </virtualType> <!-- commandPool --> <type name="PayPal\Braintree\Gateway\Response\Venmo\VaultDetailsHandler"> <arguments> <argument name="paymentTokenFactory" xsi:type="object">Magento\Vault\Model\AccountPaymentTokenFactory</argument> </arguments> </type> <virtualType name="BraintreeVenmoCommandPool" type="Magento\Payment\Gateway\Command\CommandPool"> <arguments> <argument name="commands" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeVenmoAuthorizeCommand</item> <item name="sale" xsi:type="string">BraintreeVenmoSaleCommand</item> <item name="capture" xsi:type="string">BraintreeVenmoCaptureStrategyCommand</item> <item name="settlement" xsi:type="string">BraintreeCaptureCommand</item> <item name="void" xsi:type="string">BraintreeVoidCommand</item> <item name="refund" xsi:type="string">BraintreeRefundCommand</item> <item name="cancel" xsi:type="string">BraintreeVoidCommand</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeVenmoAuthorizeCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeVenmoAuthorizeRequest</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeVenmoAuthorizationHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> </arguments> </virtualType> <virtualType name="BraintreeVenmoSaleCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeVenmoAuthorizationHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> <argument name="requestBuilder" xsi:type="object">BraintreeVenmoSaleRequest</argument> </arguments> </virtualType> <virtualType name="BraintreeVenmoCaptureStrategyCommand" type="PayPal\Braintree\Gateway\Command\CaptureStrategyCommand"> <arguments> <argument name="commandPool" xsi:type="object">BraintreeVenmoCommandPool</argument> </arguments> </virtualType> <virtualType name="BraintreeVenmoAuthorizeRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="customer" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomerDataBuilder</item> <item name="payment" xsi:type="string">PayPal\Braintree\Gateway\Request\PaymentDataBuilder</item> <item name="channel" xsi:type="string">PayPal\Braintree\Gateway\Request\ChannelDataBuilder</item> <item name="address" xsi:type="string">PayPal\Braintree\Gateway\Request\AddressDataBuilder</item> <item name="dynamic_descriptor" xsi:type="string">PayPal\Braintree\Gateway\Request\DescriptorDataBuilder</item> <item name="device_data" xsi:type="string">PayPal\Braintree\Gateway\Request\DeviceDataBuilder</item> <item name="level_2_3_processing" xsi:type="string">PayPal\Braintree\Gateway\Request\Level23ProcessingDataBuilder</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeVenmoAuthorizationHandler" type="Magento\Payment\Gateway\Response\HandlerChain"> <arguments> <argument name="handlers" xsi:type="array"> <item name="payment_details" xsi:type="string">PayPal\Braintree\Model\Venmo\PaymentDetailsHandler</item> <item name="txn_id" xsi:type="string">PayPal\Braintree\Gateway\Response\TransactionIdHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeVenmoSaleRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeVenmoAuthorizeRequest</item> <item name="settlement" xsi:type="string">PayPal\Braintree\Gateway\Request\SettlementDataBuilder</item> </argument> </arguments> </virtualType> <!-- Payment Method: ACH Direct Debit --> <virtualType name="BraintreeAch" type="Magento\Payment\Model\Method\Adapter"> <arguments> <argument name="code" xsi:type="const">PayPal\Braintree\Model\Ach\Ui\ConfigProvider::METHOD_CODE</argument> <argument name="valueHandlerPool" xsi:type="object">BraintreeAchValueHandlerPool</argument> <argument name="validatorPool" xsi:type="object">BraintreeAchValidatorPool</argument> <argument name="commandPool" xsi:type="object">BraintreeAchCommandPool</argument> <argument name="formBlockType" xsi:type="object">Magento\Payment\Block\Form</argument> <argument name="infoBlockType" xsi:type="string">PayPal\Braintree\Block\Info</argument> </arguments> </virtualType> <type name="PayPal\Braintree\Model\Ach\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Ach\Ui\ConfigProvider::METHOD_CODE</argument> </arguments> </type> <!-- valueHandlerPool --> <virtualType name="BraintreeAchValueHandlerPool" type="Magento\Payment\Gateway\Config\ValueHandlerPool"> <arguments> <argument name="handlers" xsi:type="array"> <item name="default" xsi:type="string">BraintreeAchConfigValueHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeAchConfigValueHandler" type="Magento\Payment\Gateway\Config\ConfigValueHandler"> <arguments> <argument name="configInterface" xsi:type="object">BraintreeAchConfig</argument> </arguments> </virtualType> <virtualType name="BraintreeAchConfig" type="Magento\Payment\Gateway\Config\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Ach\Ui\ConfigProvider::METHOD_CODE</argument> </arguments> </virtualType> <!-- validatorPool --> <virtualType name="BraintreeAchValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool"> <arguments> <argument name="validators" xsi:type="array"> <item name="country" xsi:type="string">BraintreeCountryValidator</item> </argument> </arguments> </virtualType> <!-- commandPool --> <virtualType name="BraintreeAchCommandPool" type="Magento\Payment\Gateway\Command\CommandPool"> <arguments> <argument name="commands" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeAchAuthorizeCommand</item> <item name="sale" xsi:type="string">BraintreeAchSaleCommand</item> <item name="capture" xsi:type="string">BraintreeAchCaptureStrategyCommand</item> <item name="settlement" xsi:type="string">BraintreeCaptureCommand</item> <item name="void" xsi:type="string">BraintreeVoidCommand</item> <item name="refund" xsi:type="string">BraintreeRefundCommand</item> <item name="cancel" xsi:type="string">BraintreeVoidCommand</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeAchAuthorizeCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeAchAuthorizeRequest</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeAchAuthorizationHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> </arguments> </virtualType> <virtualType name="BraintreeAchSaleCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeAchAuthorizationHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> <argument name="requestBuilder" xsi:type="object">BraintreeAchSaleRequest</argument> </arguments> </virtualType> <virtualType name="BraintreeAchCaptureStrategyCommand" type="PayPal\Braintree\Gateway\Command\CaptureStrategyCommand"> <arguments> <argument name="commandPool" xsi:type="object">BraintreeAchCommandPool</argument> </arguments> </virtualType> <virtualType name="BraintreeAchAuthorizeRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="customer" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomerDataBuilder</item> <item name="payment" xsi:type="string">PayPal\Braintree\Gateway\Request\PaymentDataBuilder</item> <item name="channel" xsi:type="string">PayPal\Braintree\Gateway\Request\ChannelDataBuilder</item> <item name="address" xsi:type="string">PayPal\Braintree\Gateway\Request\AddressDataBuilder</item> <item name="dynamic_descriptor" xsi:type="string">PayPal\Braintree\Gateway\Request\DescriptorDataBuilder</item> <item name="ach" xsi:type="string">PayPal\Braintree\Gateway\Request\AchDataBuilder</item> <item name="level_2_3_processing" xsi:type="string">PayPal\Braintree\Gateway\Request\Level23ProcessingDataBuilder</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeAchAuthorizationHandler" type="Magento\Payment\Gateway\Response\HandlerChain"> <arguments> <argument name="handlers" xsi:type="array"> <item name="payment_details" xsi:type="string">PayPal\Braintree\Model\Ach\PaymentDetailsHandler</item> <item name="txn_id" xsi:type="string">PayPal\Braintree\Gateway\Response\TransactionIdHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeAchSaleRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeAchAuthorizeRequest</item> <item name="settlement" xsi:type="string">PayPal\Braintree\Gateway\Request\SettlementDataBuilder</item> </argument> </arguments> </virtualType> <!-- Payment Method: Local Payments --> <!-- Virtual Model --> <virtualType name="BraintreeLpmInfo" type="PayPal\Braintree\Block\Info"> <arguments> <argument name="config" xsi:type="object">PayPal\Braintree\Model\Lpm\Config</argument> </arguments> </virtualType> <virtualType name="BraintreeLpm" type="Magento\Payment\Model\Method\Adapter"> <arguments> <argument name="code" xsi:type="const">PayPal\Braintree\Model\Lpm\Ui\ConfigProvider::METHOD_CODE</argument> <argument name="valueHandlerPool" xsi:type="object">BraintreeLpmValueHandlerPool</argument> <argument name="validatorPool" xsi:type="object">BraintreeLpmValidatorPool</argument> <argument name="commandPool" xsi:type="object">BraintreeLpmCommandPool</argument> <argument name="formBlockType" xsi:type="object">Magento\Payment\Block\Form</argument> <argument name="infoBlockType" xsi:type="string">BraintreeLpmInfo</argument> </arguments> </virtualType> <!-- Config --> <type name="PayPal\Braintree\Model\Lpm\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Lpm\Ui\ConfigProvider::METHOD_CODE</argument> </arguments> </type> <!-- valueHandlerPool --> <virtualType name="BraintreeLpmValueHandlerPool" type="Magento\Payment\Gateway\Config\ValueHandlerPool"> <arguments> <argument name="handlers" xsi:type="array"> <item name="default" xsi:type="string">BraintreeLpmConfigValueHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeLpmConfigValueHandler" type="Magento\Payment\Gateway\Config\ConfigValueHandler"> <arguments> <argument name="configInterface" xsi:type="object">BraintreeLpmConfig</argument> </arguments> </virtualType> <virtualType name="BraintreeLpmConfig" type="Magento\Payment\Gateway\Config\Config"> <arguments> <argument name="methodCode" xsi:type="const">PayPal\Braintree\Model\Lpm\Ui\ConfigProvider::METHOD_CODE</argument> </arguments> </virtualType> <!-- validatorPool --> <virtualType name="BraintreeLpmValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool"> <arguments> <argument name="validators" xsi:type="array"> <item name="country" xsi:type="string">BraintreeCountryValidator</item> </argument> </arguments> </virtualType> <!-- commandPool --> <virtualType name="BraintreeLpmCommandPool" type="Magento\Payment\Gateway\Command\CommandPool"> <arguments> <argument name="commands" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeLpmAuthorizeCommand</item> <item name="sale" xsi:type="string">BraintreeLpmSaleCommand</item> <item name="capture" xsi:type="string">BraintreeLpmCaptureStrategyCommand</item> <item name="settlement" xsi:type="string">BraintreeCaptureCommand</item> <item name="void" xsi:type="string">BraintreeVoidCommand</item> <item name="refund" xsi:type="string">BraintreeRefundCommand</item> <item name="cancel" xsi:type="string">BraintreeVoidCommand</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeLpmAuthorizeCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="requestBuilder" xsi:type="object">BraintreeLpmAuthorizeRequest</argument> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeLpmAuthorizationHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> </arguments> </virtualType> <virtualType name="BraintreeLpmSaleCommand" type="PayPal\Braintree\Gateway\Command\GatewayCommand"> <arguments> <argument name="transferFactory" xsi:type="object">PayPal\Braintree\Gateway\Http\TransferFactory</argument> <argument name="client" xsi:type="object">PayPal\Braintree\Gateway\Http\Client\TransactionSale</argument> <argument name="handler" xsi:type="object">BraintreeLpmAuthorizationHandler</argument> <argument name="validator" xsi:type="object">PayPal\Braintree\Gateway\Validator\ResponseValidator</argument> <argument name="requestBuilder" xsi:type="object">BraintreeLpmSaleRequest</argument> </arguments> </virtualType> <virtualType name="BraintreeLpmCaptureStrategyCommand" type="PayPal\Braintree\Gateway\Command\CaptureStrategyCommand"> <arguments> <argument name="commandPool" xsi:type="object">BraintreeLpmCommandPool</argument> </arguments> </virtualType> <virtualType name="BraintreeLpmAuthorizeRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="customer" xsi:type="string">PayPal\Braintree\Gateway\Request\CustomerDataBuilder</item> <item name="payment" xsi:type="string">PayPal\Braintree\Gateway\Request\PaymentDataBuilder</item> <item name="channel" xsi:type="string">PayPal\Braintree\Gateway\Request\ChannelDataBuilder</item> <item name="address" xsi:type="string">PayPal\Braintree\Gateway\Request\AddressDataBuilder</item> <item name="dynamic_descriptor" xsi:type="string">PayPal\Braintree\Gateway\Request\DescriptorDataBuilder</item> <item name="level_2_3_processing" xsi:type="string">PayPal\Braintree\Gateway\Request\Level23ProcessingDataBuilder</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeLpmAuthorizationHandler" type="Magento\Payment\Gateway\Response\HandlerChain"> <arguments> <argument name="handlers" xsi:type="array"> <item name="payment_details" xsi:type="string">PayPal\Braintree\Model\Lpm\PaymentDetailsHandler</item> <item name="txn_id" xsi:type="string">PayPal\Braintree\Gateway\Response\TransactionIdHandler</item> </argument> </arguments> </virtualType> <virtualType name="BraintreeLpmSaleRequest" type="Magento\Payment\Gateway\Request\BuilderComposite"> <arguments> <argument name="builders" xsi:type="array"> <item name="authorize" xsi:type="string">BraintreeLpmAuthorizeRequest</item> <item name="settlement" xsi:type="string">PayPal\Braintree\Gateway\Request\SettlementDataBuilder</item> </argument> </arguments> </virtualType> <!-- Preferences --> <preference for="PayPal\Braintree\Api\AuthInterface" type="PayPal\Braintree\Model\ApplePay\Auth" /> <preference for="PayPal\Braintree\Api\Data\AuthDataInterface" type="PayPal\Braintree\Model\ApplePay\Auth\Data" /> <preference for="PayPal\Braintree\Api\Data\CreditPriceDataInterface" type="PayPal\Braintree\Model\CreditPrice" /> <preference for="PayPal\Braintree\Api\CreditPriceRepositoryInterface" type="PayPal\Braintree\Model\ResourceModel\CreditPriceRepository" /> <preference for="Magento\Payment\Gateway\Data\Order\OrderAdapter" type="PayPal\Braintree\Gateway\Data\Order\OrderAdapter"/> <preference for="PayPal\Braintree\Gateway\Data\AddressAdapterInterface" type="PayPal\Braintree\Gateway\Data\Order\AddressAdapter"/> <type name="Magento\Framework\View\Asset\Minification"> <plugin name="braintreeExcludeFromMinification" type="PayPal\Braintree\Plugin\ExcludeFromMinification"/> </type> <type name="Magento\Framework\Console\CommandList"> <arguments> <argument name="commands" xsi:type="array"> <item name="braintreeMigrate" xsi:type="object">PayPal\Braintree\Console\VaultMigrate</item> </argument> </arguments> </type> <type name="PayPal\Braintree\Console\VaultMigrate"> <arguments> <argument name="braintreeAdapter" xsi:type="object">PayPal\Braintree\Model\Adapter\BraintreeAdapter\Proxy</argument> <argument name="customerRepository" xsi:type="object">Magento\Customer\Api\CustomerRepositoryInterface\Proxy</argument> </arguments> </type> <type name="Magento\Multishipping\Model\Checkout\Type\Multishipping\PlaceOrderPool"> <arguments> <argument name="services" xsi:type="array"> <item name="braintree" xsi:type="string">PayPal\Braintree\Model\Multishipping\PlaceOrder</item> <item name="braintree_paypal" xsi:type="string">PayPal\Braintree\Model\Multishipping\PlaceOrder</item> </argument> </arguments> </type> <type name="Magento\Checkout\Block\Cart\Sidebar"> <plugin name="addAgreementsToMinicartConfig" type="PayPal\Braintree\Plugin\AddAgreementsToMinicartConfig"/> </type> <type name="Magento\Checkout\CustomerData\AbstractItem"> <plugin name="braintreeAddFlagForVirtualProducts" type="PayPal\Braintree\Plugin\AddFlagForVirtualProducts"/> </type> <type name="Magento\Quote\Api\CartManagementInterface"> <plugin name="order_cancellation" type="PayPal\Braintree\Plugin\OrderCancellation"/> </type> <type name="Magento\ReCaptchaWebapiApi\Model\CompositeWebapiValidationConfigProvider"> <arguments> <argument name="providers" xsi:type="array"> <item name="braintree_recaptcha_config_provider" xsi:type="object">PayPal\Braintree\Model\Recaptcha\WebapiConfigProvider</item> </argument> </arguments> </type> </config>