di.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. <?xml version="1.0"?>
  2. <!--
  3. /**
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. -->
  8. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  9. <virtualType name="Magento\Paypal\Model\PayflowadvancedFactory" type="Magento\Paypal\Model\PayflowlinkFactory">
  10. <arguments>
  11. <argument name="instanceName" xsi:type="string">Magento\Paypal\Model\Payflowadvanced</argument>
  12. </arguments>
  13. </virtualType>
  14. <type name="Magento\Paypal\Controller\Payflowadvanced\SilentPost">
  15. <arguments>
  16. <argument name="payflowModelFactory" xsi:type="object">Magento\Paypal\Model\PayflowadvancedFactory</argument>
  17. </arguments>
  18. </type>
  19. <virtualType name="Magento\Paypal\Model\Payflow\ProFactory" type="Magento\Paypal\Model\ProFactory">
  20. <arguments>
  21. <argument name="instanceName" xsi:type="string">Magento\Paypal\Model\Payflow\Pro</argument>
  22. </arguments>
  23. </virtualType>
  24. <type name="Magento\Paypal\Model\PayflowExpress">
  25. <arguments>
  26. <argument name="proFactory" xsi:type="object">Magento\Paypal\Model\Payflow\ProFactory</argument>
  27. </arguments>
  28. </type>
  29. <preference for="Magento\Paypal\Helper\Shortcut\ValidatorInterface" type="Magento\Paypal\Helper\Shortcut\Validator"/>
  30. <type name="Magento\Paypal\Block\Express\Shortcut">
  31. <arguments>
  32. <argument name="paymentMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_EXPRESS</argument>
  33. <argument name="startAction" xsi:type="string">paypal/express/start/button/1</argument>
  34. <argument name="checkoutType" xsi:type="string">Magento\Paypal\Model\Express\Checkout</argument>
  35. <argument name="alias" xsi:type="string">product.info.addtocart.paypal</argument>
  36. <argument name="shortcutTemplate" xsi:type="string">express/shortcut.phtml</argument>
  37. </arguments>
  38. </type>
  39. <virtualType name="Magento\Paypal\Block\WpsExpress\Shortcut" type="Magento\Paypal\Block\Express\Shortcut"></virtualType>
  40. <virtualType name="Magento\Paypal\Block\PayflowExpress\Shortcut" type="Magento\Paypal\Block\Express\Shortcut">
  41. <arguments>
  42. <argument name="paymentMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_PE_EXPRESS</argument>
  43. <argument name="startAction" xsi:type="string">paypal/payflowexpress/start/button/1</argument>
  44. <argument name="checkoutType" xsi:type="string">Magento\Paypal\Model\PayflowExpress\Checkout</argument>
  45. <argument name="alias" xsi:type="string">product.info.addtocart.payflow</argument>
  46. <argument name="shortcutTemplate" xsi:type="string">express/shortcut.phtml</argument>
  47. </arguments>
  48. </virtualType>
  49. <type name="Magento\Paypal\Block\Bml\Shortcut">
  50. <arguments>
  51. <argument name="paymentMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_EXPRESS</argument>
  52. <argument name="startAction" xsi:type="string">paypal/bml/start/button/1</argument>
  53. <argument name="bmlMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_BML</argument>
  54. <argument name="alias" xsi:type="string">product.info.addtocart.paypalbml</argument>
  55. <argument name="shortcutTemplate" xsi:type="string">express/shortcut.phtml</argument>
  56. </arguments>
  57. </type>
  58. <virtualType name="Magento\Paypal\Block\WpsBml\Shortcut" type="Magento\Paypal\Block\Bml\Shortcut"></virtualType>
  59. <type name="Magento\Paypal\Helper\Data">
  60. <arguments>
  61. <argument name="methodCodes" xsi:type="array">
  62. <item name="expressCheckout" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_EXPRESS</item>
  63. <item name="hostedPro" xsi:type="const">Magento\Paypal\Model\Config::METHOD_HOSTEDPRO</item>
  64. </argument>
  65. </arguments>
  66. </type>
  67. <type name="Magento\Payment\Model\Checks\Composite">
  68. <plugin name="paypal_specification" type="Magento\Paypal\Model\Method\Checks\SpecificationPlugin"/>
  69. </type>
  70. <type name="Magento\Sales\Model\Order">
  71. <plugin name="express_order_invoice" type="Magento\Paypal\Plugin\OrderCanInvoice"/>
  72. </type>
  73. <type name="Magento\Sales\Model\Order\Validation\CanInvoice">
  74. <plugin name="express_order_invoice" type="Magento\Paypal\Plugin\ValidatorCanInvoice"/>
  75. </type>
  76. <virtualType name="Magento\Paypal\Block\Payflow\Bml\Shortcut" type="Magento\Paypal\Block\Bml\Shortcut">
  77. <arguments>
  78. <argument name="paymentMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_PE_EXPRESS</argument>
  79. <argument name="startAction" xsi:type="string">paypal/payflowbml/start/button/1</argument>
  80. <argument name="bmlMethodCode" xsi:type="const">Magento\Paypal\Model\Config::METHOD_WPP_PE_BML</argument>
  81. <argument name="alias" xsi:type="string">product.info.addtocart.payflowbml</argument>
  82. </arguments>
  83. </virtualType>
  84. <virtualType name="payflowproConfigFactory" type="Magento\Payment\Model\Method\ConfigInterfaceFactory">
  85. <arguments>
  86. <argument xsi:type="string" name="instanceName">Magento\Paypal\Model\PayflowConfig</argument>
  87. </arguments>
  88. </virtualType>
  89. <virtualType name="payflowlinkConfigFactory" type="Magento\Payment\Model\Method\ConfigInterfaceFactory">
  90. <arguments>
  91. <argument xsi:type="string" name="instanceName">Magento\Paypal\Model\Config</argument>
  92. </arguments>
  93. </virtualType>
  94. <type name="Magento\Paypal\Model\Payflowpro">
  95. <arguments>
  96. <argument name="configFactory" xsi:type="object">payflowproConfigFactory</argument>
  97. </arguments>
  98. </type>
  99. <!-- Configuration for PayflowPro Vault payment -->
  100. <virtualType name="PayflowProVaultPaymentConfig" type="Magento\Payment\Gateway\Config\Config">
  101. <arguments>
  102. <argument name="methodCode" xsi:type="const">Magento\Paypal\Model\Payflow\Transparent::CC_VAULT_CODE</argument>
  103. </arguments>
  104. </virtualType>
  105. <virtualType name="PayflowProVaultPaymentValueHandler" type="VaultPaymentDefaultValueHandler">
  106. <arguments>
  107. <argument name="configInterface" xsi:type="object">PayflowProVaultPaymentConfig</argument>
  108. </arguments>
  109. </virtualType>
  110. <virtualType name="PayflowProVaultPaymentValueHandlerPool" type="VaultPaymentValueHandlerPool">
  111. <arguments>
  112. <argument name="handlers" xsi:type="array">
  113. <item name="default" xsi:type="string">PayflowProVaultPaymentValueHandler</item>
  114. </argument>
  115. </arguments>
  116. </virtualType>
  117. <virtualType name="PayflowProCreditCardVaultFacade" type="Magento\Vault\Model\Method\Vault">
  118. <arguments>
  119. <argument name="config" xsi:type="object">PayflowProVaultPaymentConfig</argument>
  120. <argument name="valueHandlerPool" xsi:type="object">PayflowProVaultPaymentValueHandlerPool</argument>
  121. <argument name="vaultProvider" xsi:type="object">Magento\Paypal\Model\Payflow\Transparent</argument>
  122. <argument name="code" xsi:type="const">Magento\Paypal\Model\Payflow\Transparent::CC_VAULT_CODE</argument>
  123. </arguments>
  124. </virtualType>
  125. <type name="Magento\Paypal\Model\Payflowlink">
  126. <arguments>
  127. <argument name="configFactory" xsi:type="object">payflowlinkConfigFactory</argument>
  128. </arguments>
  129. </type>
  130. <type name="Magento\Paypal\Model\Payflow\Service\Response\Validator\ResponseValidator">
  131. <arguments>
  132. <argument name="validators" xsi:type="array">
  133. <item name="cvv2_code" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\CVV2Match</item>
  134. <item name="avs_response" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\AVSResponse</item>
  135. <item name="iavs_response" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\IAVSResponse</item>
  136. </argument>
  137. </arguments>
  138. </type>
  139. <virtualType name="Magento\Paypal\Model\Payflow\Service\Response\Validator\ResponseValidatorInController" type="Magento\Paypal\Model\Payflow\Service\Response\Validator\ResponseValidator">
  140. <arguments>
  141. <argument name="validators" xsi:type="array">
  142. <item name="secure_token" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\SecureToken</item>
  143. <item name="cvv2_code" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\CVV2Match</item>
  144. <item name="avs_response" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\AVSResponse</item>
  145. <item name="iavs_response" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\IAVSResponse</item>
  146. </argument>
  147. </arguments>
  148. </virtualType>
  149. <type name="Magento\Paypal\Controller\Transparent\Response">
  150. <arguments>
  151. <argument name="responseValidator" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Validator\ResponseValidatorInController</argument>
  152. </arguments>
  153. </type>
  154. <preference for="Magento\Paypal\Model\Payflow\Service\Response\Handler\HandlerInterface" type="Magento\Paypal\Model\Payflow\Service\Response\Handler\HandlerComposite"/>
  155. <type name="Magento\Paypal\Model\Payflow\Service\Response\Handler\HandlerComposite">
  156. <arguments>
  157. <argument name="handlers" xsi:type="array">
  158. <item name="fraudHandler" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Handler\FraudHandler</item>
  159. <item name="creditCardHandler" xsi:type="object">Magento\Paypal\Model\Payflow\Service\Response\Handler\CreditCardValidationHandler</item>
  160. </argument>
  161. </arguments>
  162. </type>
  163. <virtualType name="PayflowproCommandPool" type="Magento\Payment\Gateway\Command\CommandPool">
  164. <arguments>
  165. <argument name="commands" xsi:type="array">
  166. <item name="vault_authorize" xsi:type="string">Magento\Paypal\Gateway\Payflowpro\Command\AuthorizationCommand</item>
  167. <item name="vault_sale" xsi:type="string">Magento\Paypal\Gateway\Payflowpro\Command\SaleCommand</item>
  168. </argument>
  169. </arguments>
  170. </virtualType>
  171. <virtualType name="PayflowproCommandManager" type="Magento\Payment\Gateway\Command\CommandManager">
  172. <arguments>
  173. <argument name="commandPool" xsi:type="object">PayflowproCommandPool</argument>
  174. </arguments>
  175. </virtualType>
  176. <type name="Magento\Payment\Gateway\Command\CommandManagerPool">
  177. <arguments>
  178. <argument name="executors" xsi:type="array">
  179. <item name="payflowpro" xsi:type="string">PayflowproCommandManager</item>
  180. </argument>
  181. </arguments>
  182. </type>
  183. <type name="Magento\Paypal\Model\Payflow\Transparent">
  184. <arguments>
  185. <argument name="paymentTokenFactory" xsi:type="object">Magento\Vault\Model\CreditCardTokenFactory</argument>
  186. </arguments>
  187. </type>
  188. <type name="Magento\Config\Model\Config\TypePool">
  189. <arguments>
  190. <argument name="sensitive" xsi:type="array">
  191. <item name="payment/payflow_advanced/proxy_host" xsi:type="string">1</item>
  192. <item name="payment/payflow_advanced/pwd" xsi:type="string">1</item>
  193. <item name="payment/payflow_advanced/user" xsi:type="string">1</item>
  194. <item name="payment/payflow_link/proxy_host" xsi:type="string">1</item>
  195. <item name="payment/payflow_link/pwd" xsi:type="string">1</item>
  196. <item name="payment/payflowpro/partner" xsi:type="string">1</item>
  197. <item name="payment/payflowpro/proxy_host" xsi:type="string">1</item>
  198. <item name="payment/payflowpro/pwd" xsi:type="string">1</item>
  199. <item name="payment/payflowpro/user" xsi:type="string">1</item>
  200. <item name="payment/paypal_express/merchant_id" xsi:type="string">1</item>
  201. <item name="payment/paypal_express_bml/publisher_id" xsi:type="string">1</item>
  202. <item name="payment_all_paypal/express_checkout/settings_ec/settings_ec_advanced/express_checkout_settlement_report/heading_sftp" xsi:type="string">1</item>
  203. <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>
  204. <item name="payment_all_paypal/payments_pro_hosted_solution/pphs_settings/pphs_settings_advanced/pphs_settlement_report/heading_sftp" xsi:type="string">1</item>
  205. <item name="payment_all_paypal/paypal_payflowpro/settings_paypal_payflow/heading_cc" xsi:type="string">1</item>
  206. <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>
  207. <item name="paypal/fetch_reports/ftp_ip" xsi:type="string">1</item>
  208. <item name="paypal/fetch_reports/ftp_login" xsi:type="string">1</item>
  209. <item name="paypal/fetch_reports/ftp_password" xsi:type="string">1</item>
  210. <item name="paypal/fetch_reports/ftp_path" xsi:type="string">1</item>
  211. <item name="paypal/general/business_account" xsi:type="string">1</item>
  212. <item name="paypal/general/merchant_country" xsi:type="string">1</item>
  213. <item name="paypal/wpp/api_cert" xsi:type="string">1</item>
  214. <item name="paypal/wpp/api_password" xsi:type="string">1</item>
  215. <item name="paypal/wpp/api_signature" xsi:type="string">1</item>
  216. <item name="paypal/wpp/api_username" xsi:type="string">1</item>
  217. <item name="paypal/wpp/proxy_host" xsi:type="string">1</item>
  218. </argument>
  219. <argument name="environment" xsi:type="array">
  220. <item name="payment/hosted_pro/debug" xsi:type="string">1</item>
  221. <item name="payment/payflow_advanced/debug" xsi:type="string">1</item>
  222. <item name="payment/payflow_advanced/proxy_host" xsi:type="string">1</item>
  223. <item name="payment/payflow_advanced/proxy_port" xsi:type="string">1</item>
  224. <item name="payment/payflow_advanced/sandbox_flag" xsi:type="string">1</item>
  225. <item name="payment/payflow_advanced/url_method" xsi:type="string">1</item>
  226. <item name="payment/payflow_express/debug" xsi:type="string">1</item>
  227. <item name="payment/payflow_link/debug" xsi:type="string">1</item>
  228. <item name="payment/payflow_link/proxy_host" xsi:type="string">1</item>
  229. <item name="payment/payflow_link/proxy_port" xsi:type="string">1</item>
  230. <item name="payment/payflow_link/sandbox_flag" xsi:type="string">1</item>
  231. <item name="payment/payflow_link/url_method" xsi:type="string">1</item>
  232. <item name="payment/payflow_link/use_proxy" xsi:type="string">1</item>
  233. <item name="payment/payflowpro/debug" xsi:type="string">1</item>
  234. <item name="payment/payflowpro/proxy_host" xsi:type="string">1</item>
  235. <item name="payment/payflowpro/proxy_port" xsi:type="string">1</item>
  236. <item name="payment/payflowpro/pwd" xsi:type="string">1</item>
  237. <item name="payment/payflowpro/sandbox_flag" xsi:type="string">1</item>
  238. <item name="payment/paypal_billing_agreement/debug" xsi:type="string">1</item>
  239. <item name="payment/paypal_express/debug" xsi:type="string">1</item>
  240. <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>
  241. <item name="paypal/fetch_reports/ftp_ip" xsi:type="string">1</item>
  242. <item name="paypal/fetch_reports/ftp_path" xsi:type="string">1</item>
  243. <item name="paypal/fetch_reports/ftp_sandbox" xsi:type="string">1</item>
  244. <item name="paypal/wpp/proxy_host" xsi:type="string">1</item>
  245. <item name="paypal/wpp/proxy_port" xsi:type="string">1</item>
  246. <item name="paypal/wpp/sandbox_flag" xsi:type="string">1</item>
  247. </argument>
  248. </arguments>
  249. </type>
  250. </config>