Skip to content

Commit 46a13fd

Browse files
PT-3173: Add Pay Now as Payment Method to JTL (#53)
1 parent f8d633b commit 46a13fd

31 files changed

+811
-288
lines changed

AdminRender.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,17 @@ public function renderPage(string $tabName, JTLSmarty $smarty, $request): string
5555

5656
$smarty->assign('pluginURL', $this->plugin->getPaths()->getShopURL());
5757

58+
// Add JS script to Settings page for webhooks_secret field
59+
if ($tabName === 'Settings') {
60+
$jsUrl = $this->plugin->getPaths()->getAdminURL() . 'js/mondu_admin.js?v=3.0.8';
61+
$postUrl = Shop::getURL() . '/' . \PFAD_ADMIN . 'plugin.php?kPlugin=' . $this->plugin->getID();
62+
63+
pq('body')->append('
64+
<input type="hidden" name="mondu_post_url" id="mondu_post_url" value="' . $postUrl . '">
65+
<script type="text/javascript" src="' . $jsUrl . '"></script>
66+
');
67+
}
68+
5869
if ($tabName === 'Info') {
5970
return $smarty
6071
->assign('postUrl', Shop::getURL() . '/' . \PFAD_ADMIN . 'plugin.php?kPlugin=' . $this->plugin->getID())
@@ -93,6 +104,7 @@ private function handleRegisterWebhooksRequest()
93104
$response,
94105
Response::HTTP_UNPROCESSABLE_ENTITY
95106
);
107+
exit;
96108
}
97109
}
98110

Bootstrap.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,19 @@ public function prepareFrontend(LinkInterface $link, JTLSmarty $smarty): bool
8080
$routes = new RoutesService;
8181
$routes->frontEndRoutes($this->getPlugin());
8282

83+
// Register CSS and JS files via Smarty
84+
$pluginUrl = $this->getPlugin()->getPaths()->getBaseURL();
85+
$version = $this->getPlugin()->getMeta()->getVersion();
86+
87+
// Add CSS to head
88+
Shop::Smarty()->assign('monduPluginUrl', $pluginUrl);
89+
Shop::Smarty()->assign('monduPluginVersion', $version);
90+
91+
// Register in page header
92+
\pq('head')->append(
93+
'<link rel="stylesheet" href="' . $pluginUrl . 'frontend/css/style.css?v=' . $version . '" type="text/css" media="all">'
94+
);
95+
8396
return true;
8497
}
8598

Migrations/Migration20221130105300.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ class Migration20221130105300 extends Migration implements IMigration
99
{
1010
public function up()
1111
{
12+
// Clear all hint texts for Mondu payment methods instead of setting them
1213
$this->execute("
1314
UPDATE `tzahlungsartsprache` zs
14-
SET zs.`cHinweisTextShop` = 'Hinweise zur Verarbeitung Ihrer personenbezogenen Daten durch die Mondu GmbH finden Sie [url=https://www.mondu.ai/de/datenschutzgrundverordnung-kaeufer/]hier[/url].'
15-
WHERE zs.`cGebuehrname` = 'Mondu' and zs.`cISOSprache` IN ('ger', 'eng');
15+
SET zs.`cHinweisTextShop` = '', zs.`cHinweisText` = ''
16+
WHERE zs.`cGebuehrname` = 'Mondu';
1617
");
1718
}
1819

@@ -21,3 +22,4 @@ public function down()
2122

2223
}
2324
}
25+

README.md

Lines changed: 99 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ JTL 5 Integration plugin for Mondu Payment.
1818
2. Expand **Installed plug-ins** menu item on the left side and choose Mondu Payment
1919
3. Configure the fields:
2020
* API Sandbox Mode: Select yes to point the plugin to the sandbox environment
21-
* Fill in API Secret
21+
* Fill in API Secret (will be done automatically)
2222
* Save configuration
2323
* Click register webhooks button
2424

@@ -35,87 +35,129 @@ JTL 5 Integration plugin for Mondu Payment.
3535
2. Add following payment methods:
3636

3737
```
38-
Rechnungskauf - jetzt kaufen, später bezahlen
39-
SEPA-Lastschrift - jetzt kaufen, später per Bankeinzug bezahlen
40-
Ratenzahlung - Bequem in Raten per Bankeinzug zahlen
38+
Ratenkauf (3, 6, 12 Monaten)
39+
SEPA-Lastschrift (30 Tage)
40+
Rechnungskauf (30 Tage)
41+
Echtzeitüberweisung
4142
```
4243

