在 `%Vendor_Module%/etc` 目录中的 `config.xml` 文件中为支付方式配置对应的选项,下表包含了支付方式可以配置的默认选项。 你的支付方式可能有更多的依赖项 | 选项 | 描述 | 值类型 | | :--- | :--- | :--- | | `active` | 默认是否开启 | Boolean | | `debug` | 默认是否开启 debug 模式, 比如为 request/response 打 log | Boolean | | `debugReplaceKeys` | request/response 中那些字段不会在 log 中展示 | comma separated list | | `can_authorize` | payment method 是否支持 authorization | Boolean | | `can_capture` | whether payment method supports the capture operation | Boolean | | `can_void` | whether payment method supports the void operation | Boolean | | `can_use_checkout` | 支付方式是否在网店前台的 storefront checkout 可用 | Boolean | | `can_use_internal` | whether payment method is available in Admin order creation | Boolean | | `currency` | 支持的货币 |   | | `is_gateway` | 是否是包含网关的集成 | Boolean | | `merchant_gateway_key` | 加密后的商家凭证 | string | | `model` | [payment method facade](https://devdocs.magento.com/guides/v2.4/payments-integrations/base-integration/facade-configuration.html) used for integration with Sales and Checkout modules | string | | `order_status` | 默认的 [order status](https://glossary.magento.com/order-status) |   | | `paymentInfoKeys` | transaction request/response fields displayed on payment information block (can be any fields from payment additional information) | list of comma separated values | | `privateInfoKeys` | `privateInfoKeys` fields which should not be displayed in customer payment information block (can be any fields from payment additional information) |   | | `payment_action` | default action of payment for the payment method (authorize, sale) | `authorize`,`authorize_capture` | | `sort_order` | payment method order position on checkout/system configuration pages | integer | | `title` | default title for a payment method | string | 除了默认选项以外,一个支付方式配置可以包含任何其他自定义配置。 ## 例子 以下是如何配置的例子(Braintree 模块的 `config.xml` ) ```php <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd"> <default> <payment> <braintree> <model>BraintreeFacade</model> <title>Credit Card (Braintree)</title> <payment_action>authorize</payment_action> <active>0</active> <is_gateway>1</is_gateway> <can_use_checkout>1</can_use_checkout> <can_authorize>1</can_authorize> <can_capture>1</can_capture> <can_capture_partial>1</can_capture_partial> <can_authorize_vault>1</can_authorize_vault> <can_capture_vault>1</can_capture_vault> <can_use_internal>1</can_use_internal> <can_refund_partial_per_invoice>1</can_refund_partial_per_invoice> <can_refund>1</can_refund> <can_void>1</can_void> <can_cancel>1</can_cancel> <can_edit>1</can_edit> <can_review_payment>1</can_review_payment> <can_deny_payment>1</can_deny_payment> <cctypes>AE,VI,MC,DI,JCB,CUP,DN,MI</cctypes> <useccv>1</useccv> <cctypes_braintree_mapper><![CDATA[{"american-express":"AE","discover":"DI","jcb":"JCB","mastercard":"MC","master-card":"MC","visa":"VI","maestro":"MI","diners-club":"DN","unionpay":"CUP"}]]></cctypes_braintree_mapper> <order_status>processing</order_status> <environment>sandbox</environment> <allowspecific>0</allowspecific> <sdk_url><![CDATA[https://js.braintreegateway.com/js/braintree-2.32.0.min.js]]></sdk_url> <public_key backend_model="Magento\Config\Model\Config\Backend\Encrypted" /> <private_key backend_model="Magento\Config\Model\Config\Backend\Encrypted" /> <masked_fields>cvv,number</masked_fields> <privateInfoKeys>avsPostalCodeResponseCode,avsStreetAddressResponseCode,cvvResponseCode,processorAuthorizationCode,processorResponseCode,processorResponseText,liabilityShifted,liabilityShiftPossible,riskDataId,riskDataDecision</privateInfoKeys> <paymentInfoKeys>cc_type,cc_number,avsPostalCodeResponseCode,avsStreetAddressResponseCode,cvvResponseCode,processorAuthorizationCode,processorResponseCode,processorResponseText,liabilityShifted,liabilityShiftPossible,riskDataId,riskDataDecision</paymentInfoKeys> <avs_ems_adapter>Magento\Braintree\Model\AvsEmsCodeMapper</avs_ems_adapter> <cvv_ems_adapter>Magento\Braintree\Model\CvvEmsCodeMapper</cvv_ems_adapter> <group>braintree_group</group> </braintree> </payment> </default> </config> ```