Zurück

VibeFox Razorpay for WooCommerce — Hilfe

Anforderungen

WordPress: 6.0 oder neuer.

WooCommerce: 7.0 oder neuer, installiert und aktiv. Ohne WooCommerce lässt sich das Plugin nicht aktivieren.

PHP: 8.0 oder neuer.

Razorpay-Konto: Sie benötigen die Key ID und das Key Secret Ihres Razorpay-Kontos für den Testmodus und für den Live-Modus, sobald Ihr Konto freigeschaltet ist. Ein Webhook mit einem Geheimwert Ihrer Wahl wird dringend empfohlen (siehe Konfiguration). Zahlungen in anderen Währungen als INR erfordern, dass International Payments in Ihrem Razorpay-Konto aktiviert ist.

VibeFox-Lizenzschlüssel: erhältlich auf vibefox.net. Ein Schlüssel funktioniert auf einer Domain.

Installation

1. Gehen Sie in WordPress zu Plugins > Add New > Upload Plugin, wählen Sie die ZIP-Datei des Plugins und klicken Sie auf Install Now. Alternativ können Sie den Ordner wcp_razorpay_payment per FTP nach /wp-content/plugins/ hochladen.

2. Klicken Sie auf Activate.

3. Öffnen Sie die Einstellungen: WooCommerce > Settings > Payments > Razorpay > Manage, oder klicken Sie auf der Seite Plugins unter dem Plugin-Namen auf Settings.

4. Geben Sie Ihren VibeFox-Lizenzschlüssel im Lizenzbereich oben auf der Seite ein und klicken Sie auf Activate.

5. Geben Sie Ihre Test Key ID und Ihr Test Key Secret ein, richten Sie den Webhook im Razorpay-Dashboard ein und tragen Sie dessen Geheimwert ein (siehe Konfiguration).

6. Aktivieren Sie Enable/Disable und führen Sie eine Testzahlung mit eingeschaltetem Test mode durch. Wenn alles bereit ist, geben Sie die Live-Schlüssel ein und deaktivieren Sie Test mode.

Konfiguration

Alle Einstellungen befinden sich auf einer Seite: WooCommerce > Settings > Payments > Razorpay. Oberhalb der Felder zeigt die Seite Hinweise an: Die Schlüssel des aktuellen Modus fehlen (die Zahlungsart wird dann an der Kasse ausgeblendet), die Key ID beginnt im Testmodus nicht mit rzp_test_ bzw. im Live-Modus nicht mit rzp_live_, der Testmodus ist aktiv, das Webhook-Geheimnis ist leer oder die Shop-Währung ist nicht INR und benötigt International Payments in Ihrem Razorpay-Konto. In der Liste der Zahlungsarten ist Razorpay als einrichtungsbedürftig markiert, bis der aktuelle Modus seine Schlüssel hat, und solange der Testmodus aktiv ist, wird das Abzeichen Test mode angezeigt. Beim Speichern werden Leerzeichen entfernt, die beim Einfügen der Schlüssel mitkopiert wurden.

Allgemein

Enable/Disable: Enable Razorpay Payment Gateway schaltet die Zahlungsart ein oder aus. Standard: aus.

Title: der Name der Zahlungsart, den Kunden an der Kasse sehen. Standard: UPI, Cards, NetBanking.

Description: der Text, der unter der Zahlungsart an der Kasse angezeigt wird. Standard: Pay securely via UPI, Credit/Debit Card, or Internet Banking through Razorpay.

API-Schlüssel

Ihre Schlüssel finden Sie im Razorpay-Dashboard unter Account & Settings > API Keys. Schalten Sie das Dashboard in den Testmodus, um Testschlüssel (rzp_test_...) zu erzeugen. Live-Schlüssel (rzp_live_...) sind verfügbar, sobald Ihr Konto freigeschaltet ist.

Test mode: Use the Test mode keys (no real money is charged). Standard: ein. Deaktivieren Sie die Option, um echte Zahlungen anzunehmen. Zahlungen, Erfassungen und Erstattungen einer Bestellung verwenden immer die Schlüssel des Modus, in dem die Bestellung bezahlt wurde. Ein späterer Moduswechsel wirkt sich daher nicht auf bestehende Bestellungen aus.