43-
**Note: In case Payment Method names are changed manually in the JTL Shop, please update accordingly in the JTL Wawi.**
44-
44+
**Note: Please add or modify the net terms accordingly your contractual agreement. <br></br> In case the Mondu Payment Method names are changed manually in the JTL Shop, please update them accordingly in JTL Wawi.**
4545

4646
### Create Invoice Workflow
4747

4848
1. Navigate to the Admin -> JTL-Workflows
4949
2. Select **Rechnungen** tab
5050
3. Select Rechnungen -> Erstellt -> Rechnungen_Erstellt workflow
5151
4. Configure condition with "One condition met" (Eine Bedingung erfüllt")
52-
1. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** Rechnungskauf - jetzt kaufen, später bezahlen
53-
2. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** SEPA-Lastschrift - jetzt kaufen, später per Bankeinzug bezahlen
54-
3. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** Ratenzahlung - Bequem in Raten per Bankeinzug zahlen
52+
### New installation:
53+
Just create the workflows with the name of the payment methods which are mentioned in step 2 (add payment methods):
54+
* Ratenkauf (3, 6, 12 Monaten)
55+
* SEPA-Lastschrift (30 Tage)
56+
* Rechnungskauf (30 Tage)
57+
* Echtzeitüberweisung
58+
59+
### Update from existing installation:
60+
Update the conditions so that the rules will match for old AND new naming e.g.:
61+
* Ratenkauf (3, 6, 12 Monaten)
62+
* SEPA-Lastschrift (30 Tage)
63+
* Rechnungskauf (30 Tage)
64+
* Echtzeitüberweisung <br/> OR create additional rules so that all new payment methods will be covered
65+
66+
1. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** Rechnungskauf
67+
2. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** SEPA-Lastschrift
68+
3. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** Rate
69+
4. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** Echtzeitüberweisung
5570
5. Configure action
5671
1. Web-Request POST:
57-
1. URL:
58-
```
59-
http://{SHOP-URL}/mondu-api?return=invoice-create&webhooks_secret={WEBHOOK SECRET}
60-
```
61-
2. Parameter:
62-
```
63-
gross_amount_cents={{ Vorgang.Auftrag.Positionen.BruttopreisGesamt2 }}&net_amount_cents={{ Vorgang.Auftrag.Positionen.NettopreisGesamt2 }}&invoice_id={{ Vorgang.Rechnungsnummer }}&order_id={{ Vorgang.Auftrag.ExterneAuftragsnummer }}
64-
```
65-
3. Header:
66-
```
67-
Content-Type: application/x-www-form-urlencoded
68-
```
69-
72+
1. URL:
73+
```
74+
http://{SHOP-URL}/mondu-api?return=invoice-create&webhooks_secret={WEBHOOK SECRET}
75+
```
76+
2. Parameter:
77+
```
78+
gross_amount_cents={{ Vorgang.Auftrag.Positionen.BruttopreisGesamt2 }}&net_amount_cents={{ Vorgang.Auftrag.Positionen.NettopreisGesamt2 }}&invoice_id={{ Vorgang.Rechnungsnummer }}&order_id={{ Vorgang.Auftrag.ExterneAuftragsnummer }}
79+
```
80+
3. Header:
81+
```
82+
Content-Type: application/x-www-form-urlencoded
83+
```
7084
### Cancel Invoice Workflow
7185
7286
1. Navigate to the Admin -> JTL-Workflows
7387
2. Select **Rechnungen** tab
7488
3. Select Rechnungen - Manuell, create new Event with "Ereignis anlegen" button
7589
4. Create new event
7690
4. Configure condition with "One condition met" (Eine Bedingung erfüllt")
77-
1. Auftrag\Zahlungsart\Name **Enthalt** Rechnungskauf - jetzt kaufen, später bezahlen
78-
2. Auftrag\Zahlungsart\Name **Enthalt** SEPA-Lastschrift - jetzt kaufen, später per Bankeinzug bezahlen
79-
3. Auftrag\Zahlungsart\Name **Enthalt** Ratenzahlung - Bequem in Raten per Bankeinzug zahlen
91+
### New installation:
92+
Just create the workflows with the name of the payment methods which are mentioned in step 2 (add payment methods):
93+
* Ratenkauf (3, 6, 12 Monaten)
94+
* SEPA-Lastschrift (30 Tage)
95+
* Rechnungskauf (30 Tage)
96+
* Echtzeitüberweisung
97+
98+
### Update from existing installation:
99+
Update the conditions so that the rules will match for old AND new naming e.g.:
100+
* Ratenkauf (3, 6, 12 Monaten)
101+
* SEPA-Lastschrift (30 Tage)
102+
* Rechnungskauf (30 Tage)
103+
* Echtzeitüberweisung <br/> OR create additional rules so that all new payment methods will be covered
104+
105+
1. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** Rechnungskauf
106+
2. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** SEPA-Lastschrift
107+
3. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** Rate
108+
4. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** Echtzeitüberweisung
80109
6. Configure action
81-
1. Web-Request POST:
82-
1. URL:
83-
```
84-
http://{SHOP-URL}/mondu-api?return=cancel-invoice&webhooks_secret={WEBHOOK SECRET}
85-
```
86-
2. Parameter:
87-
```
88-
invoice_number={{ Vorgang.Rechnungsnummer }}
89-
```
90-
3. Header:
91-
```
92-
Content-Type: application/x-www-form-urlencoded
93-
```
94-
110+
1. Web-Request POST:
111+
1. URL:
112+
```
113+
http://{SHOP-URL}/mondu-api?return=cancel-invoice&webhooks_secret={WEBHOOK SECRET}
114+
```
115+
2. Parameter:
116+
```
117+
invoice_number={{ Vorgang.Rechnungsnummer }}
118+
```
119+
3. Header:
120+
```
121+
Content-Type: application/x-www-form-urlencoded
122+
```
95123
### Cancel Order Workflow
96124
97125
1. Navigate to the Admin -> JTL-Workflows
98126
2. Select **Auftrage** tab
99127
3. Select Auftrag -> Storniert and create a workflow
100-
4. 4. Configure condition with "One condition met" (Eine Bedingung erfüllt")
101-
1. Zahlungen\Zahlungsart\Name **Enthalt** Rechnungskauf - jetzt kaufen, später bezahlen
102-
2. Zahlungen\Zahlungsart\Name **Enthalt** SEPA-Lastschrift - jetzt kaufen, später per Bankeinzug bezahlen
103-
3. Zahlungen\Zahlungsart\Name **Enthalt** Ratenzahlung - Bequem in Raten per Bankeinzug zahlen
128+
4. Configure condition with "One condition met" (Eine Bedingung erfüllt")
129+
### New installation:
130+
Just create the workflows with the name of the payment methods which are mentioned in step 2 (add payment methods):
131+
* Ratenkauf (3, 6, 12 Monaten)
132+
* SEPA-Lastschrift (30 Tage)
133+
* Rechnungskauf (30 Tage)
134+
* Echtzeitüberweisung
135+
136+
### Update from existing installation:
137+
Update the conditions so that the rules will match for old AND new naming e.g.:
138+
* Ratenkauf (3, 6, 12 Monaten)
139+
* SEPA-Lastschrift (30 Tage)
140+
* Rechnungskauf (30 Tage)
141+
* Echtzeitüberweisung <br/> OR create additional rules so that all new payment methods will be covered
142+
143+
1. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** Rechnungskauf
144+
2. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** SEPA-Lastschrift
145+
3. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** Rate
146+
4. Rechnungen\Auftrag\Zahlungsart\Name **Enthalt** Echtzeitüberweisung
104147
5. Configure action
105-
1. Web-Request POST:
106-
1. URL:
107-
```
108-
http://{SHOP-URL}/mondu-api?return=cancel-order&webhooks_secret={WEBHOOK SECRET}
109-
```
110-
2. Parameter:
111-
```
112-
order_number={{ Vorgang.Stammdaten.ExterneAuftragsnummer }}
113-
```
114-
3. Header:
115-
```
116-
Content-Type: application/x-www-form-urlencoded
117-
```
118-
148+
1. Web-Request POST:
149+
1. URL:
150+
```
151+
http://{SHOP-URL}/mondu-api?return=cancel-order&webhooks_secret={WEBHOOK SECRET}
152+
```
153+
2. Parameter:
154+
```
155+
order_number={{ Vorgang.Stammdaten.ExterneAuftragsnummer }}
156+
```
157+
3. Header:
158+
```
159+
Content-Type: application/x-www-form-urlencoded
160+
```
119161
![image](https://user-images.githubusercontent.com/97665980/228552408-cf45d35d-9c62-4248-9ee8-fbf5aa6a7aa9.png)
120162
121163
### Configure Invoice Template

0 commit comments

Comments
 (0)