Skip to content

Commit 5dd32bc

Browse files
docs: add Product Reviews app user guide (#65)
* docs(payment-methods): add Stripe, Kustom guides and move PayPal to payment-methods/ New pages: - Stripe Payment user guide (embedded/hosted modes, webhooks, saved cards, refunds) - Kustom Payment user guide (KCO/HPP modes, refunds, capture) Moved: - PayPal Payment from payment/ to payment-methods/ (consolidate all payment gateway docs) * docs(developer): add saved payment methods event and update payment profiles New pages: - Saved Payment Methods Event (onJ2CommerceGetSavedPaymentMethods) developer guide Updated pages: - Payment Profiles Table (added unified tab integration section) * docs: remove PayPal from payment/ (moved to payment-methods/) * docs: add Product Reviews app user guide Adds comprehensive user guide for the app_reviews add-on plugin. Covers installation, all settings sections (basic, display, style, submission, security, email, rich snippets), review moderation, per-product overrides, CSV import, analytics, and troubleshooting. --------- Co-authored-by: J2Commerce <olivier@j2commerce.com>
1 parent 7f0b966 commit 5dd32bc

12 files changed

Lines changed: 2250 additions & 329 deletions
Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
---
2+
title: "GDPR Compliance"
3+
sidebar_label: "GDPR Compliance"
4+
sidebar_position: 55
5+
description: "Give customers control over their personal data with checkout terms, activity logging, address deletion, and GDPR data request forms."
6+
---
7+
8+
# GDPR Compliance
9+
10+
The GDPR app brings data privacy compliance features to J2Commerce. It gives customers meaningful control over their personal data stored in your shop, and helps you meet obligations under GDPR and similar privacy regulations.
11+
12+
Key features include:
13+
14+
- Terms and conditions checkbox or link at checkout (billing or payment step)
15+
- Customer self-service buttons to delete saved addresses and order address records
16+
- Activity log that records every address edit and deletion
17+
- Email notifications to store admins and customers when data changes
18+
- Optional GDPR data request form on the My Profile page
19+
- IP address removal from carts and orders
20+
21+
## Requirements
22+
23+
- PHP 8.3+
24+
- Joomla! 6.x
25+
- J2Commerce 6.x
26+
27+
## Purchase and Download
28+
29+
The **GDPR** app is a separate add-on available from the [J2Commerce Extensions Store](https://www.j2commerce.com). It is not included with the core J2Commerce 6 component.
30+
31+
**Step 1:** Go to the [J2Commerce website](https://www.j2commerce.com/) -> **Apps**.
32+
33+
**Step 2:** Locate the **GDPR** app -> click **View Details** -> **Add to cart** -> **Checkout**.
34+
35+
**Step 3:** Go to **My Downloads** under your profile menu at the top right corner and search for the app. Click **Available Versions** -> **View Files** -> **Download**.
36+
37+
## Install the App
38+
39+
In the Joomla Administrator, go to **System** -> **Install** -> **Extensions**.
40+
41+
Upload the plugin ZIP file or use the **Install from URL** option.
42+
43+
## Enable the App
44+
45+
Once installed, you must enable the app. There are two ways to access it:
46+
47+
**Option A:** Click the **J2Commerce** icon at the top right corner -> **Apps**.
48+
49+
**Option B:** Go to the left sidebar -> **Components** -> **J2Commerce** -> **Apps**.
50+
51+
Find the **GDPR** app in the list and click **Enable**.
52+
53+
<!-- SCREENSHOT: J2Commerce Apps list with GDPR app highlighted -->
54+
55+
## Configuration
56+
57+
Open the GDPR app settings by clicking its name in the Apps list.
58+
59+
<!-- SCREENSHOT: GDPR app settings page showing all configuration fields -->
60+
61+
### Email Notifications
62+
63+
| Setting | Description | Default |
64+
|---------|-------------|---------|
65+
| **Notify store administrators about data changes** | Send an email to the admin addresses below whenever a customer edits or deletes address data | Yes |
66+
| **Store administrator emails** | Comma-separated list of admin email addresses to notify | *(empty)* |
67+
| **Notify the customer about data changes** | Send a confirmation email to the customer when they change their own data | No |
68+
69+
### Activity Logging
70+
71+
| Setting | Description | Default |
72+
|---------|-------------|---------|
73+
| **Log customer edit and delete activities** | Record every address edit and deletion in the GDPR activity log | No |
74+
75+
When enabled, all changes are stored in the activity log viewable from the J2Commerce Apps page.
76+
77+
### IP Address Removal
78+
79+
| Setting | Description | Default |
80+
|---------|-------------|---------|
81+
| **Remove customer IP address from cart and order** | Strip the IP address field from new cart and order records at the time they are created | No |
82+
83+
:::note
84+
IP removal only applies to **new** carts and orders created after the setting is enabled. Existing records are not retroactively modified.
85+
:::
86+
87+
### General Requirements
88+
89+
| Setting | Description | Default |
90+
|---------|-------------|---------|
91+
| **Enable GDPR tab in My Profile** | Show a GDPR data request form as a tab on the customer My Profile page | No |
92+
| **GDPR terms and conditions** | Show or hide terms and conditions at checkout | Yes |
93+
| **Show terms for registered customers** | Include terms display for logged-in customers | Yes |
94+
| **Show terms for guest customers** | Include terms display for guest checkout | Yes |
95+
| **Terms display position** | Choose whether terms appear at the **Billing** step or the **Payment** step | Payment |
96+
| **Terms display type** | Show terms as a **Link** (informational) or a **Checkbox** (required to proceed) | Link |
97+
| **Terms and conditions article** | Select the Joomla article that contains your privacy policy or GDPR terms | *(none)* |
98+
99+
### Terms Label Customisation
100+
101+
These three fields control the text displayed around the terms link at checkout. They support Joomla language key strings or plain text.
102+
103+
| Setting | Description | Default value |
104+
|---------|-------------|---------------|
105+
| **Terms prefix text** | Text before the clickable link | `I agree to` |
106+
| **Terms link label** | The clickable link text | `the privacy policy` |
107+
| **Terms suffix text** | Text after the clickable link | *(terms and conditions)* |
108+
| **Validation error message** | Message shown when the customer does not tick the checkbox | `Please accept our GDPR terms and conditions.` |
109+
110+
### Customer Buttons
111+
112+
| Setting | Description | Default |
113+
|---------|-------------|---------|
114+
| **Show delete all addresses button** | Display a button on the My Profile page allowing customers to delete all their saved addresses | Yes |
115+
116+
## Debug Mode
117+
118+
| Setting | Description | Default |
119+
|---------|-------------|---------|
120+
| **Debug Mode** | Write detailed log entries to `administrator/logs/app_gdpr.php` | No |
121+
122+
Enable Debug Mode temporarily when troubleshooting. Disable it in production to avoid filling your log directory.
123+
124+
---
125+
126+
## How It Works
127+
128+
### Terms and Conditions at Checkout
129+
130+
When **GDPR terms and conditions** is enabled, a notice (or required checkbox) appears at the checkout step you configured — Billing or Payment.
131+
132+
- **Link display type:** The terms text and link are shown as information only. The customer can click the link to read the full article in a modal window. Checkout is not blocked.
133+
- **Checkbox display type:** The customer must tick the checkbox to continue. If they try to proceed without ticking it, an inline error message is shown.
134+
135+
<!-- SCREENSHOT: Checkout payment step showing GDPR terms checkbox -->
136+
137+
### Customer Address Deletion
138+
139+
When the **Show delete all addresses button** setting is enabled, a red **Delete all my addresses** button appears on the My Profile page above the address list. When a customer clicks it:
140+
141+
1. All their saved addresses are deleted from the database.
142+
2. An activity log entry is written (if logging is enabled).
143+
3. Admin and customer notification emails are sent (if enabled).
144+
4. The customer is redirected back to My Profile with a confirmation message.
145+
146+
<!-- SCREENSHOT: My Profile page showing the delete addresses button -->
147+
148+
### GDPR Data Request Tab
149+
150+
When the **Enable GDPR tab in My Profile** setting is enabled, a **GDPR Request** tab appears on the My Profile page. Customers can type a free-text message and submit it to the store admin.
151+
152+
The request is saved to the activity log and — if admin email notifications are enabled — sends an email to the store administrator with the customer's message.
153+
154+
<!-- SCREENSHOT: My Profile page showing the GDPR Request tab with the message form -->
155+
156+
### Activity Log
157+
158+
When **Log customer edit and delete activities** is enabled, the plugin records entries in a private database table. Each entry stores:
159+
160+
- Date and time
161+
- Customer email
162+
- Whether it was an address change or order address removal
163+
- A short description of what changed
164+
165+
You can view the activity log from the J2Commerce Apps page by clicking the GDPR app name and navigating to the log view.
166+
167+
<!-- SCREENSHOT: GDPR activity log showing address and order log tabs -->
168+
169+
---
170+
171+
## Setting Up Terms and Conditions
172+
173+
### Step 1: Create a Privacy Policy Article
174+
175+
1. In the Joomla Administrator, go to **Content** -> **Articles** -> **New**.
176+
2. Write your GDPR privacy policy or terms and conditions.
177+
3. Save the article and note its ID (shown in the article list).
178+
179+
### Step 2: Link the Article to the Plugin
180+
181+
1. Go to **J2Commerce** -> **Apps** -> **GDPR** settings.
182+
2. In the **Terms and conditions article** field, click the **Select** button and choose your article.
183+
3. Set **Terms display type** to **Checkbox** if you require acceptance.
184+
4. Set **Terms display position** to where you want the terms to appear (**Billing** or **Payment**).
185+
5. Click **Save**.
186+
187+
### Step 3: Verify at Checkout
188+
189+
Visit your store's checkout as a test customer and confirm the terms text and link appear at the expected step.
190+
191+
---
192+
193+
## Troubleshooting
194+
195+
### Terms are not appearing at checkout
196+
197+
**Cause:** The **GDPR terms and conditions** setting may be disabled, or the position setting does not match the step you are checking.
198+
199+
**Solution:**
200+
201+
1. Open the GDPR app settings.
202+
2. Confirm **GDPR terms and conditions** is set to **Show**.
203+
3. Confirm **Terms display position** matches the step where you expect terms to appear.
204+
4. If using **Checkbox** display, confirm the correct step's validation is completing without errors from other plugins.
205+
206+
### The delete address button is not visible on My Profile
207+
208+
**Cause:** The **Show delete all addresses button** setting may be disabled, or the customer has no saved addresses.
209+
210+
**Solution:**
211+
212+
1. Confirm **Show delete all addresses button** is set to **Show** in the plugin settings.
213+
2. Log in as a test customer who has at least one saved address. The button only appears when addresses exist.
214+
215+
### Admin notification emails are not arriving
216+
217+
**Cause:** The admin email addresses may be missing or incorrectly formatted, or Joomla's mail settings may be misconfigured.
218+
219+
**Solution:**
220+
221+
1. Open the GDPR app settings and verify the **Store administrator emails** field contains valid comma-separated addresses with no spaces.
222+
2. Go to **System** -> **Global Configuration** -> **Server** tab and confirm the mail settings are working by using the **Send Test Mail** option.
223+
224+
### GDPR request form submissions are not saving
225+
226+
**Cause:** The form requires a CSRF token. If the session has expired or the page was cached, the token may be invalid.
227+
228+
**Solution:** Ask the customer to refresh the My Profile page and submit the form again. If the problem persists, check that Joomla page caching is not enabled for the My Profile view.
229+
230+
---
231+
232+
## Related Topics
233+
234+
- [Change Password](app_changepasswords.md)
235+
- [Gift Wrapping](app-giftwrapping.md)
236+
- [Validation Rules](app-validationrules.md)

0 commit comments

Comments
 (0)