Test Key ID: die Key ID aus dem Razorpay-Dashboard im Testmodus. Sie beginnt mit rzp_test_.

Test Key Secret: das Key Secret aus dem Razorpay-Dashboard im Testmodus.

Live Key ID: die Key ID aus dem Razorpay-Dashboard im Live-Modus. Sie beginnt mit rzp_live_.

Live Key Secret: das Key Secret aus dem Razorpay-Dashboard im Live-Modus.

Zahlung

Payment Action: wann das Geld abgebucht wird. Standard: Authorize & Capture.

Authorize & Capture: der Kunde wird sofort belastet. Meldet Razorpay eine autorisierte Zahlung, erfasst das Plugin sie.
Authorize Only: der Betrag wird reserviert. Die Bestellung wird auf „In Wartestellung“ gesetzt, und Sie erfassen die Zahlung später mit der Bestellaktion Capture Razorpay payment oder im Razorpay-Dashboard. Razorpay erstattet autorisierte Zahlungen automatisch, wenn sie nicht rechtzeitig erfasst werden.

Webhook

Der Webhook bestätigt Zahlungen auch dann, wenn der Kunde den Browser direkt nach der Zahlung schließt, und erfasst im Razorpay-Dashboard vorgenommene Erstattungen. Gehen Sie im Razorpay-Dashboard zu Account & Settings > Webhooks und legen Sie einen Webhook für den Testmodus und einen weiteren für den Live-Modus an. Verwenden Sie die URL, die in diesem Abschnitt der Einstellungen angezeigt wird. Sie hat die Form https://your-site/wc-api/razorpay_p_webhook/. Kopieren Sie sie genau so, wie die Einstellungen sie anzeigen. Vergeben Sie in Razorpay einen Geheimwert Ihrer Wahl und wählen Sie diese Ereignisse aus:

payment.authorized: eine Zahlung wurde autorisiert.
payment.captured: eine Zahlung wurde erfasst, auch wenn Sie sie im Razorpay-Dashboard erfassen.
payment.failed: ein Zahlungsversuch ist fehlgeschlagen.
order.paid: die Razorpay-Bestellung der Zahlung wurde bezahlt.
refund.created: eine Zahlung wurde erstattet, zum Beispiel im Razorpay-Dashboard.

Webhook Secret: der Geheimwert, den Sie beim Anlegen des Webhooks vergeben haben. Verwenden Sie denselben Geheimwert für den Test- und den Live-Webhook, weil das Plugin nur ein Feld für beide hat. Webhooks ohne gültige Signatur werden abgelehnt. Ohne Webhook wird eine Zahlung erst bestätigt, wenn der Kunde aus dem Popup zurückkehrt oder die Zahlungsseite der Bestellung später erneut öffnet.

Erweitert

Enable Logging: Save debug logs. Das Protokoll befindet sich unter WooCommerce > Status > Logs, Quelle wcp_razorpay_payment. Fehler und Warnungen werden immer protokolliert; diese Option fügt die Debug-Details hinzu. Schlüssel, Signaturen und Kundenkontaktdaten werden niemals protokolliert. Standard: aus.

Delete Data on Uninstall: Remove the plugin settings and logs when the plugin is deleted (orders are never touched). Standard: aus.

Kasse

Der Kunde wählt die Zahlungsart (standardmäßig UPI, Cards, NetBanking) und gibt die Bestellung auf. Das Plugin erstellt eine Razorpay-Bestellung für den exakten Bestellbetrag und die Währung und öffnet die Seite zur Zahlung der Bestellung. Dort öffnet sich das Razorpay-Checkout-Popup automatisch, mit bereits eingetragenem Namen, E-Mail-Adresse und Telefonnummer des Kunden. Wird das Popup geschlossen, kann der Kunde auf Pay Now klicken, um es erneut zu öffnen, oder auf Cancel order. Im Testmodus zeigt die Seite Razorpay Test mode: no real money will be charged. an.

