PaymentElement フォームに表示される規約を非表示にする
カスタムモジュールを使用して、PaymentElement の下にある規約テキストを無効にします。
PaymentElement 内の一部の決済手段には、その使用に関連する規約が表示されます。このガイドに従って、カスタムモジュールを使用して PaymentElement の下にある規約テキストを無効にします。
詳細については、API ドキュメントをご覧ください。
新しいモジュールを作成
Create a new module with the following directory structure. Replace Vendor
with your preferred vendor name.
app/code/Vendor/StripeCustomizations/ ├── etc/ │ ├── module.xml │ └── di.xml ├── Plugin/ │ └── Payments/ │ └── Service/ │ └── PaymentMethodOptionsServicePlugin.php ├── registration.php
registration.
内で、モジュールを Magento に登録します。
<?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Vendor_StripeCustomizations', __DIR__ );
etc/module.
内でモジュールを定義し、依存関係を設定して、Stripe モジュールの後に確実に読み込まれるようにします。
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Vendor_StripeCustomizations" setup_version="1.0.0"> <sequence> <module name="StripeIntegration_Payments"/> </sequence> </module> </config>
etc/di.
内で、以下のプラグインを定義します。
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="StripeIntegration\Payments\Service\PaymentMethodOptionsService"> <plugin name="vendor_stripecustomizations_payments_paymentmethodoptionsservice_plugin" type="Vendor\StripeCustomizations\Plugin\Payments\Service\PaymentMethodOptionsServicePlugin" sortOrder="10" disabled="false" /> </type> </config>
Plugin/Payments/Service/PaymentMethodOptionsServicePlugin.
内にプラグインクラスを作成します。
<?php namespace Vendor\StripeCustomizations\Plugin\Payments\Service; use StripeIntegration\Payments\Service\PaymentMethodOptionsService; class PaymentMethodOptionsServicePlugin { /** * After plugin for getPaymentElementTerms method. * * @param PaymentMethodOptionsService $subject * @param array $result * @return array */ public function afterGetPaymentElementTerms(PaymentMethodOptionsService $subject, $result) { if (isset($result['paypal'])) { // Can be 'auto', 'always', or 'never'. We recommend against using 'auto' due to the usage of deferred intents in the module. $result['paypal'] = 'never'; } return $result; } }