Bestimmte Versandmethoden in Express Checkout-Modalen deaktivieren
Entfernen Sie bestimmte Versandmethoden aus dem Express Checkout-Modal.
Bestimmte Versandmethoden, wie Abholung im Geschäft, erfordern möglicherweise zusätzliche Kundeneingaben, wie z. B. die Abholadresse. Diese eignen sich nicht für Express Checkout-Geldbörsen, die keine Möglichkeit zum Anpassen des Zahlungsmodals bieten.
Wenn Sie diese Art der Versandmethode verwenden, können Sie sie für Express Checkout mithilfe einer Modulanpassung deaktivieren.
Neues Modul erstellen
Erstellen Sie ein neues Modul mit der folgenden Verzeichnisstruktur. Ersetzen Sie Vendor
durch den von Ihnen bevorzugten Anbieternamen.
app/code/Vendor/StripeCustomizations/ ├── etc/ │ └── module.xml ├── Plugin/ │ └── Api/ │ └── Response/ │ └── ECEResponse.php ├── registration.php
Registrieren Sie Ihr Modul in der Datei registration.
bei Magento.
<?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Vendor_StripeCustomizations', __DIR__ );
Definieren Sie in etc/module.
das Modul und richten Sie Abhängigkeiten ein, um sicherzustellen, dass es nach dem Stripe Modul geladen wird.
<?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>
Definieren Sie in etc/di.
das folgende Plugin:
<?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\Model\Config"> <plugin name="vendor_stripecustomizations_eceresponse_plugin" type="Vendor\StripeCustomizations\Plugin\Api\Response\ECEResponse" sortOrder="10" disabled="false" /> </type> </config>
Erstellen Sie in Plugin/Api/Response/ECEResponse.
den afterMethod-Interceptor:
<?php namespace Vendor\StripeCustomizations\Plugin\Payments; class ECEResponse { /** * After plugin for getShippingRatesForQuoteShippingAddress method. * * @param $subject * @param array $result * @return array */ public function afterGetShippingRatesForQuoteShippingAddress($subject, array $result) { $idToRemove = "store_pickup"; return array_filter($result, function ($shippingRate) use ($idToRemove) { return $shippingRate['id'] !== $idToRemove; }); } }
Aktivieren Sie das Modul:
php bin/magento module:enable Vendor_StripeCustomizations php bin/magento setup:upgrade php bin/magento cache:clean php bin/magento cache:flush