Nach einer erfolgreichen Zahlung prüft das Plugin die Razorpay-Signatur, ruft die Zahlung über die Razorpay-API ab und vergleicht Betrag und Währung mit der Bestellung. Die Bestellung wird erst als bezahlt markiert, nachdem Razorpay dies bestätigt hat. Anschließend sieht der Kunde die Bestellbestätigungsseite. Ist die Signatur gültig, die Zahlung aber in diesem Moment nicht abrufbar, wird die Bestellung auf „In Wartestellung“ gesetzt, und der Webhook bestätigt sie später.

Kehrt der Kunde zu einer unbezahlten Bestellung zurück, verwendet das Plugin deren Razorpay-Bestellung erneut. War diese Razorpay-Bestellung bereits bezahlt, zum Beispiel weil der Kunde den Browser geschlossen hat und kein Webhook vorhanden ist, übernimmt das Plugin die Zahlung, statt eine zweite zu verlangen.

Meldungen, die der Kunde sehen kann:

Payment was cancelled. Please click "Pay Now" to try again.
Your session has expired. Please click "Pay Now" to try again.
We could not verify your payment. Die Meldung ergänzt, dass die Bestellung automatisch aktualisiert wird, sobald Razorpay bestätigt, dass Geld abgebucht wurde.
Razorpay is temporarily unavailable. Please try again in a few minutes.
Razorpay could not accept this payment: gefolgt vom Grund, den Razorpay angibt.
The order amount is too small to be paid with Razorpay.
Razorpay Checkout could not be loaded. Das Popup-Skript ist blockiert; die Meldung fordert auf, die Verbindung zu prüfen, Content-Blocker zu deaktivieren und die Seite neu zu laden.

Die Zahlungsart funktioniert in der klassischen Kasse, im Kassen-Block und auf der Seite Pay for order. Sie ist mit WooCommerce High-Performance Order Storage (HPOS) kompatibel.

Das Plugin unterstützt nur einmalige Zahlungen. Es bietet keine Abonnements oder wiederkehrenden Zahlungen, keine gespeicherten Karten, kein Razorpay Magic Checkout, keine Payment Links und kein Route (geteilte Zahlungen) sowie keine Angebots- oder Erschwinglichkeits-Widgets.

Bestellungen und Erstattungen

Order statuses

Pending payment: die Razorpay-Bestellung wurde angelegt, und der Kunde hat noch nicht bezahlt. Jede Razorpay-Bestellung wird mit Betrag und Modus in den Bestellnotizen erfasst.

Processing or Completed: die Zahlung wurde erfasst und bestätigt; das ist der Standard von WooCommerce nach einer Zahlung. Die Bestellnotiz zeigt die Razorpay-Zahlungs-ID, den Betrag und wie die Zahlung bestätigt wurde (Rückruf, Webhook oder Prüfung bei der Rückkehr). Die Transaktions-ID ist die Razorpay-Zahlungs-ID (pay_...).

On hold: wird in diesen Fällen gesetzt, jeweils mit einer Bestellnotiz: Die Zahlung wurde nur autorisiert (Authorize Only), der bezahlte Betrag oder die Währung stimmt nicht mit der Bestellung überein, die Zahlung wurde für eine stornierte Bestellung erfasst oder die Zahlung konnte in diesem Moment nicht über die Razorpay-API verifiziert werden. Eine Bestellung, die bereits auf „In Wartestellung“ steht, erhält die Notiz trotzdem.

Failed: der Webhook payment.failed ist für eine ausstehende Bestellung eingegangen. Die Notiz zeigt den Razorpay-Fehler. Der Kunde kann weiterhin erneut bezahlen; eine Bestellung, die bereits eine autorisierte oder erfasste Zahlung hat, wird nicht verändert.

Cancelled: der Kunde hat auf Cancel order geklickt, oder die Bestellung wurde von Ihnen oder durch das Zeitlimit der WooCommerce-Lagerreservierung storniert. Eine später eingehende Zahlung öffnet sie nicht automatisch wieder: Eine autorisierte Zahlung wird nicht erfasst, und eine erfasste Zahlung setzt die Bestellung zur Prüfung durch Sie auf „In Wartestellung“.

