mirror of
https://github.com/vr-payment/shopware-6.git
synced 2026-06-04 19:03:01 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 922f66e784 | |||
| 089555e77f | |||
| 55bdb5c640 | |||
| d1a78fedcf |
@@ -1,3 +1,20 @@
|
||||
# 7.2.0
|
||||
- Datenbanktabelle umbenannt, um Namenskonflikte mit älteren Plugins zu vermeiden.
|
||||
- Problem mit fehlgeschlagenen Rückerstattungen bei Zahlungen mit Rechnungen behoben.
|
||||
|
||||
# 7.1.6
|
||||
- Improved rounding handling to force 2 decimal places
|
||||
- Removed references to unused classes
|
||||
- Fixed some type errors
|
||||
- Further improved 0 amount transaction; state transitions
|
||||
|
||||
# 7.1.5
|
||||
- Improved analytics
|
||||
- Improved error handling for refunding amount 0 and too many items
|
||||
|
||||
# 7.1.4
|
||||
- Updated SDK to 4.8.1
|
||||
|
||||
# 7.1.3
|
||||
- Fixed issue with radio button/switch settings not saving
|
||||
- Fixed issue with error screen sporadically happening after failed payments
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
# 7.2.0
|
||||
- Datenbanktabelle umbenannt, um Namenskonflikte mit älteren Plugins zu vermeiden.
|
||||
- Problem mit fehlgeschlagenen Rückerstattungen bei Zahlungen mit Rechnungen behoben.
|
||||
|
||||
# 7.1.6
|
||||
- Verbesserte Rundungsbehandlung für zwei Dezimalstellen
|
||||
- Entfernte Verweise auf ungenutzte Klassen
|
||||
- Behebung einiger Typfehler
|
||||
- Weitere Verbesserung von Transaktionen mit dem Betrag 0 und Zustandsübergängen
|
||||
|
||||
# 7.1.5
|
||||
- Verbesserte Analysefunktionen
|
||||
- Verbesserte Fehlerbehandlung bei Rückerstattungen von 0 Beträgen und zu vielen Artikeln
|
||||
|
||||
# 7.1.4
|
||||
- Aktualisiertes SDK - 4.8.1
|
||||
|
||||
# 7.1.3
|
||||
– Problem behoben, bei dem die Einstellungen von Optionsfeldern/Schaltern nicht gespeichert wurden.
|
||||
– Problem behoben, bei dem nach fehlgeschlagenen Zahlungen sporadisch ein Fehlerbildschirm angezeigt wurde.
|
||||
|
||||
+1
-1
@@ -186,7 +186,7 @@
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2025 VR Payment GmbH
|
||||
Copyright 2026 VR Payment GmbH
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
@@ -13,10 +13,10 @@ Please note that this plugin is for versions 6.5, 6.6 or 6.7. For the 6.4 plugin
|
||||
|
||||
## Documentation
|
||||
|
||||
- For English documentation click [here](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.1.3/docs/en/documentation.html)
|
||||
- Für die deutsche Dokumentation klicken Sie [hier](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.1.3/docs/de/documentation.html)
|
||||
- Pour la documentation Française, cliquez [ici](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.1.3/docs/fr/documentation.html)
|
||||
- Per la documentazione in tedesco, clicca [qui](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.1.3/docs/it/documentation.html)
|
||||
- For English documentation click [here](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.2.0/docs/en/documentation.html)
|
||||
- Für die deutsche Dokumentation klicken Sie [hier](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.2.0/docs/de/documentation.html)
|
||||
- Pour la documentation Française, cliquez [ici](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.2.0/docs/fr/documentation.html)
|
||||
- Per la documentazione in tedesco, clicca [qui](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.2.0/docs/it/documentation.html)
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -42,6 +42,22 @@ bin/console plugin:refresh
|
||||
bin/console plugin:install --activate --clearCache VRPayment
|
||||
```
|
||||
|
||||
## Update
|
||||
|
||||
### Via Administration
|
||||
1. Go to Shopware Admin > Extensions > My extensions.
|
||||
2. Find VRPaymentPayment.
|
||||
3. Click Update.
|
||||
|
||||
### Via CLI
|
||||
1. Deploy the new plugin files (replace the folder in custom/plugins/VRPaymentPayment or upload/install a new ZIP).
|
||||
2. Run:
|
||||
```bash
|
||||
bin/console plugin:refresh
|
||||
bin/console plugin:update --clearCache VRPaymentPayment
|
||||
bin/console cache:clear
|
||||
```
|
||||
|
||||
## Configuration
|
||||
### API Credentials
|
||||
|
||||
@@ -78,7 +94,7 @@ ________________________________________________________________________________
|
||||
| Shopware 6 version | Plugin major version | Supported until |
|
||||
|-------------------------------|------------------------|------------------------|
|
||||
| Shopware 6.7.x | 7.x | Further notice |
|
||||
| Shopware 6.6.x | 6.x | December 2025 |
|
||||
| Shopware 6.6.x | 6.x | March 2026 |
|
||||
| Shopware 6.5.x | 5.x | October 2024 |
|
||||
-----------------------------------------------------------------------------------
|
||||
|
||||
|
||||
+1
-1
@@ -59,5 +59,5 @@
|
||||
"vrpayment/sdk": "^4.0.0"
|
||||
},
|
||||
"type": "shopware-platform-plugin",
|
||||
"version": "7.1.3"
|
||||
"version": "7.2.0"
|
||||
}
|
||||
|
||||
+115
-49
@@ -23,7 +23,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.1.3/">
|
||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.2.0/">
|
||||
Source
|
||||
</a>
|
||||
</li>
|
||||
@@ -197,10 +197,59 @@ php bin/console plugin:install --activate --clearCache VRPayment</code></pre>
|
||||
</div>
|
||||
</div> </div>
|
||||
</div> </div>
|
||||
</div> <div class="chapter" id="_update">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">5</span>Update </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="section" id="_via_administration">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.1</span>Via Administration </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>Gehe zu Shopware Admin > Erweiterungen > Meine Erweiterungen.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Suche nach VRPaymentPayment.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Klicke auf Aktualisieren.</p>
|
||||
</li>
|
||||
</ol>
|
||||
</div> </div>
|
||||
</div> <div class="section" id="_via_cli">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.2</span>Via CLI </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>Stelle die neuen Plugin-Dateien bereit (ersetze den Ordner <code>custom/plugins/VRPaymentPayment</code> oder lade ein neues ZIP hoch/installiere es).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Führe aus:</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlight"><code class="language-bash" data-lang="bash">bin/console plugin:refresh
|
||||
bin/console plugin:update --clearCache VRPaymentPayment
|
||||
bin/console cache:clear</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</div> </div>
|
||||
</div> </div>
|
||||
</div> <div class="chapter" id="portal-startup-guide">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">5</span>Portal-Startanleitung </h1>
|
||||
<span class="title-number">6</span>Portal-Startanleitung </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -219,7 +268,7 @@ Wählen Sie das passende Abo aus – es sollte E-Commerce-Transaktionen unterst
|
||||
</div> <div class="section" id="_erstellen_sie_den_api_schlüssel">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.1</span>Erstellen Sie den API-Schlüssel: </h2>
|
||||
<span class="title-number">6.1</span>Erstellen Sie den API-Schlüssel: </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
@@ -305,7 +354,7 @@ Bitte beachten Sie, dass das Laden der Rollen einige Sekunden dauern kann.
|
||||
</div> <div class="section" id="_zahlungsmethoden_einrichten">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.2</span>Zahlungsmethoden einrichten </h2>
|
||||
<span class="title-number">6.2</span>Zahlungsmethoden einrichten </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -367,7 +416,7 @@ Bitte beachten Sie, dass die Konnektoren doppelt erscheinen, da einer für Zahlu
|
||||
</div> <div class="chapter" id="_shop_startanleitung">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">6</span>Shop-Startanleitung </h1>
|
||||
<span class="title-number">7</span>Shop-Startanleitung </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="olist arabic">
|
||||
@@ -506,7 +555,7 @@ Bitte beachten Sie, dass diese Option leer bleiben sollte, wenn Sie die Space Vi
|
||||
</div> <div class="chapter" id="_transaktionszustandsdiagramm">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">7</span>Transaktionszustandsdiagramm </h1>
|
||||
<span class="title-number">8</span>Transaktionszustandsdiagramm </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -516,7 +565,7 @@ Bitte beachten Sie, dass diese Option leer bleiben sollte, wenn Sie die Space Vi
|
||||
</div> <div class="section" id="_zustandsabbildung_von_shopware_bestellungen">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.1</span>Zustandsabbildung von Shopware-Bestellungen </h2>
|
||||
<span class="title-number">8.1</span>Zustandsabbildung von Shopware-Bestellungen </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -524,7 +573,7 @@ Bitte beachten Sie, dass diese Option leer bleiben sollte, wenn Sie die Space Vi
|
||||
</div> <div class="section" id="_allgemeine_anmerkungen_zu_bestellstatus">
|
||||
<div class="section-title">
|
||||
<h3>
|
||||
<span class="title-number">7.1.1</span>Allgemeine Anmerkungen zu Bestellstatus </h3>
|
||||
<span class="title-number">8.1.1</span>Allgemeine Anmerkungen zu Bestellstatus </h3>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -534,7 +583,7 @@ Bitte beachten Sie, dass diese Option leer bleiben sollte, wenn Sie die Space Vi
|
||||
</div> <div class="section" id="_zustandsabbildung_des_shopware_zahlungsstatus">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.2</span>Zustandsabbildung des Shopware-Zahlungsstatus </h2>
|
||||
<span class="title-number">8.2</span>Zustandsabbildung des Shopware-Zahlungsstatus </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -561,7 +610,7 @@ Bitte beachten Sie, dass diese Option leer bleiben sollte, wenn Sie die Space Vi
|
||||
</div> <div class="section" id="_allgemeine_anmerkungen_zu_zahlungsstatus">
|
||||
<div class="section-title">
|
||||
<h3>
|
||||
<span class="title-number">7.2.1</span>Allgemeine Anmerkungen zu Zahlungsstatus </h3>
|
||||
<span class="title-number">8.2.1</span>Allgemeine Anmerkungen zu Zahlungsstatus </h3>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -571,7 +620,7 @@ Bitte beachten Sie, dass diese Option leer bleiben sollte, wenn Sie die Space Vi
|
||||
</div> <div class="section" id="_zustandsabbildung_des_shopware_lieferstatus">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.3</span>Zustandsabbildung des Shopware-Lieferstatus </h2>
|
||||
<span class="title-number">8.3</span>Zustandsabbildung des Shopware-Lieferstatus </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -597,7 +646,7 @@ Bitte beachten Sie, dass diese Option leer bleiben sollte, wenn Sie die Space Vi
|
||||
</div> <div class="chapter" id="_transaktionsverwaltung">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">8</span>Transaktionsverwaltung </h1>
|
||||
<span class="title-number">9</span>Transaktionsverwaltung </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -605,7 +654,7 @@ Bitte beachten Sie, dass diese Option leer bleiben sollte, wenn Sie die Space Vi
|
||||
</div> <div class="section" id="_bestellung_abschließen_erfassen">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.1</span>Bestellung abschließen (erfassen) </h2>
|
||||
<span class="title-number">9.1</span>Bestellung abschließen (erfassen) </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -633,7 +682,7 @@ Wenn der Abschluss in VR Payment ausstehend ist, bleibt die Bestellung im Status
|
||||
</div> <div class="section" id="_transaktion_stornieren">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.2</span>Transaktion stornieren </h2>
|
||||
<span class="title-number">9.2</span>Transaktion stornieren </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -657,7 +706,7 @@ Sie können nur Transaktionen stornieren, die noch nicht abgeschlossen sind.
|
||||
</div> <div class="section" id="_rückerstattung_einer_transaktion">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.3</span>Rückerstattung einer Transaktion </h2>
|
||||
<span class="title-number">9.3</span>Rückerstattung einer Transaktion </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -683,7 +732,7 @@ Es kann einige Zeit dauern, bis Sie die Rückerstattung in Shopware sehen. Rück
|
||||
</div> <div class="section" id="_bestellungen_auf_on_hold">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.4</span>Bestellungen auf On Hold </h2>
|
||||
<span class="title-number">9.4</span>Bestellungen auf On Hold </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -705,7 +754,7 @@ Es kann einige Zeit dauern, bis Sie die Rückerstattung in Shopware sehen. Rück
|
||||
</div> <div class="section" id="_einschränkungen_der_synchronisierung_zwischen_whitelabelname_und_shopware">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.5</span>Einschränkungen der Synchronisierung zwischen VR Payment und Shopware </h2>
|
||||
<span class="title-number">9.5</span>Einschränkungen der Synchronisierung zwischen VR Payment und Shopware </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -716,7 +765,7 @@ Es kann einige Zeit dauern, bis Sie die Rückerstattung in Shopware sehen. Rück
|
||||
</div> <div class="section" id="_tokenisierung">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.6</span>Tokenisierung </h2>
|
||||
<span class="title-number">9.6</span>Tokenisierung </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -736,7 +785,7 @@ Die Tokenisierung ist für Gast-Checkouts nicht verfügbar
|
||||
</div> <div class="section" id="_wiederkehrende_zahlungen">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.7</span>Wiederkehrende Zahlungen </h2>
|
||||
<span class="title-number">9.7</span>Wiederkehrende Zahlungen </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -746,7 +795,7 @@ Tokenisierung unterstützt, kann er für Abonnements verwendet werden. Die wiede
|
||||
</div> <div class="section" id="_hauptfunktionen">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.8</span>Hauptfunktionen </h2>
|
||||
<span class="title-number">9.8</span>Hauptfunktionen </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="ulist">
|
||||
@@ -771,7 +820,7 @@ Tokenisierung unterstützt, kann er für Abonnements verwendet werden. Die wiede
|
||||
</div> <div class="section" id="_fehlerbehebung">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.9</span>Fehlerbehebung </h2>
|
||||
<span class="title-number">9.9</span>Fehlerbehebung </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="ulist">
|
||||
@@ -803,7 +852,7 @@ tail -f var/log/whitelabelname*.log</code></pre>
|
||||
</div> <div class="section" id="_faqs">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.10</span>FAQs </h2>
|
||||
<span class="title-number">9.10</span>FAQs </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -832,7 +881,7 @@ A: Ja, das Plugin unterstützt Wallets wie Apple Pay.</p>
|
||||
</div> <div class="chapter" id="_änderungsprotokoll">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">9</span>Änderungsprotokoll </h1>
|
||||
<span class="title-number">10</span>Änderungsprotokoll </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -841,7 +890,7 @@ A: Ja, das Plugin unterstützt Wallets wie Apple Pay.</p>
|
||||
</div> <div class="chapter" id="_mitwirken">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">10</span>Mitwirken </h1>
|
||||
<span class="title-number">11</span>Mitwirken </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -852,7 +901,7 @@ A: Ja, das Plugin unterstützt Wallets wie Apple Pay.</p>
|
||||
</div> <div class="chapter" id="_support">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">11</span>Support </h1>
|
||||
<span class="title-number">12</span>Support </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -908,133 +957,150 @@ A: Ja, das Plugin unterstützt Wallets wie Apple Pay.</p>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#portal-startup-guide">
|
||||
<a href="#_update">
|
||||
<span class="item-number">5</span>
|
||||
<span class="item-title">Update</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_via_administration">
|
||||
<span class="item-number">5.1</span>
|
||||
<span class="item-title">Via Administration</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_via_cli">
|
||||
<span class="item-number">5.2</span>
|
||||
<span class="item-title">Via CLI</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#portal-startup-guide">
|
||||
<span class="item-number">6</span>
|
||||
<span class="item-title">Portal-Startanleitung</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_erstellen_sie_den_api_schlüssel">
|
||||
<span class="item-number">5.1</span>
|
||||
<span class="item-number">6.1</span>
|
||||
<span class="item-title">Erstellen Sie den API-Schlüssel:</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_zahlungsmethoden_einrichten">
|
||||
<span class="item-number">5.2</span>
|
||||
<span class="item-number">6.2</span>
|
||||
<span class="item-title">Zahlungsmethoden einrichten</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_shop_startanleitung">
|
||||
<span class="item-number">6</span>
|
||||
<span class="item-number">7</span>
|
||||
<span class="item-title">Shop-Startanleitung</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_transaktionszustandsdiagramm">
|
||||
<span class="item-number">7</span>
|
||||
<span class="item-number">8</span>
|
||||
<span class="item-title">Transaktionszustandsdiagramm</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_zustandsabbildung_von_shopware_bestellungen">
|
||||
<span class="item-number">7.1</span>
|
||||
<span class="item-number">8.1</span>
|
||||
<span class="item-title">Zustandsabbildung von Shopware-Bestellungen</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-3">
|
||||
<a href="#_allgemeine_anmerkungen_zu_bestellstatus">
|
||||
<span class="item-number">7.1.1</span>
|
||||
<span class="item-number">8.1.1</span>
|
||||
<span class="item-title">Allgemeine Anmerkungen zu Bestellstatus</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_zustandsabbildung_des_shopware_zahlungsstatus">
|
||||
<span class="item-number">7.2</span>
|
||||
<span class="item-number">8.2</span>
|
||||
<span class="item-title">Zustandsabbildung des Shopware-Zahlungsstatus</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-3">
|
||||
<a href="#_allgemeine_anmerkungen_zu_zahlungsstatus">
|
||||
<span class="item-number">7.2.1</span>
|
||||
<span class="item-number">8.2.1</span>
|
||||
<span class="item-title">Allgemeine Anmerkungen zu Zahlungsstatus</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_zustandsabbildung_des_shopware_lieferstatus">
|
||||
<span class="item-number">7.3</span>
|
||||
<span class="item-number">8.3</span>
|
||||
<span class="item-title">Zustandsabbildung des Shopware-Lieferstatus</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_transaktionsverwaltung">
|
||||
<span class="item-number">8</span>
|
||||
<span class="item-number">9</span>
|
||||
<span class="item-title">Transaktionsverwaltung</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_bestellung_abschließen_erfassen">
|
||||
<span class="item-number">8.1</span>
|
||||
<span class="item-number">9.1</span>
|
||||
<span class="item-title">Bestellung abschließen (erfassen)</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_transaktion_stornieren">
|
||||
<span class="item-number">8.2</span>
|
||||
<span class="item-number">9.2</span>
|
||||
<span class="item-title">Transaktion stornieren</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_rückerstattung_einer_transaktion">
|
||||
<span class="item-number">8.3</span>
|
||||
<span class="item-number">9.3</span>
|
||||
<span class="item-title">Rückerstattung einer Transaktion</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_bestellungen_auf_on_hold">
|
||||
<span class="item-number">8.4</span>
|
||||
<span class="item-number">9.4</span>
|
||||
<span class="item-title">Bestellungen auf On Hold</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_einschränkungen_der_synchronisierung_zwischen_whitelabelname_und_shopware">
|
||||
<span class="item-number">8.5</span>
|
||||
<span class="item-number">9.5</span>
|
||||
<span class="item-title">Einschränkungen der Synchronisierung zwischen VR Payment und Shopware</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_tokenisierung">
|
||||
<span class="item-number">8.6</span>
|
||||
<span class="item-number">9.6</span>
|
||||
<span class="item-title">Tokenisierung</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_wiederkehrende_zahlungen">
|
||||
<span class="item-number">8.7</span>
|
||||
<span class="item-number">9.7</span>
|
||||
<span class="item-title">Wiederkehrende Zahlungen</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_hauptfunktionen">
|
||||
<span class="item-number">8.8</span>
|
||||
<span class="item-number">9.8</span>
|
||||
<span class="item-title">Hauptfunktionen</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_fehlerbehebung">
|
||||
<span class="item-number">8.9</span>
|
||||
<span class="item-number">9.9</span>
|
||||
<span class="item-title">Fehlerbehebung</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_faqs">
|
||||
<span class="item-number">8.10</span>
|
||||
<span class="item-number">9.10</span>
|
||||
<span class="item-title">FAQs</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_änderungsprotokoll">
|
||||
<span class="item-number">9</span>
|
||||
<span class="item-number">10</span>
|
||||
<span class="item-title">Änderungsprotokoll</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_mitwirken">
|
||||
<span class="item-number">10</span>
|
||||
<span class="item-number">11</span>
|
||||
<span class="item-title">Mitwirken</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_support">
|
||||
<span class="item-number">11</span>
|
||||
<span class="item-number">12</span>
|
||||
<span class="item-title">Support</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
|
||||
+115
-49
@@ -23,7 +23,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.1.3/">
|
||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.2.0/">
|
||||
Source
|
||||
</a>
|
||||
</li>
|
||||
@@ -193,10 +193,59 @@ php bin/console plugin:install --activate --clearCache VRPayment</code></pre>
|
||||
</div>
|
||||
</div> </div>
|
||||
</div> </div>
|
||||
</div> <div class="chapter" id="_update">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">5</span>Update </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="section" id="_via_administration">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.1</span>Via Administration </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>Go to Shopware Admin > Extensions > My extensions.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Find VRPaymentPayment.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Click Update.</p>
|
||||
</li>
|
||||
</ol>
|
||||
</div> </div>
|
||||
</div> <div class="section" id="_via_cli">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.2</span>Via CLI </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>Deploy the new plugin files (replace the folder in <code>custom/plugins/VRPaymentPayment</code> or upload/install a new ZIP).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Run:</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlight"><code class="language-bash" data-lang="bash">bin/console plugin:refresh
|
||||
bin/console plugin:update --clearCache VRPaymentPayment
|
||||
bin/console cache:clear</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</div> </div>
|
||||
</div> </div>
|
||||
</div> <div class="chapter" id="portal-startup-guide">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">5</span>Portal Startup Guide </h1>
|
||||
<span class="title-number">6</span>Portal Startup Guide </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -215,7 +264,7 @@ Please select the proper subscription plan - it should support ecommerce transac
|
||||
</div> <div class="section" id="_create_the_api_key">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.1</span>Create the API key: </h2>
|
||||
<span class="title-number">6.1</span>Create the API key: </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
@@ -301,7 +350,7 @@ Please note that Roles might be loading for few seconds
|
||||
</div> <div class="section" id="_setup_payment_methods">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.2</span>Setup Payment Methods </h2>
|
||||
<span class="title-number">6.2</span>Setup Payment Methods </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -363,7 +412,7 @@ Please note that the connectors seems duplicated but it because one is for Physi
|
||||
</div> <div class="chapter" id="_shop_startup_guide">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">6</span>Shop Startup Guide </h1>
|
||||
<span class="title-number">7</span>Shop Startup Guide </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="olist arabic">
|
||||
@@ -502,7 +551,7 @@ Please note that if you do not use the Space View Id; this option should stay em
|
||||
</div> <div class="chapter" id="_transaction_state_graph">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">7</span>Transaction State graph </h1>
|
||||
<span class="title-number">8</span>Transaction State graph </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -514,7 +563,7 @@ can be found in the <a href="https://gateway.vr-payment.de/en-us/doc/payment/tra
|
||||
</div> <div class="section" id="_state_mapping_of_shopware_orders">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.1</span>State mapping of Shopware orders </h2>
|
||||
<span class="title-number">8.1</span>State mapping of Shopware orders </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -522,7 +571,7 @@ can be found in the <a href="https://gateway.vr-payment.de/en-us/doc/payment/tra
|
||||
</div> <div class="section" id="_general_remarks_regarding_order_statuses">
|
||||
<div class="section-title">
|
||||
<h3>
|
||||
<span class="title-number">7.1.1</span>General remarks regarding order statuses </h3>
|
||||
<span class="title-number">8.1.1</span>General remarks regarding order statuses </h3>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -532,7 +581,7 @@ can be found in the <a href="https://gateway.vr-payment.de/en-us/doc/payment/tra
|
||||
</div> <div class="section" id="_state_mapping_of_shopware_payment_status">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.2</span>State mapping of Shopware payment status </h2>
|
||||
<span class="title-number">8.2</span>State mapping of Shopware payment status </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -559,7 +608,7 @@ can be found in the <a href="https://gateway.vr-payment.de/en-us/doc/payment/tra
|
||||
</div> <div class="section" id="_general_remarks_regarding_payment_statuses">
|
||||
<div class="section-title">
|
||||
<h3>
|
||||
<span class="title-number">7.2.1</span>General remarks regarding payment statuses </h3>
|
||||
<span class="title-number">8.2.1</span>General remarks regarding payment statuses </h3>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -569,7 +618,7 @@ can be found in the <a href="https://gateway.vr-payment.de/en-us/doc/payment/tra
|
||||
</div> <div class="section" id="_state_mapping_of_shopware_delivery_status">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.3</span>State mapping of Shopware delivery status </h2>
|
||||
<span class="title-number">8.3</span>State mapping of Shopware delivery status </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -595,7 +644,7 @@ can be found in the <a href="https://gateway.vr-payment.de/en-us/doc/payment/tra
|
||||
</div> <div class="chapter" id="_transaction_management">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">8</span>Transaction management </h1>
|
||||
<span class="title-number">9</span>Transaction management </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -605,7 +654,7 @@ Shopware. However, there are some limitations (see below).</p>
|
||||
</div> <div class="section" id="_complete_capture_an_order">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.1</span>Complete (capture) an order </h2>
|
||||
<span class="title-number">9.1</span>Complete (capture) an order </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -639,7 +688,7 @@ the fulfill state is reached. Initially the transaction will be in the <code>Aut
|
||||
</div> <div class="section" id="_void_a_transaction">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.2</span>Void a transaction </h2>
|
||||
<span class="title-number">9.2</span>Void a transaction </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -663,7 +712,7 @@ You can only void transactions that are not yet completed.
|
||||
</div> <div class="section" id="_refund_of_a_transaction">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.3</span>Refund of a transaction </h2>
|
||||
<span class="title-number">9.3</span>Refund of a transaction </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -690,7 +739,7 @@ It can take some time until you see the refund in Shopware. Refunds will only be
|
||||
</div> <div class="section" id="_on_hold_orders">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.4</span>On hold orders </h2>
|
||||
<span class="title-number">9.4</span>On hold orders </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -714,7 +763,7 @@ within the defined time frame, VR Payment will generate a manual task which you
|
||||
</div> <div class="section" id="_limitations_of_the_synchronization_between_whitelabelname_and_shopware">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.5</span>Limitations of the synchronization between VR Payment and Shopware </h2>
|
||||
<span class="title-number">9.5</span>Limitations of the synchronization between VR Payment and Shopware </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -730,7 +779,7 @@ your Shopware backend.</p>
|
||||
</div> <div class="section" id="_tokenization">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.6</span>Tokenization </h2>
|
||||
<span class="title-number">9.6</span>Tokenization </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -751,7 +800,7 @@ Tokenization is not available for guest checkouts.
|
||||
</div> <div class="section" id="_recurring_payments">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.7</span>Recurring payments </h2>
|
||||
<span class="title-number">9.7</span>Recurring payments </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -761,7 +810,7 @@ tokenization, it can be used for subscriptions. The recurring payment is fully m
|
||||
</div> <div class="section" id="_key_features">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.8</span>Key Features </h2>
|
||||
<span class="title-number">9.8</span>Key Features </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="ulist">
|
||||
@@ -786,7 +835,7 @@ tokenization, it can be used for subscriptions. The recurring payment is fully m
|
||||
</div> <div class="section" id="_troubleshooting">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.9</span>Troubleshooting </h2>
|
||||
<span class="title-number">9.9</span>Troubleshooting </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="ulist">
|
||||
@@ -817,7 +866,7 @@ tokenization, it can be used for subscriptions. The recurring payment is fully m
|
||||
</div> <div class="section" id="_faqs">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.10</span>FAQs </h2>
|
||||
<span class="title-number">9.10</span>FAQs </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -849,7 +898,7 @@ tokenization, it can be used for subscriptions. The recurring payment is fully m
|
||||
</div> <div class="chapter" id="_changelog">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">9</span>Changelog </h1>
|
||||
<span class="title-number">10</span>Changelog </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -858,7 +907,7 @@ tokenization, it can be used for subscriptions. The recurring payment is fully m
|
||||
</div> <div class="chapter" id="_contributing">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">10</span>Contributing </h1>
|
||||
<span class="title-number">11</span>Contributing </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -869,7 +918,7 @@ tokenization, it can be used for subscriptions. The recurring payment is fully m
|
||||
</div> <div class="chapter" id="_support">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">11</span>Support </h1>
|
||||
<span class="title-number">12</span>Support </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -925,133 +974,150 @@ tokenization, it can be used for subscriptions. The recurring payment is fully m
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#portal-startup-guide">
|
||||
<a href="#_update">
|
||||
<span class="item-number">5</span>
|
||||
<span class="item-title">Update</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_via_administration">
|
||||
<span class="item-number">5.1</span>
|
||||
<span class="item-title">Via Administration</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_via_cli">
|
||||
<span class="item-number">5.2</span>
|
||||
<span class="item-title">Via CLI</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#portal-startup-guide">
|
||||
<span class="item-number">6</span>
|
||||
<span class="item-title">Portal Startup Guide</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_create_the_api_key">
|
||||
<span class="item-number">5.1</span>
|
||||
<span class="item-number">6.1</span>
|
||||
<span class="item-title">Create the API key:</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_setup_payment_methods">
|
||||
<span class="item-number">5.2</span>
|
||||
<span class="item-number">6.2</span>
|
||||
<span class="item-title">Setup Payment Methods</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_shop_startup_guide">
|
||||
<span class="item-number">6</span>
|
||||
<span class="item-number">7</span>
|
||||
<span class="item-title">Shop Startup Guide</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_transaction_state_graph">
|
||||
<span class="item-number">7</span>
|
||||
<span class="item-number">8</span>
|
||||
<span class="item-title">Transaction State graph</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_state_mapping_of_shopware_orders">
|
||||
<span class="item-number">7.1</span>
|
||||
<span class="item-number">8.1</span>
|
||||
<span class="item-title">State mapping of Shopware orders</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-3">
|
||||
<a href="#_general_remarks_regarding_order_statuses">
|
||||
<span class="item-number">7.1.1</span>
|
||||
<span class="item-number">8.1.1</span>
|
||||
<span class="item-title">General remarks regarding order statuses</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_state_mapping_of_shopware_payment_status">
|
||||
<span class="item-number">7.2</span>
|
||||
<span class="item-number">8.2</span>
|
||||
<span class="item-title">State mapping of Shopware payment status</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-3">
|
||||
<a href="#_general_remarks_regarding_payment_statuses">
|
||||
<span class="item-number">7.2.1</span>
|
||||
<span class="item-number">8.2.1</span>
|
||||
<span class="item-title">General remarks regarding payment statuses</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_state_mapping_of_shopware_delivery_status">
|
||||
<span class="item-number">7.3</span>
|
||||
<span class="item-number">8.3</span>
|
||||
<span class="item-title">State mapping of Shopware delivery status</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_transaction_management">
|
||||
<span class="item-number">8</span>
|
||||
<span class="item-number">9</span>
|
||||
<span class="item-title">Transaction management</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_complete_capture_an_order">
|
||||
<span class="item-number">8.1</span>
|
||||
<span class="item-number">9.1</span>
|
||||
<span class="item-title">Complete (capture) an order</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_void_a_transaction">
|
||||
<span class="item-number">8.2</span>
|
||||
<span class="item-number">9.2</span>
|
||||
<span class="item-title">Void a transaction</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_refund_of_a_transaction">
|
||||
<span class="item-number">8.3</span>
|
||||
<span class="item-number">9.3</span>
|
||||
<span class="item-title">Refund of a transaction</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_on_hold_orders">
|
||||
<span class="item-number">8.4</span>
|
||||
<span class="item-number">9.4</span>
|
||||
<span class="item-title">On hold orders</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_limitations_of_the_synchronization_between_whitelabelname_and_shopware">
|
||||
<span class="item-number">8.5</span>
|
||||
<span class="item-number">9.5</span>
|
||||
<span class="item-title">Limitations of the synchronization between VR Payment and Shopware</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_tokenization">
|
||||
<span class="item-number">8.6</span>
|
||||
<span class="item-number">9.6</span>
|
||||
<span class="item-title">Tokenization</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_recurring_payments">
|
||||
<span class="item-number">8.7</span>
|
||||
<span class="item-number">9.7</span>
|
||||
<span class="item-title">Recurring payments</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_key_features">
|
||||
<span class="item-number">8.8</span>
|
||||
<span class="item-number">9.8</span>
|
||||
<span class="item-title">Key Features</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_troubleshooting">
|
||||
<span class="item-number">8.9</span>
|
||||
<span class="item-number">9.9</span>
|
||||
<span class="item-title">Troubleshooting</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_faqs">
|
||||
<span class="item-number">8.10</span>
|
||||
<span class="item-number">9.10</span>
|
||||
<span class="item-title">FAQs</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_changelog">
|
||||
<span class="item-number">9</span>
|
||||
<span class="item-number">10</span>
|
||||
<span class="item-title">Changelog</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_contributing">
|
||||
<span class="item-number">10</span>
|
||||
<span class="item-number">11</span>
|
||||
<span class="item-title">Contributing</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_support">
|
||||
<span class="item-number">11</span>
|
||||
<span class="item-number">12</span>
|
||||
<span class="item-title">Support</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
|
||||
+115
-49
@@ -23,7 +23,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.1.3/">
|
||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.2.0/">
|
||||
Source
|
||||
</a>
|
||||
</li>
|
||||
@@ -184,10 +184,59 @@ php bin/console plugin:install --activate --clearCache VRPayment</code></pre>
|
||||
</div>
|
||||
</div> </div>
|
||||
</div> </div>
|
||||
</div> <div class="chapter" id="_mise_à_jour">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">5</span>Mise à jour </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="section" id="_via_l_administration">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.1</span>Via l’administration </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>Allez dans Shopware Admin > Extensions > Mes extensions.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Recherchez VRPaymentPayment.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Cliquez sur Mettre à jour.</p>
|
||||
</li>
|
||||
</ol>
|
||||
</div> </div>
|
||||
</div> <div class="section" id="_via_la_cli">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.2</span>Via la CLI </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>Déployez les nouveaux fichiers du plugin (remplacez le dossier <code>custom/plugins/VRPaymentPayment</code> ou téléversez/installez un nouveau ZIP).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Exécutez :</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlight"><code class="language-bash" data-lang="bash">bin/console plugin:refresh
|
||||
bin/console plugin:update --clearCache VRPaymentPayment
|
||||
bin/console cache:clear</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</div> </div>
|
||||
</div> </div>
|
||||
</div> <div class="chapter" id="portal-startup-guide">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">5</span>Guide de démarrage pour le Portail </h1>
|
||||
<span class="title-number">6</span>Guide de démarrage pour le Portail </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -206,7 +255,7 @@ Veuillez sélectionner le plan d’abonnement approprié - il doit prendre e
|
||||
</div> <div class="section" id="_créez_la_clé_api">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.1</span>Créez la clé API: </h2>
|
||||
<span class="title-number">6.1</span>Créez la clé API: </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
@@ -292,7 +341,7 @@ Veuillez noter que le chargement des rôles peut durer quelques secondes.
|
||||
</div> <div class="section" id="_configurer_les_modes_de_paiement">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.2</span>Configurer les modes de paiement </h2>
|
||||
<span class="title-number">6.2</span>Configurer les modes de paiement </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -354,7 +403,7 @@ Veuillez noter que les connecteurs semblent faire double emploi, mais c’es
|
||||
</div> <div class="chapter" id="_guide_de_démarrage_pour_shopware">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">6</span>Guide de démarrage pour Shopware </h1>
|
||||
<span class="title-number">7</span>Guide de démarrage pour Shopware </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="olist arabic">
|
||||
@@ -493,7 +542,7 @@ Veuillez noter que si vous n’utilisez pas Space View Id, cette option doit
|
||||
</div> <div class="chapter" id="_différents_etats_pour_une_transaction">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">7</span>Différents Etats pour une Transaction </h1>
|
||||
<span class="title-number">8</span>Différents Etats pour une Transaction </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -503,7 +552,7 @@ Veuillez noter que si vous n’utilisez pas Space View Id, cette option doit
|
||||
</div> <div class="section" id="_cartographie_des_différents_états_d_une_commande_de_shopware">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.1</span>Cartographie des différents états d’une commande de Shopware </h2>
|
||||
<span class="title-number">8.1</span>Cartographie des différents états d’une commande de Shopware </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -511,7 +560,7 @@ Veuillez noter que si vous n’utilisez pas Space View Id, cette option doit
|
||||
</div> <div class="section" id="_remarque_générales_concernant_les_status_des_commandes">
|
||||
<div class="section-title">
|
||||
<h3>
|
||||
<span class="title-number">7.1.1</span>Remarque générales concernant les status des commandes </h3>
|
||||
<span class="title-number">8.1.1</span>Remarque générales concernant les status des commandes </h3>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -521,7 +570,7 @@ Veuillez noter que si vous n’utilisez pas Space View Id, cette option doit
|
||||
</div> <div class="section" id="_cartographie_des_différents_états_du_paiement_de_shopware">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.2</span>Cartographie des différents états du paiement de Shopware </h2>
|
||||
<span class="title-number">8.2</span>Cartographie des différents états du paiement de Shopware </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -548,7 +597,7 @@ Veuillez noter que si vous n’utilisez pas Space View Id, cette option doit
|
||||
</div> <div class="section" id="_remarques_générales_concernant_les_différents_status_pour_les_paiements">
|
||||
<div class="section-title">
|
||||
<h3>
|
||||
<span class="title-number">7.2.1</span>Remarques générales concernant les différents status pour les paiements </h3>
|
||||
<span class="title-number">8.2.1</span>Remarques générales concernant les différents status pour les paiements </h3>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -558,7 +607,7 @@ Veuillez noter que si vous n’utilisez pas Space View Id, cette option doit
|
||||
</div> <div class="section" id="_carthographie_des_différents_états_de_livraison_chez_shopware">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.3</span>Carthographie des différents états de livraison chez Shopware </h2>
|
||||
<span class="title-number">8.3</span>Carthographie des différents états de livraison chez Shopware </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -584,7 +633,7 @@ Veuillez noter que si vous n’utilisez pas Space View Id, cette option doit
|
||||
</div> <div class="chapter" id="_gestion_des_transactions">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">8</span>Gestion des Transactions </h1>
|
||||
<span class="title-number">9</span>Gestion des Transactions </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -592,7 +641,7 @@ Veuillez noter que si vous n’utilisez pas Space View Id, cette option doit
|
||||
</div> <div class="section" id="_complete_capture_an_order">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.1</span>Complete (capture) an order </h2>
|
||||
<span class="title-number">9.1</span>Complete (capture) an order </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -624,7 +673,7 @@ Lorsque le paiement est en attente dans VR Payment, la commande reste en attente
|
||||
</div> <div class="section" id="_annuler_une_transaction">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.2</span>Annuler une transaction </h2>
|
||||
<span class="title-number">9.2</span>Annuler une transaction </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -648,7 +697,7 @@ Vous ne pouvez annuler que les transactions qui ne sont pas encore complétée..
|
||||
</div> <div class="section" id="_remboursement_d_une_transaction">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.3</span>Remboursement d’une transaction </h2>
|
||||
<span class="title-number">9.3</span>Remboursement d’une transaction </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -674,7 +723,7 @@ Il peut s’écouler un certain temps avant que vous ne voyiez le remboursem
|
||||
</div> <div class="section" id="_commandes_en_attente">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.4</span>Commandes en attente </h2>
|
||||
<span class="title-number">9.4</span>Commandes en attente </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -696,7 +745,7 @@ Il peut s’écouler un certain temps avant que vous ne voyiez le remboursem
|
||||
</div> <div class="section" id="_limites_de_la_synchronisation_entre_whitelabelname_et_shopware">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.5</span>Limites de la synchronisation entre VR Payment et Shopware </h2>
|
||||
<span class="title-number">9.5</span>Limites de la synchronisation entre VR Payment et Shopware </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -707,7 +756,7 @@ Il peut s’écouler un certain temps avant que vous ne voyiez le remboursem
|
||||
</div> <div class="section" id="_tokenisation">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.6</span>Tokenisation </h2>
|
||||
<span class="title-number">9.6</span>Tokenisation </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -727,7 +776,7 @@ La tokenisation n’est pas disponible pour les paiements par les invités.
|
||||
</div> <div class="section" id="_paiements_récurrents">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.7</span>Paiements récurrents </h2>
|
||||
<span class="title-number">9.7</span>Paiements récurrents </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -736,7 +785,7 @@ La tokenisation n’est pas disponible pour les paiements par les invités.
|
||||
</div> <div class="section" id="_caractéristiques_pricinpales">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.8</span>Caractéristiques Pricinpales </h2>
|
||||
<span class="title-number">9.8</span>Caractéristiques Pricinpales </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="ulist">
|
||||
@@ -761,7 +810,7 @@ La tokenisation n’est pas disponible pour les paiements par les invités.
|
||||
</div> <div class="section" id="_troubleshooting">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.9</span>Troubleshooting </h2>
|
||||
<span class="title-number">9.9</span>Troubleshooting </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="ulist">
|
||||
@@ -792,7 +841,7 @@ La tokenisation n’est pas disponible pour les paiements par les invités.
|
||||
</div> <div class="section" id="_faqs">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.10</span>FAQs </h2>
|
||||
<span class="title-number">9.10</span>FAQs </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -820,7 +869,7 @@ A: Oui, le plugin prend en charge les portefeuilles comme Apple Pay.</p>
|
||||
</div> <div class="chapter" id="_changelog">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">9</span>Changelog </h1>
|
||||
<span class="title-number">10</span>Changelog </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -829,7 +878,7 @@ A: Oui, le plugin prend en charge les portefeuilles comme Apple Pay.</p>
|
||||
</div> <div class="chapter" id="_contribuer">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">10</span>Contribuer </h1>
|
||||
<span class="title-number">11</span>Contribuer </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -840,7 +889,7 @@ A: Oui, le plugin prend en charge les portefeuilles comme Apple Pay.</p>
|
||||
</div> <div class="chapter" id="_support">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">11</span>Support </h1>
|
||||
<span class="title-number">12</span>Support </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -896,133 +945,150 @@ A: Oui, le plugin prend en charge les portefeuilles comme Apple Pay.</p>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#portal-startup-guide">
|
||||
<a href="#_mise_à_jour">
|
||||
<span class="item-number">5</span>
|
||||
<span class="item-title">Mise à jour</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_via_l_administration">
|
||||
<span class="item-number">5.1</span>
|
||||
<span class="item-title">Via l’administration</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_via_la_cli">
|
||||
<span class="item-number">5.2</span>
|
||||
<span class="item-title">Via la CLI</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#portal-startup-guide">
|
||||
<span class="item-number">6</span>
|
||||
<span class="item-title">Guide de démarrage pour le Portail</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_créez_la_clé_api">
|
||||
<span class="item-number">5.1</span>
|
||||
<span class="item-number">6.1</span>
|
||||
<span class="item-title">Créez la clé API:</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_configurer_les_modes_de_paiement">
|
||||
<span class="item-number">5.2</span>
|
||||
<span class="item-number">6.2</span>
|
||||
<span class="item-title">Configurer les modes de paiement</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_guide_de_démarrage_pour_shopware">
|
||||
<span class="item-number">6</span>
|
||||
<span class="item-number">7</span>
|
||||
<span class="item-title">Guide de démarrage pour Shopware</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_différents_etats_pour_une_transaction">
|
||||
<span class="item-number">7</span>
|
||||
<span class="item-number">8</span>
|
||||
<span class="item-title">Différents Etats pour une Transaction</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_cartographie_des_différents_états_d_une_commande_de_shopware">
|
||||
<span class="item-number">7.1</span>
|
||||
<span class="item-number">8.1</span>
|
||||
<span class="item-title">Cartographie des différents états d’une commande de Shopware</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-3">
|
||||
<a href="#_remarque_générales_concernant_les_status_des_commandes">
|
||||
<span class="item-number">7.1.1</span>
|
||||
<span class="item-number">8.1.1</span>
|
||||
<span class="item-title">Remarque générales concernant les status des commandes</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_cartographie_des_différents_états_du_paiement_de_shopware">
|
||||
<span class="item-number">7.2</span>
|
||||
<span class="item-number">8.2</span>
|
||||
<span class="item-title">Cartographie des différents états du paiement de Shopware</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-3">
|
||||
<a href="#_remarques_générales_concernant_les_différents_status_pour_les_paiements">
|
||||
<span class="item-number">7.2.1</span>
|
||||
<span class="item-number">8.2.1</span>
|
||||
<span class="item-title">Remarques générales concernant les différents status pour les paiements</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_carthographie_des_différents_états_de_livraison_chez_shopware">
|
||||
<span class="item-number">7.3</span>
|
||||
<span class="item-number">8.3</span>
|
||||
<span class="item-title">Carthographie des différents états de livraison chez Shopware</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_gestion_des_transactions">
|
||||
<span class="item-number">8</span>
|
||||
<span class="item-number">9</span>
|
||||
<span class="item-title">Gestion des Transactions</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_complete_capture_an_order">
|
||||
<span class="item-number">8.1</span>
|
||||
<span class="item-number">9.1</span>
|
||||
<span class="item-title">Complete (capture) an order</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_annuler_une_transaction">
|
||||
<span class="item-number">8.2</span>
|
||||
<span class="item-number">9.2</span>
|
||||
<span class="item-title">Annuler une transaction</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_remboursement_d_une_transaction">
|
||||
<span class="item-number">8.3</span>
|
||||
<span class="item-number">9.3</span>
|
||||
<span class="item-title">Remboursement d&#8217;une transaction</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_commandes_en_attente">
|
||||
<span class="item-number">8.4</span>
|
||||
<span class="item-number">9.4</span>
|
||||
<span class="item-title">Commandes en attente</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_limites_de_la_synchronisation_entre_whitelabelname_et_shopware">
|
||||
<span class="item-number">8.5</span>
|
||||
<span class="item-number">9.5</span>
|
||||
<span class="item-title">Limites de la synchronisation entre VR Payment et Shopware</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_tokenisation">
|
||||
<span class="item-number">8.6</span>
|
||||
<span class="item-number">9.6</span>
|
||||
<span class="item-title">Tokenisation</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_paiements_récurrents">
|
||||
<span class="item-number">8.7</span>
|
||||
<span class="item-number">9.7</span>
|
||||
<span class="item-title">Paiements récurrents</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_caractéristiques_pricinpales">
|
||||
<span class="item-number">8.8</span>
|
||||
<span class="item-number">9.8</span>
|
||||
<span class="item-title">Caractéristiques Pricinpales</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_troubleshooting">
|
||||
<span class="item-number">8.9</span>
|
||||
<span class="item-number">9.9</span>
|
||||
<span class="item-title">Troubleshooting</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_faqs">
|
||||
<span class="item-number">8.10</span>
|
||||
<span class="item-number">9.10</span>
|
||||
<span class="item-title">FAQs</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_changelog">
|
||||
<span class="item-number">9</span>
|
||||
<span class="item-number">10</span>
|
||||
<span class="item-title">Changelog</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_contribuer">
|
||||
<span class="item-number">10</span>
|
||||
<span class="item-number">11</span>
|
||||
<span class="item-title">Contribuer</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_support">
|
||||
<span class="item-number">11</span>
|
||||
<span class="item-number">12</span>
|
||||
<span class="item-title">Support</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
|
||||
+115
-49
@@ -23,7 +23,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.1.3/">
|
||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.2.0/">
|
||||
Source
|
||||
</a>
|
||||
</li>
|
||||
@@ -191,10 +191,59 @@ php bin/console plugin:install --activate --clearCache VRPayment</code></pre>
|
||||
</div>
|
||||
</div> </div>
|
||||
</div> </div>
|
||||
</div> <div class="chapter" id="_aggiornamento">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">5</span>Aggiornamento </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="section" id="_tramite_amministrazione">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.1</span>Tramite Amministrazione </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>Vai su Shopware Admin > Estensioni > Le mie estensioni.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Trova VRPaymentPayment.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Clicca su Aggiorna.</p>
|
||||
</li>
|
||||
</ol>
|
||||
</div> </div>
|
||||
</div> <div class="section" id="_tramite_cli">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.2</span>Tramite CLI </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>Distribuisci i nuovi file del plugin (sostituisci la cartella <code>custom/plugins/VRPaymentPayment</code> oppure carica/installa un nuovo ZIP).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Esegui:</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlight"><code class="language-bash" data-lang="bash">bin/console plugin:refresh
|
||||
bin/console plugin:update --clearCache VRPaymentPayment
|
||||
bin/console cache:clear</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</div> </div>
|
||||
</div> </div>
|
||||
</div> <div class="chapter" id="portal-startup-guide">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">5</span>Guida Rapida al Portale </h1>
|
||||
<span class="title-number">6</span>Guida Rapida al Portale </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -213,7 +262,7 @@ Selezionate il piano di abbonamento appropriato: dovrebbe supportare le transazi
|
||||
</div> <div class="section" id="_create_la_chiave_api">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.1</span>Create la chiave API: </h2>
|
||||
<span class="title-number">6.1</span>Create la chiave API: </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="olist arabic">
|
||||
@@ -299,7 +348,7 @@ Si prega di notare che il caricamento dei ruoli potrebbe richiedere alcuni secon
|
||||
</div> <div class="section" id="_configurate_i_metodi_di_pagamento">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">5.2</span>Configurate i Metodi di Pagamento </h2>
|
||||
<span class="title-number">6.2</span>Configurate i Metodi di Pagamento </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -361,7 +410,7 @@ Si prega di notare che i connettori sembrano duplicati, ma è perché uno è per
|
||||
</div> <div class="chapter" id="_guida_rapida_al_shop">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">6</span>Guida Rapida al Shop </h1>
|
||||
<span class="title-number">7</span>Guida Rapida al Shop </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="olist arabic">
|
||||
@@ -500,7 +549,7 @@ Si prega di notare che se non utilizzate lo Space View Id, questa opzione dovreb
|
||||
</div> <div class="chapter" id="_grafico_dello_stato_della_transazione">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">7</span>Grafico dello Stato della Transazione </h1>
|
||||
<span class="title-number">8</span>Grafico dello Stato della Transazione </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -510,7 +559,7 @@ Si prega di notare che se non utilizzate lo Space View Id, questa opzione dovreb
|
||||
</div> <div class="section" id="_mappatura_degli_stati_degli_ordini_di_shopware">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.1</span>Mappatura degli Stati degli Ordini di Shopware </h2>
|
||||
<span class="title-number">8.1</span>Mappatura degli Stati degli Ordini di Shopware </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -518,7 +567,7 @@ Si prega di notare che se non utilizzate lo Space View Id, questa opzione dovreb
|
||||
</div> <div class="section" id="_osservazioni_generali_riguardo_agli_stati_degli_ordini">
|
||||
<div class="section-title">
|
||||
<h3>
|
||||
<span class="title-number">7.1.1</span>Osservazioni Generali Riguardo agli Stati degli Ordini </h3>
|
||||
<span class="title-number">8.1.1</span>Osservazioni Generali Riguardo agli Stati degli Ordini </h3>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -528,7 +577,7 @@ Si prega di notare che se non utilizzate lo Space View Id, questa opzione dovreb
|
||||
</div> <div class="section" id="_mappatura_dello_stato_di_pagamento_di_shopware">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.2</span>Mappatura dello Stato di Pagamento di Shopware </h2>
|
||||
<span class="title-number">8.2</span>Mappatura dello Stato di Pagamento di Shopware </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -555,7 +604,7 @@ Si prega di notare che se non utilizzate lo Space View Id, questa opzione dovreb
|
||||
</div> <div class="section" id="_osservazioni_generali_riguardo_agli_stati_di_pagamento">
|
||||
<div class="section-title">
|
||||
<h3>
|
||||
<span class="title-number">7.2.1</span>Osservazioni Generali Riguardo agli Stati di Pagamento </h3>
|
||||
<span class="title-number">8.2.1</span>Osservazioni Generali Riguardo agli Stati di Pagamento </h3>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -565,7 +614,7 @@ Si prega di notare che se non utilizzate lo Space View Id, questa opzione dovreb
|
||||
</div> <div class="section" id="_mappatura_dello_stato_di_spedizione_di_shopware">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">7.3</span>Mappatura dello Stato di Spedizione di Shopware </h2>
|
||||
<span class="title-number">8.3</span>Mappatura dello Stato di Spedizione di Shopware </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -591,7 +640,7 @@ Si prega di notare che se non utilizzate lo Space View Id, questa opzione dovreb
|
||||
</div> <div class="chapter" id="_gestione_delle_transazioni">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">8</span>Gestione delle Transazioni </h1>
|
||||
<span class="title-number">9</span>Gestione delle Transazioni </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -599,7 +648,7 @@ Si prega di notare che se non utilizzate lo Space View Id, questa opzione dovreb
|
||||
</div> <div class="section" id="_completare_acquisire_un_ordine">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.1</span>Completare (Acquisire) un Ordine </h2>
|
||||
<span class="title-number">9.1</span>Completare (Acquisire) un Ordine </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -631,7 +680,7 @@ Quando il completamento è in sospeso in VR Payment, l’ordine rimarrà nel
|
||||
</div> <div class="section" id="_annullare_una_transazione">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.2</span>Annullare una transazione </h2>
|
||||
<span class="title-number">9.2</span>Annullare una transazione </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -655,7 +704,7 @@ Puoi annullare solo le transazioni che non sono ancora state completate
|
||||
</div> <div class="section" id="_rimborso_di_una_transazione">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.3</span>Rimborso di una Transazione </h2>
|
||||
<span class="title-number">9.3</span>Rimborso di una Transazione </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -681,7 +730,7 @@ Potrebbe volerci un po' di tempo prima che vediate il rimborso in Shopware. I ri
|
||||
</div> <div class="section" id="_ordini_in_attesa">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.4</span>Ordini in Attesa </h2>
|
||||
<span class="title-number">9.4</span>Ordini in Attesa </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -703,7 +752,7 @@ Potrebbe volerci un po' di tempo prima che vediate il rimborso in Shopware. I ri
|
||||
</div> <div class="section" id="_limitazioni_della_sincronizzazione_tra_whitelabelname_e_shopware">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.5</span>Limitazioni della Sincronizzazione tra VR Payment e Shopware </h2>
|
||||
<span class="title-number">9.5</span>Limitazioni della Sincronizzazione tra VR Payment e Shopware </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -714,7 +763,7 @@ Potrebbe volerci un po' di tempo prima che vediate il rimborso in Shopware. I ri
|
||||
</div> <div class="section" id="_tokenization">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.6</span>Tokenization </h2>
|
||||
<span class="title-number">9.6</span>Tokenization </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -734,7 +783,7 @@ La tokenizzazione non è disponibile per i checkout degli ospiti.
|
||||
</div> <div class="section" id="_pagamenti_ricorrenti">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.7</span>Pagamenti ricorrenti </h2>
|
||||
<span class="title-number">9.7</span>Pagamenti ricorrenti </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -743,7 +792,7 @@ La tokenizzazione non è disponibile per i checkout degli ospiti.
|
||||
</div> <div class="section" id="_key_features">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.8</span>Key Features </h2>
|
||||
<span class="title-number">9.8</span>Key Features </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="ulist">
|
||||
@@ -768,7 +817,7 @@ La tokenizzazione non è disponibile per i checkout degli ospiti.
|
||||
</div> <div class="section" id="_risoluzione_dei_problemi">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.9</span>Risoluzione dei Problemi </h2>
|
||||
<span class="title-number">9.9</span>Risoluzione dei Problemi </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="ulist">
|
||||
@@ -799,7 +848,7 @@ La tokenizzazione non è disponibile per i checkout degli ospiti.
|
||||
</div> <div class="section" id="_faqs">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<span class="title-number">8.10</span>FAQs </h2>
|
||||
<span class="title-number">9.10</span>FAQs </h2>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="paragraph">
|
||||
@@ -831,7 +880,7 @@ La tokenizzazione non è disponibile per i checkout degli ospiti.
|
||||
</div> <div class="chapter" id="_changelog">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">9</span>Changelog </h1>
|
||||
<span class="title-number">10</span>Changelog </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -840,7 +889,7 @@ La tokenizzazione non è disponibile per i checkout degli ospiti.
|
||||
</div> <div class="chapter" id="_contribuzione">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">10</span>Contribuzione </h1>
|
||||
<span class="title-number">11</span>Contribuzione </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -851,7 +900,7 @@ La tokenizzazione non è disponibile per i checkout degli ospiti.
|
||||
</div> <div class="chapter" id="_support">
|
||||
<div class="chapter-title">
|
||||
<h1>
|
||||
<span class="title-number">11</span>Support </h1>
|
||||
<span class="title-number">12</span>Support </h1>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<div class="paragraph">
|
||||
@@ -907,133 +956,150 @@ La tokenizzazione non è disponibile per i checkout degli ospiti.
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#portal-startup-guide">
|
||||
<a href="#_aggiornamento">
|
||||
<span class="item-number">5</span>
|
||||
<span class="item-title">Aggiornamento</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_tramite_amministrazione">
|
||||
<span class="item-number">5.1</span>
|
||||
<span class="item-title">Tramite Amministrazione</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_tramite_cli">
|
||||
<span class="item-number">5.2</span>
|
||||
<span class="item-title">Tramite CLI</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#portal-startup-guide">
|
||||
<span class="item-number">6</span>
|
||||
<span class="item-title">Guida Rapida al Portale</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_create_la_chiave_api">
|
||||
<span class="item-number">5.1</span>
|
||||
<span class="item-number">6.1</span>
|
||||
<span class="item-title">Create la chiave API:</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_configurate_i_metodi_di_pagamento">
|
||||
<span class="item-number">5.2</span>
|
||||
<span class="item-number">6.2</span>
|
||||
<span class="item-title">Configurate i Metodi di Pagamento</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_guida_rapida_al_shop">
|
||||
<span class="item-number">6</span>
|
||||
<span class="item-number">7</span>
|
||||
<span class="item-title">Guida Rapida al Shop</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_grafico_dello_stato_della_transazione">
|
||||
<span class="item-number">7</span>
|
||||
<span class="item-number">8</span>
|
||||
<span class="item-title">Grafico dello Stato della Transazione</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_mappatura_degli_stati_degli_ordini_di_shopware">
|
||||
<span class="item-number">7.1</span>
|
||||
<span class="item-number">8.1</span>
|
||||
<span class="item-title">Mappatura degli Stati degli Ordini di Shopware</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-3">
|
||||
<a href="#_osservazioni_generali_riguardo_agli_stati_degli_ordini">
|
||||
<span class="item-number">7.1.1</span>
|
||||
<span class="item-number">8.1.1</span>
|
||||
<span class="item-title">Osservazioni Generali Riguardo agli Stati degli Ordini</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_mappatura_dello_stato_di_pagamento_di_shopware">
|
||||
<span class="item-number">7.2</span>
|
||||
<span class="item-number">8.2</span>
|
||||
<span class="item-title">Mappatura dello Stato di Pagamento di Shopware</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-3">
|
||||
<a href="#_osservazioni_generali_riguardo_agli_stati_di_pagamento">
|
||||
<span class="item-number">7.2.1</span>
|
||||
<span class="item-number">8.2.1</span>
|
||||
<span class="item-title">Osservazioni Generali Riguardo agli Stati di Pagamento</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_mappatura_dello_stato_di_spedizione_di_shopware">
|
||||
<span class="item-number">7.3</span>
|
||||
<span class="item-number">8.3</span>
|
||||
<span class="item-title">Mappatura dello Stato di Spedizione di Shopware</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_gestione_delle_transazioni">
|
||||
<span class="item-number">8</span>
|
||||
<span class="item-number">9</span>
|
||||
<span class="item-title">Gestione delle Transazioni</span>
|
||||
</a>
|
||||
<ul class="nav">
|
||||
<li class="nav-level-2">
|
||||
<a href="#_completare_acquisire_un_ordine">
|
||||
<span class="item-number">8.1</span>
|
||||
<span class="item-number">9.1</span>
|
||||
<span class="item-title">Completare (Acquisire) un Ordine</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_annullare_una_transazione">
|
||||
<span class="item-number">8.2</span>
|
||||
<span class="item-number">9.2</span>
|
||||
<span class="item-title">Annullare una transazione</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_rimborso_di_una_transazione">
|
||||
<span class="item-number">8.3</span>
|
||||
<span class="item-number">9.3</span>
|
||||
<span class="item-title">Rimborso di una Transazione</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_ordini_in_attesa">
|
||||
<span class="item-number">8.4</span>
|
||||
<span class="item-number">9.4</span>
|
||||
<span class="item-title">Ordini in Attesa</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_limitazioni_della_sincronizzazione_tra_whitelabelname_e_shopware">
|
||||
<span class="item-number">8.5</span>
|
||||
<span class="item-number">9.5</span>
|
||||
<span class="item-title">Limitazioni della Sincronizzazione tra VR Payment e Shopware</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_tokenization">
|
||||
<span class="item-number">8.6</span>
|
||||
<span class="item-number">9.6</span>
|
||||
<span class="item-title">Tokenization</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_pagamenti_ricorrenti">
|
||||
<span class="item-number">8.7</span>
|
||||
<span class="item-number">9.7</span>
|
||||
<span class="item-title">Pagamenti ricorrenti</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_key_features">
|
||||
<span class="item-number">8.8</span>
|
||||
<span class="item-number">9.8</span>
|
||||
<span class="item-title">Key Features</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_risoluzione_dei_problemi">
|
||||
<span class="item-number">8.9</span>
|
||||
<span class="item-number">9.9</span>
|
||||
<span class="item-title">Risoluzione dei Problemi</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-2">
|
||||
<a href="#_faqs">
|
||||
<span class="item-number">8.10</span>
|
||||
<span class="item-number">9.10</span>
|
||||
<span class="item-title">FAQs</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_changelog">
|
||||
<span class="item-number">9</span>
|
||||
<span class="item-number">10</span>
|
||||
<span class="item-title">Changelog</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_contribuzione">
|
||||
<span class="item-number">10</span>
|
||||
<span class="item-number">11</span>
|
||||
<span class="item-title">Contribuzione</span>
|
||||
</a>
|
||||
</li> <li class="nav-level-1">
|
||||
<a href="#_support">
|
||||
<span class="item-number">11</span>
|
||||
<span class="item-number">12</span>
|
||||
<span class="item-title">Support</span>
|
||||
</a>
|
||||
</li> </ul>
|
||||
|
||||
@@ -661,6 +661,13 @@ class PaymentMethodConfigurationService {
|
||||
], $context);
|
||||
|
||||
// Media insert/update
|
||||
|
||||
// detect if collision, return existing id
|
||||
$existingId = $this->checkMediaAlreadyExists($paymentMethodConfiguration->getResolvedImageUrl(), $context);
|
||||
if ($existingId) {
|
||||
return $existingId;
|
||||
}
|
||||
|
||||
$mediaDefinition = $this->container->get(MediaDefinition::class);
|
||||
$this->mediaSerializer->setRegistry($this->serializerRegistry);
|
||||
|
||||
@@ -681,6 +688,22 @@ class PaymentMethodConfigurationService {
|
||||
}
|
||||
}
|
||||
|
||||
private function checkMediaAlreadyExists($paymentMethodUrl, $context) {
|
||||
// detect if collision, return existing id
|
||||
if (preg_match('#/([^/]+)\.[^/.]+$#', $paymentMethodUrl, $matches)) {
|
||||
$filename = $matches[1];
|
||||
}
|
||||
$criteria = new Criteria();
|
||||
$criteria->addFilter(new EqualsFilter('fileName', $filename));
|
||||
|
||||
$existing = $this->mediaRepository->search($criteria, $context)->first();
|
||||
|
||||
if ($existing) {
|
||||
return $existing->getId();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves media default folder for a given payment method configuration.
|
||||
*
|
||||
|
||||
@@ -13,6 +13,7 @@ use Symfony\Component\{
|
||||
};
|
||||
use VRPaymentPayment\Core\{
|
||||
Api\Refund\Service\RefundService,
|
||||
Api\Transaction\Service\TransactionService,
|
||||
Settings\Service\SettingsService
|
||||
};
|
||||
|
||||
@@ -40,17 +41,24 @@ class RefundController extends AbstractController
|
||||
* @var \Psr\Log\LoggerInterface
|
||||
*/
|
||||
protected $logger;
|
||||
|
||||
/**
|
||||
* @var \VRPaymentPayment\Core\Api\Transaction\Service\TransactionService
|
||||
*/
|
||||
protected $transactionService;
|
||||
|
||||
/**
|
||||
* RefundController constructor.
|
||||
*
|
||||
* @param \VRPaymentPayment\Core\Api\Refund\Service\RefundService $refundService
|
||||
* @param \VRPaymentPayment\Core\Settings\Service\SettingsService $settingsService
|
||||
* @param \VRPaymentPayment\Core\Api\Transaction\Service\TransactionService $transactionService
|
||||
*/
|
||||
public function __construct(RefundService $refundService, SettingsService $settingsService)
|
||||
public function __construct(RefundService $refundService, SettingsService $settingsService, TransactionService $transactionService)
|
||||
{
|
||||
$this->settingsService = $settingsService;
|
||||
$this->refundService = $refundService;
|
||||
$this->transactionService = $transactionService;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -81,12 +89,24 @@ class RefundController extends AbstractController
|
||||
$transactionId = $request->request->get('transactionId');
|
||||
$quantity = (int)$request->request->get('quantity');
|
||||
$lineItemId = $request->request->get('lineItemId');
|
||||
|
||||
if ($quantity === null || $quantity <= 0) {
|
||||
return new Response('refundQuantityZero', Response::HTTP_BAD_REQUEST);
|
||||
}
|
||||
|
||||
$settings = $this->settingsService->getSettings($salesChannelId);
|
||||
$apiClient = $settings->getApiClient();
|
||||
|
||||
$transaction = $apiClient->getTransactionService()->read($settings->getSpaceId(), $transactionId);
|
||||
|
||||
$maxQuantity = $this->refundService->getMaxRefundableQuantity($transaction, $context, $lineItemId);
|
||||
|
||||
if ($quantity > $maxQuantity) {
|
||||
return new Response('refundExceedsQuantity', Response::HTTP_BAD_REQUEST);
|
||||
}
|
||||
|
||||
$refund = $this->refundService->create($transaction, $context, $lineItemId, $quantity);
|
||||
|
||||
if ($refund === null) {
|
||||
return new Response('Refund was not created. Please check the refund amound or if the item was not refunded before', Response::HTTP_BAD_REQUEST);
|
||||
}
|
||||
@@ -110,17 +130,30 @@ class RefundController extends AbstractController
|
||||
$salesChannelId = $request->request->get('salesChannelId');
|
||||
$transactionId = $request->request->get('transactionId');
|
||||
$refundableAmount = $request->request->get('refundableAmount');
|
||||
|
||||
if ($refundableAmount === null || $refundableAmount <= 0.0) {
|
||||
return new Response('refundAmountZero', Response::HTTP_BAD_REQUEST);
|
||||
}
|
||||
|
||||
$settings = $this->settingsService->getSettings($salesChannelId);
|
||||
$apiClient = $settings->getApiClient();
|
||||
|
||||
$transaction = $apiClient->getTransactionService()->read($settings->getSpaceId(), $transactionId);
|
||||
$refund = $this->refundService->createRefundByAmount($transaction, $refundableAmount, $context);
|
||||
|
||||
$completed = (float) $transaction->getCompletedAmount();
|
||||
$refunded = (float) $transaction->getRefundedAmount();
|
||||
$maxRefund = round($completed - $refunded, 2);
|
||||
|
||||
if ($refund === null) {
|
||||
return new Response('refundExceedsAmount', Response::HTTP_BAD_REQUEST);
|
||||
if ($refundableAmount > $maxRefund) {
|
||||
return new Response('refundExceedsAmount', Response::HTTP_BAD_REQUEST);
|
||||
}
|
||||
|
||||
$refund = $this->refundService->createRefundByAmount($transaction, $refundableAmount, $context);
|
||||
|
||||
if ($refund === null) {
|
||||
return new Response('refundExceedsAmount', Response::HTTP_BAD_REQUEST);
|
||||
}
|
||||
|
||||
return new Response(null, Response::HTTP_NO_CONTENT);
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,11 @@ use Shopware\Core\{
|
||||
};
|
||||
use VRPayment\Sdk\{
|
||||
Model\Refund,
|
||||
Model\Transaction
|
||||
Model\Transaction,
|
||||
Model\CriteriaOperator,
|
||||
Model\EntityQueryFilter,
|
||||
Model\EntityQueryFilterType,
|
||||
Model\EntityQuery,
|
||||
};
|
||||
use VRPaymentPayment\Core\{
|
||||
Api\Refund\Entity\RefundEntity,
|
||||
@@ -241,4 +245,67 @@ class RefundService
|
||||
->first();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get total refunded quantity for transaction's line item by lineItemId.
|
||||
*
|
||||
* @param \VRPayment\Sdk\Model\Transaction $transaction
|
||||
* @param \Shopware\Core\Framework\Context $context
|
||||
* @param string $lineItemId
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getRefundedQuantity(Transaction $transaction, Context $context, string $lineItemId): int {
|
||||
$transactionEntity = $this->getTransactionEntityByTransactionId($transaction->getId(), $context);
|
||||
$settings = $this->settingsService->getSettings($transactionEntity->getSalesChannel()->getId());
|
||||
$apiClient = $settings->getApiClient();
|
||||
|
||||
$entityQueryFilter = (new EntityQueryFilter())
|
||||
->setType(EntityQueryFilterType::LEAF)
|
||||
->setOperator(CriteriaOperator::EQUALS)
|
||||
->setFieldName('transaction.id')
|
||||
->setValue($transaction->getId());
|
||||
|
||||
$query = (new EntityQuery())->setFilter($entityQueryFilter);
|
||||
|
||||
$refunds = $apiClient->getRefundService()->search($settings->getSpaceId(), $query);
|
||||
|
||||
$refundedQuantity = 0;
|
||||
|
||||
foreach ($refunds as $refund) {
|
||||
foreach ($refund->getReductions() as $reduction) {
|
||||
if ($reduction->getLineItemUniqueId() === $lineItemId) {
|
||||
$refundedQuantity += (int) $reduction->getQuantityReduction();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $refundedQuantity;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get maximum quantity of available items to refund for line item.
|
||||
*
|
||||
* @param \VRPayment\Sdk\Model\Transaction $transaction
|
||||
* @param \Shopware\Core\Framework\Context $context
|
||||
* @param string $lineItemId
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getMaxRefundableQuantity(Transaction $transaction, Context $context, string $lineItemId): int {
|
||||
|
||||
$originalQuantity = 0;
|
||||
|
||||
foreach ($transaction->getLineItems() as $lineItem) {
|
||||
if ($lineItem->getUniqueId() === $lineItemId) {
|
||||
$originalQuantity = (int) $lineItem->getQuantity();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$refundedQuantity = $this->getRefundedQuantity($transaction, $context, $lineItemId);
|
||||
|
||||
$maxQuantity = $originalQuantity - $refundedQuantity;
|
||||
|
||||
return $maxQuantity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ use VRPaymentPayment\Core\Api\Refund\Entity\RefundEntityDefinition;
|
||||
*/
|
||||
class TransactionEntityDefinition extends EntityDefinition {
|
||||
|
||||
public const ENTITY_NAME = 'vrpayment_transaction';
|
||||
public const ENTITY_NAME = 'vrpayment_transaction_data';
|
||||
|
||||
/**
|
||||
* @return string
|
||||
|
||||
@@ -45,7 +45,8 @@ use VRPaymentPayment\Core\{
|
||||
Settings\Service\SettingsService,
|
||||
Util\LocaleCodeProvider,
|
||||
Util\Payload\CustomProducts\CustomProductsLineItemTypes,
|
||||
Util\Payload\TransactionPayload
|
||||
Util\Payload\TransactionPayload,
|
||||
Util\Analytics\Analytics
|
||||
};
|
||||
use Shopware\Core\Checkout\Order\Aggregate\OrderLineItem\OrderLineItemEntity;
|
||||
use Shopware\Core\Framework\Struct\ArrayEntity;
|
||||
@@ -221,9 +222,14 @@ class TransactionService
|
||||
$spaceId = $settings->getSpaceId();
|
||||
}
|
||||
|
||||
$sdkTransaction = $settings->getApiClient()->getTransactionService()->create($spaceId, $sdkTransactionCreate);
|
||||
$apiClient = $settings->getApiClient();
|
||||
Analytics::addHeaders($apiClient, [
|
||||
Analytics::SUBSCRIPTION_TRANSACTION => true
|
||||
]);
|
||||
|
||||
$sdkTransaction = $apiClient->getTransactionService()->create($spaceId, $sdkTransactionCreate);
|
||||
if ($sdkTransaction->valid()) {
|
||||
return $settings->getApiClient()->getTransactionService()->processWithoutUserInteraction($spaceId, $sdkTransaction->getId());
|
||||
return $apiClient->getTransactionService()->processWithoutUserInteraction($spaceId, $sdkTransaction->getId());
|
||||
}
|
||||
|
||||
throw new \Exception("The transacion is not valid and could not be created.");
|
||||
@@ -381,7 +387,7 @@ class TransactionService
|
||||
*
|
||||
* @return \Shopware\Core\Checkout\Order\OrderEntity
|
||||
*/
|
||||
protected function getOrderEntity(string $orderId, Context $context): OrderEntity
|
||||
public function getOrderEntity(string $orderId, Context $context): OrderEntity
|
||||
{
|
||||
try {
|
||||
$criteria = (new Criteria([$orderId]))->addAssociations(['deliveries']);
|
||||
@@ -715,18 +721,20 @@ class TransactionService
|
||||
{
|
||||
$lineItem = new LineItemCreate();
|
||||
|
||||
$roundedPrice = $this->round($productData->getPrice()->getUnitPrice());
|
||||
|
||||
if ($productData instanceof LineItem) {
|
||||
$lineItem->setName($productData->getLabel());
|
||||
$lineItem->setUniqueId($productData->getId());
|
||||
$lineItem->setSku($productData->getReferencedId() ?? $productData->getId());
|
||||
$lineItem->setQuantity($productData->getQuantity());
|
||||
$lineItem->setAmountIncludingTax($productData->getPrice()->getUnitPrice());
|
||||
$lineItem->setAmountIncludingTax($roundedPrice);
|
||||
} elseif ($productData instanceof OrderLineItemEntity) {
|
||||
$lineItem->setName($productData->getLabel());
|
||||
$lineItem->setUniqueId($productData->getId());
|
||||
$lineItem->setSku($productData->getProductId() ?? $productData->getIdentifier() ?? $productData->getId());
|
||||
$lineItem->setQuantity($productData->getQuantity());
|
||||
$lineItem->setAmountIncludingTax($productData->getUnitPrice());
|
||||
$lineItem->setAmountIncludingTax($roundedPrice);
|
||||
} else {
|
||||
throw new \InvalidArgumentException('Unsupported line item type: ' . get_class($productData));
|
||||
}
|
||||
@@ -800,4 +808,14 @@ class TransactionService
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $amount
|
||||
* @param int $precision
|
||||
*
|
||||
* @return float
|
||||
*/
|
||||
private function round($value, $precision = 2): float {
|
||||
return \round($value, $precision);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,7 +125,9 @@ class VRPaymentPaymentHandler extends AbstractPaymentHandler
|
||||
$orderTransactionId = $transaction->getOrderTransactionId();
|
||||
$orderTransaction = $this->orderTransactionRepository->search(
|
||||
(new Criteria([$orderTransactionId]))
|
||||
->addAssociation('order'), $context
|
||||
->addAssociation('order')
|
||||
->addAssociation('stateMachineState'),
|
||||
$context
|
||||
)->getEntities()->first();
|
||||
|
||||
$contextSource = $context->getSource();
|
||||
@@ -133,20 +135,9 @@ class VRPaymentPaymentHandler extends AbstractPaymentHandler
|
||||
$salesChannelContextId = $contextSource->getSalesChannelId();
|
||||
}
|
||||
|
||||
$orderCustomer = $orderTransaction->getOrder()?->getOrderCustomer();
|
||||
|
||||
if ($orderCustomer) {
|
||||
$customerId = $orderCustomer->getCustomerId();
|
||||
} else {
|
||||
$customerId = null;
|
||||
}
|
||||
$contextToken = $this->getContextToken($request);
|
||||
$parameters = new SalesChannelContextServiceParameters($salesChannelContextId, $contextToken, originalContext: $context);
|
||||
|
||||
$parameters = new SalesChannelContextServiceParameters(
|
||||
$salesChannelContextId,
|
||||
$request->getSession()->get("sw-context-token", Random::getAlphanumericString(32)),
|
||||
originalContext: $context,
|
||||
customerId: $customerId
|
||||
);
|
||||
$salesChannelContext = $this->salesChannelContextService->get($parameters);
|
||||
$redirectUrl = $transaction->getReturnUrl();
|
||||
|
||||
@@ -162,7 +153,10 @@ class VRPaymentPaymentHandler extends AbstractPaymentHandler
|
||||
$request->getSession()->remove('transactionId');
|
||||
$errorMessage = 'An error occurred during the communication with external payment gateway : ' . $e->getMessage();
|
||||
$this->logger->critical($errorMessage);
|
||||
throw PaymentException::customerCanceled($orderTransactionId, $errorMessage);
|
||||
if ($orderTransaction->getState()?->getTechnicalName() === OrderTransactionStates::STATE_CANCELLED) {
|
||||
throw PaymentException::asyncFinalizeInterrupted($orderTransaction->getOrder()->getId(), $errorMessage);
|
||||
}
|
||||
throw PaymentException::customerCanceled($transaction->getOrderTransactionId(), $errorMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -186,7 +180,9 @@ class VRPaymentPaymentHandler extends AbstractPaymentHandler
|
||||
$orderTransactionId = $transaction->getOrderTransactionId();
|
||||
$orderTransaction = $this->orderTransactionRepository->search(
|
||||
(new Criteria([$orderTransactionId]))
|
||||
->addAssociation('order'), $context
|
||||
->addAssociation('order')
|
||||
->addAssociation('stateMachineState'),
|
||||
$context
|
||||
)->getEntities()->first();
|
||||
|
||||
if ($orderTransaction->getOrder()->getAmountTotal() > 0) {
|
||||
@@ -215,7 +211,11 @@ class VRPaymentPaymentHandler extends AbstractPaymentHandler
|
||||
|
||||
$token = $request->getSession()->get('sw-context-token');
|
||||
if ($token) {
|
||||
$salesChannelId = $transactionEntity->getSalesChannelId();
|
||||
$orderEntity = $this->pluginTransactionService->getOrderEntity(
|
||||
$orderTransaction->getOrder()->getId(),
|
||||
$context
|
||||
);
|
||||
$salesChannelId = $orderEntity->getSalesChannelId();
|
||||
$parameters = new SalesChannelContextServiceParameters($salesChannelId, $token, originalContext: $context);
|
||||
$salesChannelContext = $this->salesChannelContextService->get($parameters);
|
||||
|
||||
@@ -432,7 +432,9 @@ class VRPaymentPaymentHandler extends AbstractPaymentHandler
|
||||
{
|
||||
$lineItemCreate = new \VRPayment\Sdk\Model\LineItemCreate();
|
||||
|
||||
$lineItemCreate->setAmountIncludingTax($lineItem->getAmountIncludingTax());
|
||||
$roundedPrice = $this->round($lineItem->getAmountIncludingTax());
|
||||
|
||||
$lineItemCreate->setAmountIncludingTax($roundedPrice);
|
||||
|
||||
$attributes = $lineItem->getAttributes();
|
||||
$attributesCreate = [];
|
||||
@@ -469,4 +471,28 @@ class VRPaymentPaymentHandler extends AbstractPaymentHandler
|
||||
|
||||
return $lineItemCreate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $amount
|
||||
* @param int $precision
|
||||
*
|
||||
* @return float
|
||||
*/
|
||||
private function round($value, $precision = 2): float {
|
||||
return \round($value, $precision);
|
||||
}
|
||||
|
||||
private function getContextToken(Request $request): string
|
||||
{
|
||||
$headerContextToken = $request->headers->get('sw-context-token');
|
||||
if ($headerContextToken) {
|
||||
return $headerContextToken;
|
||||
}
|
||||
|
||||
$sessionContextToken = $request->getSession()->get("sw-context-token");
|
||||
if (!$sessionContextToken) {
|
||||
return $sessionContextToken;
|
||||
}
|
||||
return Random::getAlphanumericString(32);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ use VRPaymentPayment\Sdk\{Model\AddressCreate,
|
||||
Model\TransactionCreate,
|
||||
Model\TransactionPending};
|
||||
use Shopware\Core\Framework\Struct\ArrayEntity;
|
||||
use Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\FieldSorting;
|
||||
|
||||
/**
|
||||
* Class CheckoutSubscriber
|
||||
@@ -337,6 +338,7 @@ class CheckoutSubscriber implements EventSubscriberInterface
|
||||
$criteria->addFilter(
|
||||
new EqualsFilter('salesChannels.id', $event->getSalesChannelContext()->getSalesChannelId())
|
||||
);
|
||||
$criteria->addSorting(new FieldSorting('position', FieldSorting::ASCENDING));
|
||||
|
||||
$result = $this->paymentMethodRepository->search($criteria, $event->getContext());
|
||||
foreach ($result->getEntities() as $method) {
|
||||
|
||||
@@ -15,6 +15,7 @@ class Analytics {
|
||||
public const SHOP_SYSTEM_VERSION = 'x-meta-shop-system-version';
|
||||
public const SHOP_SYSTEM_AND_VERSION = 'x-meta-shop-system-and-version';
|
||||
public const PLUGIN_SYSTEM_VERSION = 'x-meta-plugin-version';
|
||||
public const SUBSCRIPTION_TRANSACTION = 'x-meta-subscription-transaction';
|
||||
|
||||
/**
|
||||
* @return array
|
||||
@@ -25,16 +26,17 @@ class Analytics {
|
||||
self::SHOP_SYSTEM => 'shopware',
|
||||
self::SHOP_SYSTEM_VERSION => '6',
|
||||
self::SHOP_SYSTEM_AND_VERSION => 'shopware-6',
|
||||
self::PLUGIN_SYSTEM_VERSION => '7.1.3',
|
||||
self::PLUGIN_SYSTEM_VERSION => '7.2.0',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \VRPayment\Sdk\ApiClient $apiClient
|
||||
*/
|
||||
public static function addHeaders(ApiClient &$apiClient)
|
||||
public static function addHeaders(ApiClient &$apiClient, array $additionalHeaders = [])
|
||||
{
|
||||
$data = self::getDefaultData();
|
||||
$data = array_merge($data, $additionalHeaders);
|
||||
foreach ($data as $key => $value) {
|
||||
$apiClient->addDefaultHeader($key, $value);
|
||||
}
|
||||
|
||||
@@ -397,7 +397,9 @@ class TransactionPayload extends AbstractPayload
|
||||
$discountTitle = sprintf('DISCOUNT: %s', $discountName);
|
||||
}
|
||||
|
||||
$lineItem->setAmountIncludingTax($amount)
|
||||
$roundedAmount = self::round($amount);
|
||||
|
||||
$lineItem->setAmountIncludingTax($roundedAmount)
|
||||
->setName($discountTitle)
|
||||
->setQuantity(1)
|
||||
->setShippingRequired(false)
|
||||
@@ -520,12 +522,14 @@ class TransactionPayload extends AbstractPayload
|
||||
$amount = self::round($amount + $shopLineItem->getPrice()->getCalculatedTaxes()->getAmount());
|
||||
}
|
||||
|
||||
$roundedAmount = self::round($amount);
|
||||
|
||||
$lineItem = (new LineItemCreate())
|
||||
->setName($this->fixLength($shopLineItem->getLabel(), 150))
|
||||
->setUniqueId($uniqueId)
|
||||
->setSku($sku)
|
||||
->setQuantity($shopLineItem->getQuantity() ?? 1)
|
||||
->setAmountIncludingTax($amount);
|
||||
->setAmountIncludingTax($roundedAmount);
|
||||
|
||||
|
||||
if (!empty($shopLineItem->getType()) && $shopLineItem->getType() == CustomProductsLineItemTypes::LINE_ITEM_TYPE_CUSTOMIZED_PRODUCTS) {
|
||||
@@ -644,9 +648,10 @@ class TransactionPayload extends AbstractPayload
|
||||
$amount = self::round($amount + $this->order->getShippingCosts()->getCalculatedTaxes()->getAmount());
|
||||
}
|
||||
|
||||
$roundedAmount = self::round($amount);
|
||||
|
||||
$lineItem = (new LineItemCreate())
|
||||
->setAmountIncludingTax($amount)
|
||||
->setAmountIncludingTax($roundedAmount)
|
||||
->setName($this->fixLength($shippingName . ' ' . $this->translator->trans('vrpayment.payload.shipping.lineItem'), 150))
|
||||
->setQuantity($this->order->getShippingCosts()->getQuantity() ?? 1)
|
||||
->setSku($this->fixLength($shippingName . '-Shipping', 200))
|
||||
@@ -694,9 +699,11 @@ class TransactionPayload extends AbstractPayload
|
||||
->setRate($taxRate)
|
||||
->setTitle('Tax rate: '.$taxRate);
|
||||
|
||||
$roundedAmount = self::round($amount);
|
||||
|
||||
$name = $taxRate . '%-' . $shippingName;
|
||||
$lineItem = (new LineItemCreate())
|
||||
->setAmountIncludingTax($amount)
|
||||
->setAmountIncludingTax($roundedAmount)
|
||||
->setName($this->fixLength($name . ' ' . $this->translator->trans('vrpayment.payload.shipping.lineItem'), 150))
|
||||
->setQuantity($this->order->getShippingCosts()->getQuantity() ?? 1)
|
||||
->setSku($this->fixLength($name . '-Shipping', 200))
|
||||
@@ -768,7 +775,8 @@ class TransactionPayload extends AbstractPayload
|
||||
->setSku('Adjustment-Line-Item')
|
||||
->setQuantity(1);
|
||||
/** @noinspection PhpParamsInspection */
|
||||
$lineItem->setAmountIncludingTax($adjustmentPrice)
|
||||
$roundedAdjustmentPrice = self::round($adjustmentPrice);
|
||||
$lineItem->setAmountIncludingTax($roundedAdjustmentPrice)
|
||||
->setType(($adjustmentPrice > 0) ? LineItemType::FEE : LineItemType::DISCOUNT);
|
||||
|
||||
if (!$lineItem->valid()) {
|
||||
|
||||
@@ -31,7 +31,7 @@ class Migration1590156974TransactionEntity extends MigrationStep {
|
||||
public function update(Connection $connection): void
|
||||
{
|
||||
$connection->executeStatement('
|
||||
CREATE TABLE IF NOT EXISTS `vrpayment_transaction` (
|
||||
CREATE TABLE IF NOT EXISTS `vrpayment_transaction_tmp` (
|
||||
`id` BINARY(16) NOT NULL,
|
||||
`data` JSON NOT NULL,
|
||||
`payment_method_id` BINARY(16) NOT NULL,
|
||||
|
||||
@@ -42,7 +42,7 @@ class Migration1590646356RefundEntity extends MigrationStep {
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `refund_id_UNIQUE` (`refund_id`),
|
||||
KEY `fk.vrp_refund.transaction_id` (`transaction_id`),
|
||||
CONSTRAINT `fk.vrp_refund.transaction_id` FOREIGN KEY (`transaction_id`) REFERENCES `vrpayment_transaction` (`transaction_id`) ON DELETE CASCADE
|
||||
CONSTRAINT `fk.vrp_refund.transaction_id` FOREIGN KEY (`transaction_id`) REFERENCES `vrpayment_transaction_tmp` (`transaction_id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
');
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ class Migration1590646356TransactionEntity extends MigrationStep {
|
||||
public function update(Connection $connection): void
|
||||
{
|
||||
try {
|
||||
$connection->executeStatement('ALTER TABLE `vrpayment_transaction` ADD COLUMN `confirmation_email_sent` TINYINT(1) NOT NULL DEFAULT 0 AFTER `id`;');
|
||||
$connection->executeStatement('ALTER TABLE `vrpayment_transaction_tmp` ADD COLUMN `confirmation_email_sent` TINYINT(1) NOT NULL DEFAULT 0 AFTER `id`;');
|
||||
}catch (\Exception $exception){
|
||||
// column probably exists
|
||||
}
|
||||
|
||||
@@ -33,19 +33,19 @@ class Migration1605701048TransactionEntity extends MigrationStep
|
||||
|
||||
try {
|
||||
$connection->executeStatement('
|
||||
ALTER TABLE `vrpayment_transaction`
|
||||
ALTER TABLE `vrpayment_transaction_tmp`
|
||||
ADD `order_version_id` binary(16) NOT NULL AFTER `transaction_id`;
|
||||
');
|
||||
|
||||
$connection->executeStatement('
|
||||
UPDATE `vrpayment_transaction` t1
|
||||
UPDATE `vrpayment_transaction_tmp` t1
|
||||
INNER JOIN `order` t2
|
||||
ON t1.order_id = t2.id
|
||||
SET t1.order_version_id = t2.version_id;
|
||||
');
|
||||
|
||||
$connection->executeStatement('
|
||||
ALTER TABLE `vrpayment_transaction`
|
||||
ALTER TABLE `vrpayment_transaction_tmp`
|
||||
DROP FOREIGN KEY `fk.vrp_transaction.order_id`,
|
||||
DROP FOREIGN KEY `fk.vrp_transaction.order_transaction_id`,
|
||||
DROP FOREIGN KEY `fk.vrp_transaction.payment_method_id`,
|
||||
@@ -53,7 +53,7 @@ class Migration1605701048TransactionEntity extends MigrationStep
|
||||
');
|
||||
|
||||
$connection->executeStatement('
|
||||
ALTER TABLE `vrpayment_transaction`
|
||||
ALTER TABLE `vrpayment_transaction_tmp`
|
||||
ADD CONSTRAINT `fk.vrp_transaction_order_id` FOREIGN KEY (`order_id`, `order_version_id`)
|
||||
REFERENCES `order` (`id`, `version_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `fk.vrp_transaction_payment_method_id` FOREIGN KEY (`payment_method_id`)
|
||||
|
||||
@@ -30,7 +30,7 @@ class Migration1684240994TransactionEntity extends MigrationStep {
|
||||
public function update(Connection $connection): void
|
||||
{
|
||||
try {
|
||||
$connection->executeStatement('ALTER TABLE `vrpayment_transaction` ADD COLUMN `erp_merchant_id` VARCHAR(255) DEFAULT NULL AFTER `confirmation_email_sent`;');
|
||||
$connection->executeStatement('ALTER TABLE `vrpayment_transaction_tmp` ADD COLUMN `erp_merchant_id` VARCHAR(255) DEFAULT NULL AFTER `confirmation_email_sent`;');
|
||||
}catch (\Exception $exception){
|
||||
// column probably exists
|
||||
}
|
||||
|
||||
@@ -0,0 +1,323 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace VRPaymentPayment\Migration;
|
||||
|
||||
use Doctrine\DBAL\Connection;
|
||||
use Shopware\Core\Framework\Migration\MigrationStep;
|
||||
use Monolog\Logger;
|
||||
use Monolog\Handler\StreamHandler;
|
||||
|
||||
/**
|
||||
* Class Migration1766067106TransactionEntity
|
||||
*
|
||||
* @package VRPaymentPayment\Migration
|
||||
*/
|
||||
class Migration1766067106TransactionEntity extends MigrationStep
|
||||
{
|
||||
|
||||
/**
|
||||
* get creation timestamp
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getCreationTimestamp(): int
|
||||
{
|
||||
return 1766067106;
|
||||
}
|
||||
|
||||
/**
|
||||
* update non-destructive changes
|
||||
*
|
||||
* @param \Doctrine\DBAL\Connection $connection
|
||||
*/
|
||||
public function update(Connection $connection): void
|
||||
{
|
||||
$oldTableName = 'vrpayment_transaction';
|
||||
$tempTableName = 'vrpayment_transaction_tmp';
|
||||
$realTableName = 'vrpayment_transaction_data';
|
||||
$logger = new Logger('vrpayment_migration');
|
||||
$logger->pushHandler(new StreamHandler(dirname(__DIR__, 5) . '/var/log/vrpayment-migration.log'));
|
||||
$logger->info(
|
||||
'Migration start', [
|
||||
'old_table_exists' => $this->tableExists($connection, $oldTableName),
|
||||
'temp_table_exists' => $this->tableExists($connection, $tempTableName),
|
||||
'real_table_exists' => $this->tableExists($connection, $realTableName),
|
||||
]
|
||||
);
|
||||
if ($this->tableExists($connection, $tempTableName)) {
|
||||
// If _temp table exists, it means that this is a fresh installation.
|
||||
$logger->info('Fresh installation detected.');
|
||||
$connection->executeStatement(
|
||||
sprintf('RENAME TABLE `%s` TO `%s`', $tempTableName, $realTableName)
|
||||
);
|
||||
$logger->info('Fresh installation finished.');
|
||||
} else {
|
||||
// If _temp does not exist, it means that this could be a version upgrade.
|
||||
$logger->info('Possible plugin upgrade detected.');
|
||||
if ($this->tableExists($connection, $oldTableName) && !$this->isOldPluginTable($connection, $oldTableName)) {
|
||||
$logger->info('Old vrpayment_transaction table detected.');
|
||||
// If vrpayment_transaction already exists and does not belong to old plugin,
|
||||
// it means that this is indeed a version update.
|
||||
$this->syncTransactionTable($connection, $oldTableName);
|
||||
$logger->info('Old vrpayment_transaction table sync finished.');
|
||||
$this->syncRefundTable($connection, $oldTableName);
|
||||
$logger->info('Old vrpayment_refund table sync finished.');
|
||||
$connection->executeStatement(
|
||||
sprintf('RENAME TABLE `%s` TO `%s`', $oldTableName, $realTableName)
|
||||
);
|
||||
$logger->info('Old vrpayment_transaction table renaming completed.');
|
||||
}
|
||||
$logger->info('Possible plugin upgrade finished.');
|
||||
// If vrpayment_transaction exists and it does belong to old plugin,
|
||||
// it means we must run it in parallel.
|
||||
}
|
||||
$logger->info('Migration finished.');
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if table exists.
|
||||
*
|
||||
* @param \Doctrine\DBAL\Connection $connection
|
||||
* @param string $table
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function tableExists(Connection $connection, string $table): bool {
|
||||
$result = $connection->fetchOne('SHOW TABLES LIKE :table', ['table' => $table]);
|
||||
return $result !== false && $result !== null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if table belongs to old plugin.
|
||||
*
|
||||
* @param \Doctrine\DBAL\Connection $connection
|
||||
* @param string $table
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isOldPluginTable(Connection $connection, string $table): bool {
|
||||
$oldTableExclusiveColumns = [
|
||||
'finalized_at' => 'datetime',
|
||||
'refunded_at' => 'datetime',
|
||||
'initial_transaction_mode' => 'varchar',
|
||||
'manual_capture' => 'tinyint',
|
||||
'partial_refunded_at' => 'datetime',
|
||||
'refunded_amount' => 'double',
|
||||
'amount_to_refund' => 'double',
|
||||
];
|
||||
$resultColumns = $connection->fetchAllAssociative(
|
||||
'SELECT LOWER(COLUMN_NAME) AS column_name, LOWER(DATA_TYPE) AS data_type
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = :table',
|
||||
['table' => $table]
|
||||
);
|
||||
$dbColumns = [];
|
||||
foreach($resultColumns as $column) {
|
||||
$dbColumns[$column['column_name']] = $column['data_type'];
|
||||
}
|
||||
|
||||
$oldPluginTable = true;
|
||||
foreach($oldTableExclusiveColumns as $columnName => $columnType) {
|
||||
if(!isset($dbColumns[$columnName])) {
|
||||
$oldPluginTable = false;
|
||||
break;
|
||||
}
|
||||
if ($dbColumns[$columnName] !== $columnType) {
|
||||
$oldPluginTable = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return $oldPluginTable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Synchronizes the transaction table with the current/latest version.
|
||||
*
|
||||
* @param \Doctrine\DBAL\Connection $connection
|
||||
* @param string $table
|
||||
*/
|
||||
private function syncTransactionTable(Connection $connection, string $table): void {
|
||||
$this->addColumnIfMissing($connection, $table, 'confirmation_email_sent', "TINYINT(1) NOT NULL DEFAULT 0 AFTER `id`");
|
||||
$this->addColumnIfMissing($connection, $table, 'erp_merchant_id', "VARCHAR(255) DEFAULT NULL AFTER `confirmation_email_sent`");
|
||||
$this->addColumnIfMissing($connection, $table, 'data', "LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`data`)) AFTER `erp_merchant_id`");
|
||||
$this->addColumnIfMissing($connection, $table, 'payment_method_id', "BINARY(16) NOT NULL");
|
||||
$this->addColumnIfMissing($connection, $table, 'order_id', "BINARY(16) NOT NULL");
|
||||
$this->addColumnIfMissing($connection, $table, 'order_transaction_id', "BINARY(16) NOT NULL");
|
||||
$this->addColumnIfMissing($connection, $table, 'space_id', "INT(10) UNSIGNED NOT NULL");
|
||||
$this->addColumnIfMissing($connection, $table, 'state', "VARCHAR(255) NOT NULL");
|
||||
$this->addColumnIfMissing($connection, $table, 'sales_channel_id', "BINARY(16) NOT NULL");
|
||||
$this->addColumnIfMissing($connection, $table, 'transaction_id', "INT(10) UNSIGNED NOT NULL");
|
||||
$this->addColumnIfMissing($connection, $table, 'order_version_id', "BINARY(16) NOT NULL AFTER `transaction_id`");
|
||||
|
||||
$this->addColumnIfMissing($connection, $table, 'created_at', "DATETIME(3) NOT NULL");
|
||||
$this->addColumnIfMissing($connection, $table, 'updated_at', "DATETIME(3) DEFAULT NULL");
|
||||
|
||||
$this->ensureIndexBySql($connection, $table, 'fk.vrp_transaction.order_id', "KEY `fk.vrp_transaction.order_id` (`order_id`)");
|
||||
$this->ensureIndexBySql($connection, $table, 'fk.vrp_transaction.order_transaction_id', "KEY `fk.vrp_transaction.order_transaction_id` (`order_transaction_id`)");
|
||||
$this->ensureIndexBySql($connection, $table, 'fk.vrp_transaction.payment_method_id', "KEY `fk.vrp_transaction.payment_method_id` (`payment_method_id`)");
|
||||
$this->ensureIndexBySql($connection, $table, 'fk.vrp_transaction.sales_channel_id', "KEY `fk.vrp_transaction.sales_channel_id` (`sales_channel_id`)");
|
||||
$this->ensureIndexBySql($connection, $table, 'fk.vrp_transaction', "KEY `fk.vrp_transaction` (`order_id`,`order_version_id`)");
|
||||
|
||||
$this->ensureForeignKey(
|
||||
$connection,
|
||||
$table,
|
||||
'fk.vrp_transaction_order_id',
|
||||
['order_id', 'order_version_id'],
|
||||
'order',
|
||||
['id', 'version_id'],
|
||||
'CASCADE',
|
||||
'CASCADE'
|
||||
);
|
||||
$this->ensureForeignKey(
|
||||
$connection,
|
||||
$table,
|
||||
'fk.vrp_transaction_payment_method_id',
|
||||
['payment_method_id'],
|
||||
'payment_method',
|
||||
['id'],
|
||||
'RESTRICT',
|
||||
'CASCADE'
|
||||
);
|
||||
$this->ensureForeignKey(
|
||||
$connection,
|
||||
$table,
|
||||
'fk.vrp_transaction_sales_channel_id',
|
||||
['sales_channel_id'],
|
||||
'sales_channel',
|
||||
['id'],
|
||||
'RESTRICT',
|
||||
'CASCADE'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Synchronizes the parts of the refund table related to transactions with the current/latest version.
|
||||
*
|
||||
* @param \Doctrine\DBAL\Connection $connection
|
||||
* @param string $table
|
||||
*/
|
||||
private function syncRefundTable(Connection $connection, string $table): void {
|
||||
$refundTable = 'vrpayment_refund';
|
||||
$this->ensureIndexBySql($connection, $refundTable, 'fk.vrp_refund.transaction_id', "KEY `fk.vrp_refund.transaction_id` (`transaction_id`)");
|
||||
$this->ensureForeignKey(
|
||||
$connection,
|
||||
$refundTable,
|
||||
'fk.vrp_refund.transaction_id',
|
||||
['transaction_id'],
|
||||
$table,
|
||||
['transaction_id'],
|
||||
'CASCADE',
|
||||
null
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds column to the table if it's missing.
|
||||
*
|
||||
* @param \Doctrine\DBAL\Connection $connection
|
||||
* @param string $table
|
||||
* @param string $column
|
||||
* @param string $sqlFragment
|
||||
*/
|
||||
private function addColumnIfMissing(Connection $connection, string $table, string $column, string $sqlFragment): void {
|
||||
if ($this->columnExists($connection, $table, $column)) {
|
||||
return;
|
||||
}
|
||||
$connection->executeStatement(
|
||||
sprintf("ALTER TABLE `%s` ADD COLUMN `%s` %s", $table, $column, $sqlFragment)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds index to the table if it's missing.
|
||||
*
|
||||
* @param \Doctrine\DBAL\Connection $connection
|
||||
* @param string $table
|
||||
* @param string $indexName
|
||||
* @param string $sqlFragment
|
||||
*/
|
||||
private function ensureIndexBySql(Connection $connection, string $table, string $indexName, string $sqlFragment): void {
|
||||
if ($this->indexExists($connection, $table, $indexName)) {
|
||||
return;
|
||||
}
|
||||
$connection->executeStatement(
|
||||
sprintf("ALTER TABLE `%s` ADD %s", $table, $sqlFragment)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds foreign key constraint to the table if it's missing.
|
||||
*
|
||||
* @param \Doctrine\DBAL\Connection $connection
|
||||
* @param string $table
|
||||
* @param string $constraintName
|
||||
* @param string $columns
|
||||
* @param string $refTable
|
||||
* @param string $refColumns
|
||||
* @param string|null $onDelete
|
||||
* @param string|null $onUpdate
|
||||
*/
|
||||
private function ensureForeignKey(
|
||||
Connection $connection,
|
||||
string $table,
|
||||
string $constraintName,
|
||||
array $columns,
|
||||
string $refTable,
|
||||
array $refColumns,
|
||||
?string $onDelete,
|
||||
?string $onUpdate
|
||||
): void {
|
||||
if ($this->foreignKeyExists($connection, $table, $constraintName)) {
|
||||
return;
|
||||
}
|
||||
$columnsList = '`' . implode('`,`', $columns) . '`';
|
||||
$refColumnsList = '`' . implode('`,`', $refColumns) . '`';
|
||||
$connection->executeStatement(
|
||||
sprintf(
|
||||
"ALTER TABLE `%s`
|
||||
ADD CONSTRAINT `%s` FOREIGN KEY (%s)
|
||||
REFERENCES `%s` (%s)%s%s",
|
||||
$table,
|
||||
$constraintName,
|
||||
$columnsList,
|
||||
$refTable,
|
||||
$refColumnsList,
|
||||
$onDelete ? " ON DELETE {$onDelete}" : "",
|
||||
$onUpdate ? " ON UPDATE {$onUpdate}" : ""
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if foreign key constraint exists.
|
||||
*
|
||||
* @param \Doctrine\DBAL\Connection $connection
|
||||
* @param string $table
|
||||
* @param string $constraintName
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
private function foreignKeyExists(Connection $connection, string $table, $constraintName): bool {
|
||||
$result = $connection->fetchOne(
|
||||
"SELECT 1 FROM information_schema.referential_constraints
|
||||
WHERE constraint_schema = DATABASE()
|
||||
AND table_name = ?
|
||||
AND constraint_name = ?
|
||||
LIMIT 1",
|
||||
[$table,$constraintName]
|
||||
);
|
||||
return $result !== false && $result !== null;
|
||||
}
|
||||
|
||||
/**
|
||||
* update destructive changes
|
||||
*
|
||||
* @param \Doctrine\DBAL\Connection $connection
|
||||
*/
|
||||
public function updateDestructive(Connection $connection): void
|
||||
{
|
||||
// implement update destructive
|
||||
}
|
||||
}
|
||||
+10
-7
@@ -70,14 +70,17 @@ Component.register('vrpayment-order-action-refund-by-amount', {
|
||||
});
|
||||
}).catch((errorResponse) => {
|
||||
try {
|
||||
var errorTitle;
|
||||
var errorTitle = errorResponse?.response?.data?.errors?.[0]?.title ?? this.$tc('vrpayment-order.refundAction.refundCreateError.errorTitle')
|
||||
var errorMessage;
|
||||
if (errorResponse.response.data == 'refundExceedsAmount') {
|
||||
errorTitle = this.$tc('vrpayment-order.refundAction.refundExceedsTotalError.title');
|
||||
errorMessage = this.$tc('vrpayment-order.refundAction.refundExceedsTotalError.messageRefundAmountExceedsAvailableBalance');
|
||||
} else {
|
||||
errorTitle = errorResponse.response.data.errors[0].title;
|
||||
errorMessage = errorResponse.response.data.errors[0].detail;
|
||||
switch(errorResponse.response.data) {
|
||||
case 'refundAmountZero':
|
||||
errorMessage = this.$tc('vrpayment-order.refundAction.refundCreateError.messageRefundAmountIsZero');
|
||||
break;
|
||||
case 'refundExceedsAmount':
|
||||
errorMessage = this.$tc('vrpayment-order.refundAction.refundCreateError.messageRefundAmountExceedsAvailableBalance');
|
||||
break;
|
||||
default:
|
||||
errorMessage = errorResponse.response.data.errors[0].detail;
|
||||
}
|
||||
this.createNotificationError({
|
||||
title: errorTitle,
|
||||
|
||||
+1
@@ -9,6 +9,7 @@
|
||||
:max="this.$parent.$parent.itemRefundableQuantity"
|
||||
:min="0"
|
||||
v-model="refundQuantity"
|
||||
number-type="int"
|
||||
:label="$tc('vrpayment-order.refund.refundQuantity.label')">
|
||||
</mt-number-field>
|
||||
|
||||
|
||||
+14
-2
@@ -68,9 +68,21 @@ Component.register('vrpayment-order-action-refund', {
|
||||
});
|
||||
}).catch((errorResponse) => {
|
||||
try {
|
||||
var errorTitle = errorResponse?.response?.data?.errors?.[0]?.title ?? this.$tc('vrpayment-order.refundAction.refundCreateError.errorTitle')
|
||||
var errorMessage;
|
||||
switch(errorResponse.response.data) {
|
||||
case 'refundQuantityZero':
|
||||
errorMessage = this.$tc('vrpayment-order.refundAction.refundCreateError.messageRefundQuantityIsZero');
|
||||
break;
|
||||
case 'refundExceedsQuantity':
|
||||
errorMessage = this.$tc('vrpayment-order.refundAction.refundCreateError.messageRefundQuantityExceedsAvailableBalance');
|
||||
break;
|
||||
default:
|
||||
errorMessage = errorResponse.response.data.errors[0].detail;
|
||||
}
|
||||
this.createNotificationError({
|
||||
title: errorResponse.response.data.errors[0].title,
|
||||
message: errorResponse.response.data.errors[0].detail,
|
||||
title: errorTitle,
|
||||
message: errorMessage,
|
||||
autoClose: false
|
||||
});
|
||||
} catch (e) {
|
||||
|
||||
@@ -78,9 +78,12 @@
|
||||
"successTitle": "Erfolg",
|
||||
"maxAvailableItemsToRefund": "Maximal Verfügbare Artikel zum Erstatten",
|
||||
"maxAvailableAmountToRefund": "Maximal verfügbarer Erstattungsbetrag",
|
||||
"refundExceedsTotalError": {
|
||||
"title": "Fehler beim Erstellen der Rückerstattung.",
|
||||
"messageRefundAmountExceedsAvailableBalance": "Der Rückerstattungsbetrag übersteigt das verfügbare Guthaben."
|
||||
"refundCreateError": {
|
||||
"errorTitle": "Fehler beim Erstellen der Rückerstattung.",
|
||||
"messageRefundAmountExceedsAvailableBalance": "Der Rückerstattungsbetrag übersteigt das verfügbare Guthaben.",
|
||||
"messageRefundAmountIsZero": "Der Rückerstattungsbetrag muss größer als 0 sein.",
|
||||
"messageRefundQuantityExceedsAvailableBalance": "Rückerstattung nach Menge überschreitet die maximal verfügbare Anzahl an Artikeln zur Rückerstattung.",
|
||||
"messageRefundQuantityIsZero": "Rückerstattung nach Menge muss größer als 0 sein."
|
||||
}
|
||||
},
|
||||
"transactionHistory": {
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
"void": "Cancel authorization",
|
||||
"refund-whole-line-item": "Refund whole line item",
|
||||
"refund-line-item-by-quantity": "Refund by quantity",
|
||||
"refund-line-item-selected": "Rembourser sélectionnés",
|
||||
"refund-line-item-selected": "Refund selected",
|
||||
"refund-line-item-parial": "Partial refund"
|
||||
}
|
||||
@@ -79,9 +78,12 @@
|
||||
"successTitle": "Success",
|
||||
"maxAvailableItemsToRefund": "Maximum available items to refund",
|
||||
"maxAvailableAmountToRefund": "Maximum available amount to refund",
|
||||
"refundExceedsTotalError": {
|
||||
"title": "Error while creating the refund.",
|
||||
"messageRefundAmountExceedsAvailableBalance": "Refund amount exceeds available balance."
|
||||
"refundCreateError": {
|
||||
"errorTitle": "Error while creating the refund.",
|
||||
"messageRefundAmountExceedsAvailableBalance": "Refund amount exceeds available balance.",
|
||||
"messageRefundAmountIsZero": "Refund amount must be greater than 0.",
|
||||
"messageRefundQuantityExceedsAvailableBalance": "Refund by quantity exceeds maximum available items to refund.",
|
||||
"messageRefundQuantityIsZero": "Refund by quantity must be greater than 0."
|
||||
}
|
||||
},
|
||||
"transactionHistory": {
|
||||
|
||||
@@ -78,9 +78,12 @@
|
||||
"successTitle": "Succès",
|
||||
"maxAvailableItemsToRefund": "Nombre maximum d'articles disponibles pour le remboursement",
|
||||
"maxAvailableAmountToRefund": "Montant maximal disponible pour le remboursement",
|
||||
"refundExceedsTotalError": {
|
||||
"title": "Erreur lors de la création du remboursement.",
|
||||
"messageRefundAmountExceedsAvailableBalance": "Le montant du remboursement dépasse le solde disponible."
|
||||
"refundCreateError": {
|
||||
"errorTitle": "Erreur lors de la création du remboursement.",
|
||||
"messageRefundAmountExceedsAvailableBalance": "Le montant du remboursement dépasse le solde disponible.",
|
||||
"messageRefundAmountIsZero": "Le montant du remboursement doit être supérieur à 0.",
|
||||
"messageRefundQuantityExceedsAvailableBalance": "Le remboursement par quantité dépasse le nombre maximal d’articles remboursables.",
|
||||
"messageRefundQuantityIsZero": "Le remboursement par quantité doit être supérieur à 0."
|
||||
}
|
||||
},
|
||||
"transactionHistory": {
|
||||
|
||||
@@ -78,9 +78,12 @@
|
||||
"successTitle": "Successo",
|
||||
"maxAvailableItemsToRefund": "Numero massimo di articoli disponibili da rimborsare",
|
||||
"maxAvailableAmountToRefund": "Importo massimo disponibile per il rimborso",
|
||||
"refundExceedsTotalError": {
|
||||
"title": "Errore durante la creazione del rimborso.",
|
||||
"messageRefundAmountExceedsAvailableBalance": "LL'importo del rimborso supera il saldo disponibile."
|
||||
"refundCreateError": {
|
||||
"errorTitle": "Errore durante la creazione del rimborso.",
|
||||
"messageRefundAmountExceedsAvailableBalance": "LL'importo del rimborso supera il saldo disponibile.",
|
||||
"messageRefundAmountIsZero": "L'importo del rimborso deve essere superiore a 0.",
|
||||
"messageRefundQuantityExceedsAvailableBalance": "Il rimborso per quantità supera il numero massimo di articoli rimborsabili.",
|
||||
"messageRefundQuantityIsZero": "Il rimborso per quantità deve essere maggiore di 0."
|
||||
}
|
||||
},
|
||||
"transactionHistory": {
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<service id="VRPaymentPayment\Core\Api\Refund\Controller\RefundController" public="true">
|
||||
<argument type="service" id="VRPaymentPayment\Core\Api\Refund\Service\RefundService"/>
|
||||
<argument type="service" id="VRPaymentPayment\Core\Settings\Service\SettingsService"/>
|
||||
<argument type="service" id="VRPaymentPayment\Core\Api\Transaction\Service\TransactionService"/>
|
||||
<call method="setLogger">
|
||||
<argument type="service" id="monolog.logger.vrpayment_payment"/>
|
||||
</call>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
],
|
||||
"dynamic": [],
|
||||
"js": [
|
||||
"/bundles/vrpaymentpayment/administration/assets/v-r-payment-payment-VI5R5y0b.js"
|
||||
"/bundles/vrpaymentpayment/administration/assets/v-r-payment-payment-Cp2eQSV_.js"
|
||||
],
|
||||
"legacy": false,
|
||||
"preload": []
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"main.js": {
|
||||
"file": "assets/v-r-payment-payment-VI5R5y0b.js",
|
||||
"file": "assets/v-r-payment-payment-Cp2eQSV_.js",
|
||||
"name": "v-r-payment-payment",
|
||||
"src": "main.js",
|
||||
"isEntry": true,
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user