Zusätzliche Metadaten zu Zahlungen hinzufügen
Senden Sie zusätzliche Zahlungsmetadaten von Adobe Commerce an Stripe.
Wenn Sie in Ihrem Stripe-Dashboard auf eine Zahlung klicken, werden möglicherweise einige Metadaten angezeigt, die bereits für die Zahlung festgelegt wurden, zum Beispiel die Bestellnummer in Magento und die Modulversion, die zum Einziehen der Zahlung verwendet wurde. In diesem Leitfaden wird beschrieben, wie Sie das Stripe-Modul erweitern, um jeder Zahlung zusätzliche Metadaten hinzuzufügen.
Ein neues Modul erstellen
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/ │ └── ConfigPlugin.php ├── registration.php
Registrieren Sie in registration.
Ihr Modul 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 innerhalb von 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_payments_config_plugin" type="Vendor\StripeCustomizations\Plugin\Payments\ConfigPlugin" sortOrder="10" disabled="false" /> </type> </config>
Erstellen Sie in Plugin/Payments/ConfigPlugin.
einen afterMethod-Interceptor:
<?php namespace Vendor\StripeCustomizations\Plugin\Payments; use StripeIntegration\Payments\Model\Config; class ConfigPlugin { /** * After plugin for getMetadata method. * * @param Config $subject * @param array $result * @param Order $order * @return array */ public function afterGetMetadata(Config $subject, array $result, $order) { // Add new metadata $result['CustomKey1'] = 'CustomValue1'; $result['CustomKey2'] = 'CustomValue2'; // You can add dynamic data based on business logic // For example, adding customer group $customerGroup = $order->getCustomerGroupId(); $result['Customer Group'] = $customerGroup; return $result; } }
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