Geht für eine bereits bezahlte Bestellung eine zusätzliche Zahlung ein, bleibt die Bestellung unverändert. Eine Notiz fordert Sie auf, die Zahlung im Razorpay-Dashboard zu erstatten, falls sie nicht beabsichtigt war.

Erfassung (Authorize Only)

Öffnen Sie die Bestellung auf „In Wartestellung“, wählen Sie unter Order actions die Option Capture Razorpay payment und klicken Sie auf die Schaltfläche zum Aktualisieren. Die Zahlung wird im Modus erfasst, in dem sie autorisiert wurde, und die Bestellung wird als bezahlt markiert. Lehnt Razorpay ab, zeigt die Bestellnotiz Razorpay capture failed: mit dem Grund an. Eine Erfassung im Razorpay-Dashboard schließt die Bestellung über den Webhook ab.

Erstattungen

Öffnen Sie die Bestellung, klicken Sie auf Refund, geben Sie den Betrag ein und klicken Sie auf Refund via, gefolgt von der Bezeichnung der Zahlungsart. Vollständige und teilweise Erstattungen werden unterstützt. Die Erstattung wird mit den Schlüsseln des Modus gesendet, in dem die Zahlung erfolgt ist. Akzeptiert Razorpay die Erstattung nicht, zeigt WooCommerce Razorpay refund failed: mit dem Grund an, und es wird keine Erstattung erfasst. Eine erfolgreiche Erstattung wird mit der Razorpay-Erstattungs-ID, dem Betrag und dem Status in den Bestellnotizen ergänzt.

Im Razorpay-Dashboard vorgenommene Erstattungen treffen über den Webhook ein und werden als WooCommerce-Erstattungen zur Bestellung erfasst, und zwar einmalig und ohne Rückbuchung des Lagerbestands. Eine Erstattung im Dashboard in einer anderen Währung oder über dem erstattungsfähigen Betrag wird nicht automatisch erfasst; eine Notiz fordert Sie auf, sie manuell zu erfassen.

Lizenzschlüssel

Das Plugin arbeitet mit einem VibeFox-Lizenzschlüssel von vibefox.net. Der Lizenzbereich befindet sich oben unter WooCommerce > Settings > Payments > Razorpay. Fügen Sie den Schlüssel unter License key ein und klicken Sie auf Activate. Der Bereich zeigt den Status an, zum Beispiel das Datum, bis zu dem die Lizenz aktiv ist, und Ihre Domain. Mit Check now prüfen Sie den Status erneut, mit Change key geben Sie einen anderen Schlüssel ein und mit Remove key entfernen Sie ihn von dieser Website. Der Link Manage licenses and domains in your account öffnet Ihr Konto auf vibefox.net.

Ein Schlüssel funktioniert auf einer Domain. Wird der Schlüssel von einer Website entfernt, wird der Domain-Platz nicht frei. Geben Sie den Platz in Ihrem Konto auf vibefox.net frei.

Ohne aktiven Schlüssel wird Razorpay Kunden an der Kasse nicht angezeigt. Wird dennoch eine Zahlung gestartet, sieht der Kunde This payment method is not available. Please choose another one. Angemeldete Shop-Manager sehen die Zahlungsart weiterhin, markiert mit (unlicensed — visible to admins only), damit Sie das Plugin einrichten und testen können, bevor Sie einen Schlüssel kaufen. Eine Erinnerung erscheint auf der Seite Plugins und auf WooCommerce-Seiten. Bestehende Bestellungen sind nicht betroffen: Bereits gestartete Zahlungen werden weiterhin bestätigt, und Erstattungen funktionieren.

Läuft eine Lizenz ab, arbeitet das Plugin weiter, für Updates und Support ist aber eine Verlängerung nötig. Der Status wird im Hintergrund automatisch erneut geprüft.

Fehlerbehebung

Razorpay erscheint nicht an der Kasse: Prüfen Sie, ob die Lizenz aktiv ist, Enable/Disable eingeschaltet ist und der aktuelle Modus beide Schlüssel hat: Test Key ID und Test Key Secret im Testmodus, Live Key ID und Live Key Secret im Live-Modus. Die Einstellungsseite zeigt einen Hinweis, wenn sie fehlen.

