# Manuelle Erfassung aktivieren

Separate Autorisierung und Erfassung für zulässige Stripe-Zahlungsmethoden zulassen

Stripe unterstützt die manuelle Erfassung für einige Zahlungsmethoden. Sie können dieses Verhalten auf der Seite mit den Anwendungseinstellungen konfigurieren, indem Sie die Eigenschaft `Payment Action` einer geeigneten Zahlungsmethode auf **Nur autorisieren** setzen.

Normalerweise erfordert die Aktivierung der manuellen Erfassung für eine neu eingeführte Zahlungsmethode, die dies unterstützt, ein Upgrade Ihres Stripe-Moduls. In diesem Leitfaden erfahren Sie, wie Sie die manuelle Erfassung für geeignete Zahlungsmethoden aktivieren können, ohne das Stripe-Modul zu aktualisieren, indem Sie die Hilfsdatei für Zahlungsmethoden direkt aktualisieren.

## Neues Modul erstellen

Erstellen Sie ein neues Modul mit der folgenden Verzeichnisstruktur. Ersetzen Sie `Vendor` durch Ihren bevorzugten Anbieternamen.

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

Registrieren Sie Ihr Modul in der Datei `registration.php` bei Magento.

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

Definieren Sie in `etc/module.xml` das Modul und richten Sie Abhängigkeiten ein, um sicherzustellen, dass es nach dem Stripe-Modul geladen wird.

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

Definieren Sie in `etc/di.xml` das folgende Plugin:

```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\Helper\PaymentMethod">
        <plugin
            name="vendor_stripecustomizations_helper_paymentmethod_plugin"
            type="Vendor\StripeCustomizations\Plugin\Helper\PaymentMethodPlugin"
            sortOrder="10"
            disabled="false" />
    </type>
</config>
```

Erstellen Sie in `Plugin/Helper/PaymentMethodPlugin.php` einen `afterMethod`-Interceptor:

```php
<?php

namespace Vendor\Module\Plugin;

class PaymentMethodPlugin
{
    public function afterGetPaymentMethodsThatCanCaptureManually(
        \StripeIntegration\Payments\Helper\PaymentMethod $subject,
        $result
    ) {
        // Modify or extend the result to include another payment method code that supports manual capture.
        $result[] = 'new_payment_method_code';

        return $result;
    }
}
```

Aktivieren Sie das Modul:

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