VibeFox PayU India for PrestaShop — Hilfe
Anforderungen
PrestaShop: 8.0 bis 9.x.
PHP: 8.0 oder neuer. Das Modul lässt sich auf älteren PHP-Versionen nicht installieren.
Währung: Indische Rupie (INR). PayU India rechnet ausschließlich in Rupien ab. Bei Warenkörben in anderen Währungen wird die Zahlungsmethode an der Kasse ausgeblendet.
Telefonnummer: PayU verlangt bei jeder Zahlung eine Telefonnummer. Machen Sie das Telefonfeld der Adresse an Ihrer Kasse zum Pflichtfeld oder zumindest sichtbar.
PayU-India-Konto: Sie benötigen den Merchant Key und den Merchant Salt (v1) aus PayU Dashboard > Payment Gateway > Key Salt Details. Schalten Sie das Dashboard in den Test Mode, um das Testpaar zu sehen. Verwenden Sie Salt v1, nicht Salt v2.
Internetzugang für Ihren Shop: wird für den optionalen Webhook benötigt. Ohne ihn werden Bestellungen bestätigt, sobald der Kunde von PayU zurückkehrt.
VibeFox-Lizenzschlüssel: wird auf vibefox.net gekauft. Ein Schlüssel funktioniert auf einer Domain.
Installation
1. Gehen Sie im Back-Office zu Modules > Module Manager und klicken Sie auf Upload a module. Wählen Sie die ZIP-Datei des Moduls.
2. Wenn der Upload abgeschlossen ist, klicken Sie auf Configure, oder suchen Sie später VibeFox PayU India Payment Gateway in der Modulliste und klicken Sie auf Configure.
3. Geben Sie Ihren VibeFox-Lizenzschlüssel im Feld License key des Lizenzblocks oben auf der Seite Configure ein und klicken Sie auf Activate (siehe Lizenzschlüssel).
4. Geben Sie den Test Merchant Key und Salt sowie den Live Merchant Key und Salt ein (siehe Konfiguration).
5. Empfohlen: Fügen Sie in PayU Dashboard > Webhooks die auf der Seite Configure angezeigte Webhook-URL für erfolgreiche und fehlgeschlagene Zahlungen hinzu.
6. Wählen Sie den Mode, aktivieren Sie Enable/Disable und klicken Sie auf Save. Testen Sie eine Zahlung im Testmodus und wechseln Sie dann in den Livemodus.
Bei der Installation legt das Modul zwei Bestellstatus an: Awaiting PayU India payment und PayU India payment on hold. PrestaShop bietet ein neues Zahlungsmodul für alle Währungen, Länder und Kundengruppen an. Sie können dies unter Payment > Preferences einschränken; die Währung INR muss für das Modul erlaubt bleiben.
Konfiguration
Alle Einstellungen befinden sich auf der Modulseite: Modules > Module Manager > VibeFox PayU India Payment Gateway > Configure. Jeder Abschnitt hat seinen eigenen Button Save, der die gesamte Seite speichert. Oberhalb der Felder warnt Sie die Seite, wenn Schlüssel oder Salt des aktuellen Modus fehlen, zeigt im Testmodus Test mode is active: payments go to test.payu.in and no real money is charged. an und zeigt einen Fehler, wenn die Standardwährung Ihres Shops nicht INR ist (das Gateway wird dann an der Kasse ausgeblendet).
Beim Speichern werden Leerzeichen und Zeilenumbrüche aus Schlüsseln und Salts entfernt, denn ein Salt mit eingefügtem Leerzeichen würde jede Antwort von PayU bei der Prüfung scheitern lassen.
PayU India
Enable/Disable: Enable PayU India Payment Gateway schaltet die Zahlungsmethode ein oder aus. Standard: aus. Wenn Sie sie ohne Schlüssel und Salt des aktuellen Modus einschalten, warnt Sie die Seite nach dem Speichern.
Title: der Titel der Zahlungsmethode, den der Kunde an der Kasse sieht. Er ist auch der Name der Zahlungsmethode, der in der Bestellung gespeichert wird. Standard: PayU India. Pflichtfeld.
Description: die Beschreibung der Zahlungsmethode, die der Kunde an der Kasse sieht. Standard: Pay securely via Credit/Debit Card, NetBanking, UPI, or Wallets through PayU.
API-Zugangsdaten
Kopieren Sie den Merchant Key und den Merchant Salt (v1) aus PayU Dashboard > Payment Gateway > Key Salt Details. Schalten Sie das Dashboard für das Testpaar in den Test Mode. Der Abschnitt enthält einen Link Open the PayU Dashboard.
Mode: die PayU-Umgebung, die neue Zahlungen verwenden.
Bereits gestartete Zahlungen behalten den Modus, in dem sie gestartet wurden: Ihre Ergebnisse werden mit Schlüssel und Salt dieses Modus geprüft und ihre Erstattungen damit gesendet, auch nachdem Sie den Modus gewechselt haben.
Live Merchant Key: Ihr Live-Merchant-Key von PayU.
Live Merchant Salt (v1): Ihr Live-Merchant-Salt (v1) von PayU. Er signiert Anfragen und prüft die Antworten von PayU. Halten Sie ihn geheim.
Test Merchant Key: Ihr Test-Merchant-Key von PayU, nur im Testmodus verwendet.
Test Merchant Salt (v1): Ihr Test-Merchant-Salt (v1) von PayU, nur im Testmodus verwendet.
Gespeicherte Salts werden nie erneut angezeigt. Das Feld bleibt leer und zeigt Saved — leave empty to keep it. Geben Sie nur dann einen neuen Wert ein, wenn Sie ihn ändern möchten.
Clear saved salts: markieren Sie einen Salt und klicken Sie auf Save, um ihn zu entfernen. Ein leeres Feld behält den gespeicherten Wert bei.
Rückkehr- und Webhook-URLs
Return URL: sieht aus wie https://your-shop/module/wcp_payu_india_payment/return, gegebenenfalls mit einem Sprachcode wie /en/. Sie wird bei jeder Zahlung automatisch an PayU übergeben; es muss nichts konfiguriert werden.
Webhook URL: sieht aus wie https://your-shop/module/wcp_payu_india_payment/webhook, gegebenenfalls mit einem Sprachcode. Optional, aber empfohlen: Er bestätigt Zahlungen auch dann, wenn der Kunde den Browser schließt, bevor er zurückkehrt. Fügen Sie ihn in PayU Dashboard > Webhooks für erfolgreiche und fehlgeschlagene Zahlungen hinzu. Kopieren Sie die URL genau so, wie die Seite Configure sie anzeigt. Sie muss aus dem Internet erreichbar sein (keine Basisauthentifizierung und keine Firewall-Sperre). Der Wartungsmodus des Shops und seine Länderbeschränkungen blockieren sie nicht.
Der Webhook enthält dasselbe signierte Ergebnis wie die Rückkehr des Kunden. Webhooks ohne gültigen PayU-Hash werden abgelehnt.
Erweitert
Verify Payment: prüft jede erfolgreiche Zahlung über die PayU-API verify_payment. Empfohlen. Kann die Prüfung nicht abgeschlossen werden, wird die Bestellung in die Wartestellung gesetzt, statt als bezahlt markiert zu werden. Standard: an.
Enable Logging: protokolliert Gateway-Ereignisse zur Fehlersuche in logs/payu_p_debug.log.php im Modulordner. Die Datei kann nicht über das Web aufgerufen werden. Fehler und Warnungen werden immer protokolliert; diese Option ergänzt die übrigen Ereignisse, etwa jedes Zahlungsformular und jedes PayU-Ergebnis. Schlüssel, Salts und personenbezogene Daten von Kunden werden nie protokolliert. Standard: aus.
Log: zeigt die Größe und die neuesten Einträge des Protokolls. Klicken Sie auf Clear log, um es zu leeren.
Delete data on uninstall: löscht beim Deinstallieren des Moduls dessen Einstellungen und Protokolle. Bestellungen und PayU-Transaktionsdatensätze werden nie gelöscht. Standard: aus.
Kasse
Im Zahlungsschritt wählt der Kunde die Zahlungsmethode (standardmäßig PayU India) und bestätigt. Wenn weder die Rechnungsadresse noch die Lieferadresse eine Telefon- oder Mobilnummer hat, bleibt der Kunde an der Kasse mit PayU India requires a phone number. Please enter your phone number and try again. Andernfalls sieht er eine kurze Seite Thank you for your order. You will be redirected to PayU to complete your payment., die eine signierte Zahlungsanforderung über die Warenkorbsumme an die gehostete Kasse von PayU sendet. Wenn der Browser nicht von selbst weiterleitet, enthält die Seite die Schaltfläche Pay with PayU und die Schaltfläche Back to checkout. Auf der PayU-Seite bezahlt der Kunde per Karte, NetBanking, UPI oder Wallet. Zu diesem Zeitpunkt existiert noch keine Bestellung.
Jeder Zahlungsversuch erhält seine eigene PayU-Transaktions-ID, die mit der Warenkorbnummer beginnt und zusammen mit Betrag und Modus gespeichert wird. Eine Zahlung über eine ältere, offene Zahlungsseite desselben Warenkorbs wird weiterhin akzeptiert. Für einen Warenkorb, der bereits eine Bestellung hat, wird kein neues Zahlungsformular erzeugt, sodass die Zurück-Schaltfläche des Browsers keine zweite Zahlung starten kann.
PayU sendet das Ergebnis mit dem Kunden zurück und, falls konfiguriert, per Webhook. Ein Ergebnis wird nur mit einem gültigen PayU-Hash akzeptiert, der mit Schlüssel und Salt des Modus erstellt wurde, in dem die Zahlung gestartet wurde, und nur für eine Transaktions-ID, die für diesen Warenkorb ausgestellt wurde. Ist Verify Payment aktiviert, wird ein erfolgreiches Ergebnis zusätzlich über die PayU-API verify_payment geprüft. Der bezahlte Betrag muss dem Betrag des Versuchs und der Warenkorbsumme auf die Paisa genau entsprechen, in INR. Die Bestellung wird erst als bezahlt markiert, nachdem PayU dies so bestätigt hat. Das Modul verarbeitet folgende PayU-Ergebnisse:
Nach einer erfolgreichen oder ausstehenden Zahlung sieht der Kunde die übliche Bestellbestätigungsseite. Eine ausstehende Zahlung ergänzt Your PayU payment is pending. The order will be updated as soon as PayU confirms the result — there is no need to pay again., eine Bestellung in der Wartestellung ergänzt Your payment is being reviewed. We will contact you if anything else is needed., und eine Bestellung mit Payment error oder Canceled zeigt Your PayU payment was not completed. Please contact us about this order.
Nach einer erfolglosen Zahlung kehrt der Kunde mit einer Meldung zur Kasse zurück: Payment was not completed. Please try again or choose a different payment method., Payment was cancelled. You may try again. oder, wenn das Ergebnis nicht geprüft werden konnte, We could not confirm the payment result. If your account was charged, please contact us before paying again. Wird das Ergebnis bei der Rückkehr des Kunden noch verarbeitet, erscheint eine Seite mit We are confirming your PayU payment. If you completed the payment, your order will be created shortly — please do not pay again. und der Schaltfläche Check again.
Das Modul rechnet nur in INR ab und bietet keine Mehrwährungsverarbeitung (MCP). Es bietet keine gespeicherten Karten oder Tokenisierung, keine Abonnements, kein eigenes (Seamless-)Kartenformular auf der Website, keine Verwaltung von EMI oder Angeboten und keinen PayU-One-Click-Checkout.
Bestellungen und Erstattungen
Bestellstatus
No order yet: der Kunde wurde zu PayU weitergeleitet und hat nicht bezahlt, oder die Zahlung ist fehlgeschlagen oder wurde abgebrochen. Es existiert nur der Warenkorb.
Payment accepted: die Zahlung wurde bestätigt. Die Zahlung wird mit der PayU-Transaktions-ID (mihpayid) als Transaktions-ID erfasst, und eine Notiz zeigt PayU payment successful. Transaction ID: …, Mode: …, Bank: …
Awaiting PayU India payment: eine UPI- oder NetBanking-Zahlung ist bei PayU noch ausstehend. Die Bestellung wechselt zu Payment accepted, sobald PayU sie bestätigt.
PayU India payment on hold: der bezahlte Betrag oder die Währung weicht vom Warenkorb ab, die API verify_payment war nicht erreichbar oder hat die Zahlung noch nicht bestätigt, oder für eine bereits stornierte Bestellung ist eine Zahlung eingegangen. Die Notiz nennt den Grund. Prüfen Sie die Transaktion im PayU Dashboard und setzen Sie die Bestellung dann auf Payment accepted oder stornieren Sie sie und erstatten Sie die Zahlung. Wurde nur die Prüfung nicht bestanden, wird die Bestellung bei der nächsten Zustellung des Ergebnisses automatisch bezahlt.
Payment error: eine ausstehende Zahlung wurde später abgelehnt oder abgebrochen. Ein späteres erfolgreiches Ergebnis bezahlt die Bestellung dennoch.
Refunded: der gesamte bezahlte Betrag wurde über das Modul erstattet.
Meldet PayU eine weitere erfolgreiche Zahlung für eine bereits bezahlte Bestellung, bleibt die Bestellung unverändert und eine Notiz bittet Sie, das Duplikat im PayU Dashboard zu erstatten. Eine PayU-Zahlung für einen Warenkorb, der mit einer anderen Zahlungsmethode bestellt wurde, erhält eine Notiz und bezahlt diese Bestellung nicht.
PayU-India-Zahlungsblock
Die Bestellseite zeigt einen Block PayU India payment mit der PayU-Transaktions-ID (mihpayid), der Shop-Transaktions-ID (txnid), der Umgebung, dem PayU-Status, dem Zahlungsmodus und der Bank, dem bezahlten Betrag und dem Betrag der beantragten Erstattungen, einem Abzeichen Test mode für Testzahlungen, dem Erstattungsverlauf und den Notizen des Moduls. Bei einer Bestellung in der Wartestellung erscheint ein Hinweis, die Zahlung zu prüfen.
Erstattungen
Geben Sie im Block PayU India payment den Betrag ein (der noch nicht erstattete Betrag ist vorausgefüllt), optional einen Grund, und klicken Sie auf Refund via PayU. Bestätigen Sie die Frage Refund this amount through PayU? This cannot be undone. Volle und teilweise Erstattungen werden unterstützt; der Betrag muss größer als null und nicht höher als der Rest des von PayU abgebuchten Betrags sein. Sie benötigen das Recht, Bestellungen zu bearbeiten; der Zugriff auf die Modulseiten ist nicht nötig. Die Erstattung wird über die PayU-Erstattungs-API mit Schlüssel und Salt des Modus gesendet, in dem die Zahlung erfolgte; diese Zugangsdaten müssen also hinterlegt sein. Lehnt PayU die Erstattung ab, zeigt der Block PayU refund failed: mit der Meldung von PayU, und es wird keine Erstattung erfasst.
PayU stellt Erstattungen in die Warteschlange und führt sie asynchron aus; der Kunde erhält das Geld üblicherweise innerhalb von 5–7 Werktagen. Der Erstattungsverlauf und die Notizen zeigen Betrag, PayU-Anforderungs-ID und Grund. Eine volle Erstattung setzt die Bestellung auf Refunded; eine teilweise Erstattung ändert den Status nicht. Erstattungen sind verfügbar, sobald PayU die Transaktions-ID der Zahlung gemeldet hat. Das Modul prüft den Erstattungsstatus später nicht und erstellt keine Gutschriften. Die Standard-Erstattungsschaltflächen von PrestaShop auf der Bestellseite senden kein Geld über PayU zurück.
Lizenzschlüssel
Das Modul arbeitet mit einem VibeFox-Lizenzschlüssel von vibefox.net. Der Lizenzblock License — VibeFox PayU India Payment Gateway ist der erste Block auf Modules > Module Manager > VibeFox PayU India Payment Gateway > Configure, oberhalb der Einstellungen. Geben Sie den Schlüssel in License key ein und klicken Sie auf Activate. Danach zeigt der Block den Schlüssel maskiert, den Status (zum Beispiel das Datum, bis zu dem die Lizenz gültig ist, und Ihre Domain) sowie die Schaltflächen Check now, um den Status erneut zu prüfen, Change key, um einen anderen Schlüssel einzugeben, und Remove key, um den Schlüssel aus diesem Shop zu entfernen. Darunter stehen die Zeile Product: presta-payment-payu-india und der Link Manage licenses and domains in your account, der Ihr vibefox.net-Konto öffnet. Den Schlüssel können nur Mitarbeiter mit der Berechtigung Configure für das Modul ändern. Die Texte des Blocks folgen der Sprache des Back Office (Englisch und Russisch sind enthalten).
Wird der Schlüssel nicht akzeptiert, nennt der Block den Grund, zum Beispiel Key not found, This key belongs to another product, Domain limit reached oder License expired on mit einem Datum. Nach einer Änderung der Shop-Adresse oder nachdem Sie einen Domain-Platz in Ihrem Konto freigegeben haben, klicken Sie auf Check now. Ist der Lizenzserver nicht erreichbar, arbeitet das Modul mit dem zuletzt bekannten Status weiter.
Ein Schlüssel funktioniert auf einer Domain: der Domain des Hauptshops, auch bei einer Multistore-Konfiguration. Das Entfernen des Schlüssels aus dem Shop gibt seinen Domain-Platz nicht frei. Geben Sie den Platz in Ihrem vibefox.net-Konto frei.
Ohne aktiven Schlüssel wird PayU India Kunden an der Kasse nicht angezeigt. Wird trotzdem eine Zahlung gestartet, sieht der Kunde This payment method is not available. Please choose another one. Der PrestaShop-Storefront weiß nicht, dass Sie im Back Office angemeldet sind, daher ist die Zahlungsmethode auch für Sie ausgeblendet: Sie können das Modul vor dem Kauf eines Schlüssels einrichten, aber nicht an der Kasse testen. Eine Erinnerung erscheint unter Modules > Module Manager auf der Registerkarte Alerts. Bestehende Bestellungen sind nicht betroffen: Bereits gestartete Zahlungen werden weiterhin bestätigt, und Erstattungen funktionieren.
Läuft eine Lizenz ab, arbeitet das Modul weiter, Updates und Support erfordern jedoch eine Verlängerung. Der Status wird während der Arbeit im Back Office automatisch erneut geprüft: einmal täglich in den ersten 14 Tagen nach der Eingabe des Schlüssels, danach einmal pro Woche. Ein Cron-Job ist nicht nötig. Das Deinstallieren oder Zurücksetzen des Moduls entfernt immer den Lizenzschlüssel und den Lizenzstatus.
Fehlerbehebung
PayU India erscheint nicht an der Kasse: Prüfen Sie, ob die Lizenz aktiv ist, Enable/Disable eingeschaltet ist und Schlüssel und Salt des gewählten Mode ausgefüllt sind. Prüfen Sie, ob die Warenkorbwährung INR ist und das Modul für diese Währung, das Land des Kunden und die Kundengruppe unter Payment > Preferences erlaubt ist. Die Seite Configure zeigt eine Warnung bei fehlenden Zugangsdaten und bei einer Shop-Währung ungleich INR.
Die Zahlung ist erfolgt, aber es wurde keine Bestellung erstellt: der Kunde ist nicht in den Shop zurückgekehrt, und es ist kein Webhook eingegangen. Fügen Sie die Webhook-URL von der Seite Configure in PayU Dashboard > Webhooks für erfolgreiche und fehlgeschlagene Zahlungen hinzu und stellen Sie sicher, dass sie aus dem Internet erreichbar ist.
Der Webhook antwortet invalid_signature: der PayU-Hash stimmte nicht überein. Prüfen Sie, ob Schlüssel und Salt des Modus der Zahlung korrekt sind und Salt v1 verwendet wird, nicht Salt v2. Auch ein Ergebnis einer Live-Zahlung, die mit dem Test-Salt signiert wurde, oder umgekehrt, wird abgelehnt. Es wird nichts verändert.
Der Webhook antwortet not_configured: Schlüssel oder Salt des Modus, in dem die Zahlung gestartet wurde, fehlen. Geben Sie sie ein; PayU wiederholt den Webhook.
Der Webhook antwortet verify_unavailable: die API verify_payment konnte die Zahlung noch nicht bestätigen. Die Bestellung ist in der Wartestellung, und die nächste Zustellung prüft erneut.
Der Webhook antwortet busy oder retry: die Rückkehr des Kunden zum selben Warenkorb wurde im selben Moment verarbeitet, oder die Bestellung konnte nicht erstellt werden (zum Beispiel, weil das Modul deaktiviert ist). PayU wiederholt den Webhook. Der Grund wird im Protokoll vermerkt.
Der Webhook antwortet ignored_unknown_txnid: die Transaktion wurde nicht von diesem Shop gestartet, zum Beispiel von einem anderen Shop, der dasselbe PayU-Konto nutzt. Es wird nichts verändert.
Der Kunde sieht PayU India requires a phone number: Machen Sie das Telefonfeld der Adresse an der Kasse zum Pflichtfeld oder sichtbar. Zuerst wird die Rechnungsadresse verwendet, dann die Lieferadresse.
Die Bestellung ist PayU India payment on hold: Lesen Sie die Notizen im Block PayU India payment. Der Grund ist eine Abweichung von Betrag oder Währung, eine fehlgeschlagene oder ausstehende Prüfung oder eine Zahlung für eine stornierte Bestellung.
Erstattung schlägt fehl: PayU transaction ID not found for this order. bedeutet, dass die Bestellung noch keine PayU-Zahlung hat. This payment was made in Test mode, but the Merchant Key/Salt of that mode are not set. (oder Live mode) bedeutet, dass Sie zuerst die Zugangsdaten dieses Modus eingeben müssen. Invalid refund amount: at most … INR can be refunded. bedeutet, dass der Betrag größer ist als der Rest der Zahlung.
Zu wenig im Protokoll: Fehler und Warnungen werden immer geschrieben; aktivieren Sie Enable Logging, um außerdem jedes Zahlungsformular und jedes PayU-Ergebnis zu sehen.
Entwickler-Hook: actionPayuPRequestFields ändert die Felder der Zahlungsanforderung, bevor sie signiert werden. Schlüssel, Transaktions-ID, Betrag und Rückkehr-URLs können damit nicht geändert werden.
Deinstallation
Gehen Sie zu Modules > Module Manager, öffnen Sie das Menü neben VibeFox PayU India Payment Gateway und wählen Sie Uninstall. Der Lizenzschlüssel und der Lizenzstatus dieses Moduls werden immer entfernt. Ist Delete data on uninstall aktiviert, werden die Einstellungen des Moduls und das Protokoll entfernt. Ist es deaktiviert, bleiben alle Einstellungen für eine spätere Neuinstallation erhalten. Die PayU-Transaktionsdatensätze und Erstattungsanforderungen sowie die Bestellstatus Awaiting PayU India payment und PayU India payment on hold bleiben immer erhalten, sodass zuvor bezahlte Bestellungen nach einer Neuinstallation noch erstattet werden können. Bestehende Bestellungen behalten ihre Zahlungsnotizen und PayU-Transaktions-IDs.
PayU ist eine Marke ihres jeweiligen Inhabers. Dieses Modul ist weder mit PayU verbunden noch wird es von PayU unterstützt.