Die Zahlung ist durchgegangen, aber die Bestellung bleibt Pending payment: Der Webhook funktioniert nicht. Prüfen Sie im Razorpay-Dashboard, ob der Webhook im verwendeten Modus (Test oder Live) existiert, ob seine URL exakt der in den Einstellungen angezeigten entspricht und ob die fünf Ereignisse ausgewählt sind. Prüfen Sie, dass Webhook Secret dasselbe Geheimnis wie in Razorpay ist. Die Bestellung wird auch bestätigt, wenn der Kunde die Zahlungsseite der Bestellung erneut öffnet.

Webhook meldet Webhook secret not configured: Webhook Secret ist leer. Tragen Sie das Geheimnis des Razorpay-Webhooks ein. Razorpay sendet das Ereignis später erneut.

Webhook meldet Invalid signature oder Missing signature: Das Geheimnis in den Einstellungen unterscheidet sich vom Geheimnis des Razorpay-Webhooks. Tragen Sie an beiden Stellen dasselbe Geheimnis ein.

Webhook meldet Retry later: Das Plugin konnte eine Erfassung nicht über die Razorpay-API bestätigen, oder die Bestellung wurde im selben Moment von einer anderen Anfrage aktualisiert. Razorpay sendet das Ereignis automatisch erneut.

Eine Bestellung ist On hold: Lesen Sie die Bestellnotiz. Die Zahlung wurde nur autorisiert (verwenden Sie Capture Razorpay payment), der Betrag oder die Währung stimmte nicht mit der Bestellung überein, die Zahlung kam für eine stornierte Bestellung an, oder sie konnte in diesem Moment nicht über die Razorpay-API verifiziert werden und wartet auf den Webhook.

Der Kunde sieht beim Bezahlen einen Fehler: Öffnen Sie die Bestellnotizen oder sehen Sie unter WooCommerce > Status > Logs, Quelle wcp_razorpay_payment nach. Fehler werden auch bei ausgeschalteter Option Enable Logging protokolliert. Falsche Schlüssel führen zur Meldung, dass die Zahlungsart derzeit nicht verfügbar ist. Andere Gründe von Razorpay werden nach Razorpay could not accept this payment: angezeigt.

Das Popup öffnet sich nicht: Das Razorpay-Checkout-Skript wurde durch einen Content-Blocker oder die Verbindung blockiert. Der Kunde sieht eine Meldung und kann die Seite neu laden.

Erstattung schlägt fehl: Die Erstattung verwendet die Schlüssel des Modus, in dem die Zahlung erfolgt ist. Prüfen Sie, ob die Schlüssel dieses Modus eingetragen sind, und lesen Sie den Grund in der Fehlermeldung.

Der Lizenzbereich zeigt einen Fehler: Folgen Sie der Meldung im Bereich. Ist der Schlüssel zum Beispiel bereits auf einer anderen Domain verwendet, geben Sie in Ihrem Konto auf vibefox.net einen Platz frei und klicken Sie auf Check now. Hat sich die Adresse der Website geändert, klicken Sie auf Check now, um den Schlüssel für die neue Domain zu aktivieren. Ist der Lizenzserver nicht erreichbar, arbeitet das Plugin mit dem zuletzt bekannten Status weiter.

Deinstallation

Das Deaktivieren des Plugins behält alle Daten. Zum Entfernen deaktivieren und löschen Sie es auf der Seite Plugins. Der Lizenzschlüssel und der Lizenzstatus dieses Plugins werden immer entfernt. Die Gateway-Einstellungen und die Protokolle (Protokolldateien einschließlich rotierter Dateien sowie Protokolleinträge in der Datenbank) werden nur entfernt, wenn Delete Data on Uninstall aktiv war. Andernfalls bleiben sie für eine spätere Neuinstallation erhalten. Bestellungen und ihre Razorpay-Daten werden nie gelöscht. Bestehende Bestellungen behalten ihre Zahlungsnotizen und Transaktions-IDs.

Razorpay ist eine Marke ihres jeweiligen Inhabers. Dieses Plugin ist nicht mit Razorpay verbunden und wird von Razorpay nicht unterstützt.