# Ajouter des métadonnées aux paiements

Envoyez des métadonnées de paiement supplémentaires d'Adobe Commerce à Stripe.

Lorsque vous cliquez sur un paiement dans votre Dashboard Stripe, vous pouvez voir certaines métadonnées déjà définies sur le paiement, comme le numéro de commande dans Magento et la version du module utilisé pour collecter le paiement. Ce guide décrit comment modifier le module Stripe pour ajouter des métadonnées supplémentaires à chaque paiement.

## Créer un module

Créez un nouveau module avec la structure de répertoire suivante. Remplacez `Vendor` par le nom de votre fournisseur préféré.

```
app/code/Vendor/StripeCustomizations/
├── etc/
│   ├── module.xml
│   └── di.xml
├── Plugin/
│   └── Payments/
│       └── ConfigPlugin.php
└── registration.php
```

Dans `registration.php`, enregistrez votre module auprès de Magento.

```php
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Vendor_StripeCustomizations',
    __DIR__
);
```

Dans le fichier `etc/module.xml`, définissez le module et configurez les dépendances pour vous assurer qu’il se charge après le module Stripe.

```xml
<?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>
```

Dans le fichier `etc/di.xml`, définissez le plugin suivant&nbsp;:

```xml
<?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>
```

Dans `Plugin/Payments/ConfigPlugin.php`, ajoutez un intercepteur afterMethod&nbsp;:

```php
<?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;
    }
}
```

Activez le module&nbsp;:

```sh
php bin/magento module:enable Vendor_StripeCustomizations
php bin/magento setup:upgrade
php bin/magento cache:clean
php bin/magento cache:flush
```
