Activer la capture manuelle
Permettre une autorisation et une saisie séparées pour les moyens de paiement Stripe admissibles.
Stripe prend en charge la capture manuelle pour certains types de moyens de paiement. Vous pouvez configurer ce comportement dans la page des paramètres de l’application en définissant la propriété Payment Action
d’un moyen de paiement admissible sur Authorize Only.
Généralement, l’activation de la capture manuelle pour un moyen de paiement nouvellement lancé qui la prend en charge nécessite la mise à jour de votre module Stripe. Ce guide vous explique comment activer la capture manuelle pour les moyens de paiement admissibles sans mettre à niveau le module Stripe en mettant directement à jour le fichier d’aide des moyens de paiement.
Créer un nouveau 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/ │ └── Helper/ │ └── PaymentMethodPlugin.php ├── registration.php
Dans registration.
, enregistrez votre module auprès de Magento.
<?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Vendor_StripeCustomizations', __DIR__ );
Dans le fichier etc/module.
, définissez le module et configurez les dépendances pour vous assurer qu’il se charge après le 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>
Dans le fichier etc/di.
, définissez le plugin suivant :
<?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>
Dans Plugin/Helper/PaymentMethodPlugin.
, créez un intercepteur afterMethod
:
<?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; } }
Activez le module :
php bin/magento module:enable Vendor_StripeCustomizations php bin/magento setup:upgrade php bin/magento cache:clean php bin/magento cache:flush