Free 15 min initial consultation directly with our experts.
Das NMI-Plugin für Shopware 6 bietet Shopbetreibern eine sichere, zuverlässige und flexible Lösung zur Abwicklung von Zahlungen über das NMI-Payment-Gateway. Das Plugin ist für verschiedene Transaktionstypen ausgelegt und unterstützt sowohl Kreditkarten- als auch ACH-Zahlungen, sodass Unternehmen unterschiedliche Kundenpräferenzen abdecken können. Über die reine Zahlungsabwicklung hinaus ermöglicht das NMI-Plugin eine vollständige Autorisierung von Bestellungen, wodurch Shopbetreiber Zahlungen sicher prüfen und erfassen können. Zudem werden Rückerstattungen, sowohl teilweise als auch vollständig, unterstützt und bieten Händlern effiziente Werkzeuge zur Verwaltung von Transaktionen nach dem Kauf.
Darüber hinaus ermöglicht das Plugin Kunden, ihre Zahlungsmethoden sicher zu speichern, um schnellere und bequemere Checkout-Erlebnisse zu schaffen. Dies reduziert Reibung im Kaufprozess und steigert die Conversion-Rate. Dank der nahtlosen Integration in das Shopware-Administrationspanel können Shopbetreiber Transaktionen verwalten, Zahlungsstatus überwachen und detaillierte Aufzeichnungen führen, ohne die Plattform zu verlassen. Durch die Kombination aus Sicherheit, Flexibilität und Benutzerfreundlichkeit sorgt das NMI-Plugin für ein reibungsloses, vertrauenswürdiges und effizientes Zahlungserlebnis sowohl für Händler als auch für Kunden.
Das Plugin enthält außerdem erweiterte Konfigurationsoptionen, darunter die Verwaltung von API-Schlüsseln für Live- und Sandbox-Umgebungen, Webhook-Signierung sowie 3D-Secure-Verifizierung für zusätzliche Zahlungssicherheit.
1. Download
Git
git clone https://github.com/solution25com/nmi-payment-shopware-6-solution25.git
composer require solution25/nmi-payment
2. Installation des Plugins in Shopware 6
3. Aktivierung des Plugins
4. Überprüfung der Installation
1. Zugriff auf die Plugin-Einstellungen
2. Allgemeine Einstellungen
Konfigurieren Sie die folgenden Einstellungen:
Sobald das Plugin installiert und konfiguriert ist, stehen die NMI-Zahlungsoptionen im Storefront zur Verfügung.
1. Kreditkarten-Erfassung
Mit dieser Funktion können Kunden Transaktionen über das Zahlungs-Gateway von NMI mit einer Kreditkarte abschließen. Stellen Sie sicher, dass die API-Konfiguration für Live-Transaktionen korrekt eingerichtet ist, bevor Sie diese Funktion nutzen.
Funktionsweise:
Schritte:
2. ACH-Erfassung
Die ACH-Erfassung (eCheck) ermöglicht es Kunden, Zahlungen über ihre Bankkontodaten vorzunehmen und bietet eine Alternative zu Kreditkartentransaktionen.
Funktionsweise:
ACH-Transaktionen übertragen Gelder direkt vom Bankkonto des Kunden.
Schritte:
Wählen Sie „NMI ACH (eCheck)“ als Zahlungsmethode aus.
Klicken Sie auf „Bezahlen“.
Geben Sie die erforderlichen Bankkontodaten ein.
Senden Sie die Zahlung ab.
3. Autorisieren und Erfassen für Kreditkarten
Mit dieser Funktion können Zahlungen in zwei Schritten autorisiert und erfasst werden. Die Zahlung wird zunächst autorisiert, wodurch die Gelder auf dem Bankkonto des Kunden eingefroren werden. Der Admin kann dann die Belastung genehmigen oder ablehnen, wodurch die Transaktion abgeschlossen oder storniert wird.
Funktionsweise:
Der Zahlungsstatus bleibt auf „Autorisiert“, bis er manuell genehmigt wird.
Der Admin kann entweder Erfassen (den Kunden belasten) oder Stornieren.
Schritte:
Aktivieren Sie die Funktion „Autorisieren und Erfassen“ in den Plugin-Einstellungen.
Neue Bestellungen werden als „Autorisiert“ angezeigt.
Gehen Sie zum Admin-Panel → Bestellungen und ändern Sie den Zahlungsstatus auf „Bezahlt“ oder „Storniert“.
4. COLI (Stornierung von Artikeln in einer Bestellung)
COLI ermöglicht es Admins, einzelne Artikel in einer Bestellung zu stornieren, ohne die gesamte Transaktion zu beeinflussen. Dies bietet mehr Flexibilität bei der Verwaltung von Rückgaben.
Funktionsweise:
Kunden oder Admins können auswählen, welche Produkte storniert werden sollen.
Die verbleibenden Artikel können weiterhin bezahlt werden.
Schritte:
Wählen Sie das/die Produkt(e) aus, das/die storniert werden soll(en).
Klicken Sie auf „Löschen“, um den/die Artikel zu entfernen.
Speichern Sie die aktualisierte Bestellung.
Ändern Sie den Zahlungsstatus von „Autorisiert“ auf „Bezahlt“.
Die Coli-Funktion ist so konzipiert, dass sie ausschließlich mit iPaaS (Integration Platform as a Service)-Lösungen und ähnlichen Plattformen funktioniert.
4. Rückerstattungen (vollständig & teilweise)
Unterstützt vollständige und teilweise Rückerstattungen über NMI.
Funktionsweise:
Vollständige Rückerstattungen geben die gesamte Zahlung zurück.
Teilweise Rückerstattungen geben nur einen Teil des Gesamtbetrags zurück.
Anwendung (vollständige Rückerstattung):
1.Gehen Sie zu Bestellungen → Artikelbereich.
2.Wählen Sie das/die Produkt(e) aus, das/die erstattet werden soll(en).
3.Klicken Sie auf Artikel zurückgeben.
4.Speichern Sie die Bestellung.
5.Klicken Sie auf Rückerstattung erstellen.
6.Ändern Sie den Status auf „In Bearbeitung“.
Anwendung (teilweise Rückerstattung):
1.Gehen Sie zu Bestellungen → Artikelbereich.
2.Wählen Sie das/die Produkt(e) aus, das/die erstattet werden soll(en).
3.Passen Sie den Rückerstattungsbetrag an (vollständig oder teilweise).
4.Klicken Sie auf Artikel zurückgeben.
5.Speichern Sie die Bestellung.
6.Klicken Sie auf Rückerstattung erstellen.
7.Ändern Sie den Status auf „In Bearbeitung“.
Vollständige Rückerstattung:
Teilweise Rückerstattung:
1.Gehen Sie zur Bestellung und wählen Sie das Produkt für die Rückgabe aus.
2.Geben Sie die Menge der zurückzuerstattenden Artikel an.
3.Geben Sie die Artikel zurück.
4.Speichern Sie die Bestellung.
5.Erstellen Sie eine teilweise Rückerstattung.
6.Aktualisieren Sie den Bestellstatus auf „In Bearbeitung“.
5. Mixed Card
Die Mixed Card-Funktion ermöglicht es Kunden, sowohl reguläre Produkte als auch abonnementbasierte Produkte mit einem einzigen Warenkorb zu kaufen. Diese Funktion integriert Standardkäufe und Abonnements in dieselbe Transaktion.
Funktionsweise:
Das System unterscheidet zwischen Einmalkäufen und abonnementbasierten Zahlungen.
Dieselbe Kreditkarte kann für beide Transaktionsarten verwendet werden.
Anwendung:
1.Fügen Sie reguläre und abonnementsbasierte Produkte zum Warenkorb hinzu.
2.Gehen Sie zur Kasse.
3.Zahlen Sie mit einer einzigen Kreditkarte.
6. Save Card Feature
Ermöglicht es Kunden, ihre Kartendaten sicher für zukünftige Transaktionen zu speichern.
Funktionsweise:
Eine Vaulted ID wird erstellt, um die Zahlungsinformationen des Kunden zu speichern.
Kunden können für zukünftige Transaktionen die Ein-Klick-Zahlung wählen.
Anwendung:
1.Wählen Sie Produkte aus und gehen Sie zur Kasse.
2.Geben Sie die Zahlungsinformationen ein.
3.Aktivieren Sie das Kästchen „Meine Karte für zukünftige Zahlungen speichern“.
4.Die gespeicherte Karte wird bei zukünftigen Bestellungen als Zahlungsoption angezeigt.
Verwaltung gespeicherter Karten:
Karte löschen: Entfernt gespeicherte Kartendaten aus NMI.
Karte hinzufügen: Ermöglicht das Hinzufügen einer neuen Karte für zukünftige Transaktionen.
Dieses Dokument enthält detaillierte Informationen zu den API-Endpunkten, die im NMI Plugin für Shopware 6 verfügbar sind. Diese Endpunkte ermöglichen es autorisierten Benutzern, Transaktionen zu initiieren und Transaktionsdetails mithilfe von abfragebasierten Parametern abzurufen.
POST /api/transact.php
Initiiert eine Transaktion mithilfe von Abfrageparametern, die über eine POST-Anfrage gesendet werden. Dies ist der typische Gateway-Interaktionsendpunkt zur Verarbeitung von Zahlungen über NMI.
Accept: application/json
security_key=6457Thfj624V5r7WUwc5v6a68Zsd6YEm
type=sale
ccnumber=4111111111111111
ccexp=1025
cvv=123
amount=1
response=1
responsetext=SUCCESS
authcode=123456
transactionid=10778056102
response_code=100
type=sale
cvvresponse=N
response=3
responsetext=Payment Token does not exist REFID:333061802
response_code=300
POST /api/query.php
Sendet eine Abfrageanfrage an das NMI-Gateway, um Transaktionsdetails abzurufen. Nützlich für Post-Transaktionsvorgänge wie die Überprüfung des Zahlungsstatus, das Abrufen historischer Daten oder den Abgleich von Datensätzen.
Accept: application/json
Content-Type: application/json
{
"security_key": "6457Thfj624V5r7WUwc5v6a68Zsd6YEm",
"report_type": "transaction",
"transactionid": "10778056102"
}
{
"nm_response": {
"transaction": {
"transaction_id": "10778056102",
"transaction_type": "cc",
"condition": "complete",
"order_id": "1234567890",
"first_name": "John",
"last_name": "Smith",
"cc_number": "4xxxxxxxxxxx1111",
"cc_exp": "1025",
"amount": "1.00",
"response_text": "SUCCESS",
"response_code": "100"
}
}
}
{
"nm_response": {
"error_response": "Invalid security key provided. REFID:987654321"
}
}
1.API-Schlüssel korrekt konfigurieren
Richten Sie Live- und Sandbox-API-Schlüssel ein, bevor Sie Transaktionen verarbeiten.
Stellen Sie sicher, dass Signaturschlüssel und öffentliche Schlüssel korrekt sind, um eine sichere Kommunikation zu gewährleisten.
2.Transaktionen überwachen
Prüfen Sie regelmäßig im Admin-Panel → Bestellungen, ob Zahlungen korrekt verarbeitet werden.
Verwenden Sie „Authorize“ und „Capture“, um die Zahlungsfreigabe zu steuern, bevor Gelder eingezogen werden.
3.Rückerstattungen sorgfältig bearbeiten
Überprüfen Sie das richtige Produkt für vollständige oder teilweise Rückerstattungen.
Aktualisieren Sie den Bestellstatus auf „In Bearbeitung“, nachdem Rückerstattungen verarbeitet wurden.
4.Gemischte Kartenfunktion nutzen
Ermöglichen Sie Kunden die Nutzung einer Kreditkarte für sowohl reguläre als auch Abonnementprodukte.
5.Karten sicher speichern
Aktivieren Sie „Karte speichern“ für schnellere zukünftige Transaktionen.
Verwalten und aktualisieren Sie gespeicherte Karten regelmäßig.
6.Cache nach Änderungen leeren
Leeren Sie immer den Shopware-Cache nach dem Speichern von Einstellungen, um sicherzustellen, dass Updates übernommen werden.
7.Im Sandbox-Modus testen
Verwenden Sie Sandbox-API-Schlüssel, um alle Zahlungsmethoden zu testen, bevor Sie live gehen.
8.Auf dem neuesten Stand bleiben
Halten Sie das Plugin aktuell, um Kompatibilität und Sicherheit zu gewährleisten.
Keine Kreditkarten-Zahlungsoption verfügbar
ACH-Zahlungen werden nicht verarbeitet
„Authorize and Capture“ funktioniert nicht
Rückerstattungen werden nicht verarbeitet
Speichern der Karte funktioniert nicht
Gemischte Karten-Transaktionen funktionieren nicht
1.Wie konfiguriere ich die API-Schlüssel?
Gehen Sie zu den Plugin-Einstellungen im Shopware Admin-Panel und geben Sie die Live- und Sandbox-API-Schlüssel sowie den Signaturschlüssel und die öffentlichen Schlüssel für sichere Transaktionen ein.
2.Kann ich ACH für Zahlungen verwenden?
Ja, Sie können NMI ACH (eCheck) als Zahlungsmethode aktivieren, damit Kunden mit ihren Bankkontodaten zahlen können.
3.Wie funktioniert die Funktion „Authorize and Capture“?
Die Zahlung wird zunächst autorisiert und zurückgehalten. Administratoren können die Belastung genehmigen oder ablehnen, bevor die Gelder eingezogen werden.
4.Kann ich einzelne Artikel in einer Bestellung stornieren?
Ja, Sie können einzelne Positionen stornieren, ohne die gesamte Bestellung zu beeinflussen, mithilfe der COLI-Funktion (Cancel Order by Line Item).
5.Kann ich die Kreditkartendaten der Kunden speichern?
Ja, Sie können die Funktion „Karte speichern“ aktivieren, um die Zahlungsdetails der Kunden sicher für zukünftige Transaktionen zu speichern.
6.Wie gehe ich mit Rückerstattungen um?
Vollständige oder teilweise Rückerstattungen können über den Bereich Bestellungen im Admin-Panel bearbeitet werden. Aktualisieren Sie den Status nach der Verarbeitung auf „In Bearbeitung“.
7.Können Kunden sowohl reguläre als auch Abonnementprodukte mit einer Karte kaufen?
Ja, die Funktion „Gemischte Karte“ ermöglicht es Kunden, sowohl reguläre Produkte als auch abonnementbasierte Artikel mit einer einzigen Kreditkarte zu kaufen.
8.Ist es sicher, Karteninformationen zu speichern?
Ja, die Karteninformationen der Kunden werden sicher mit einer Vaulted-ID gespeichert, was PCI-konform ist und zukünftige One-Click-Zahlungen ermöglicht.
9.Wie behebe ich Zahlungsprobleme?
Überprüfen Sie Ihre API-Zugangsdaten, stellen Sie sicher, dass das Plugin aktiv ist, und prüfen Sie die Zahlungsstatus im Admin-Panel. Leeren Sie den Cache, wenn Einstellungen nicht gespeichert werden.