Skip to content

Storefront Portal

Customers interact with the Support Tickets module entirely through their Magento account area. Everything is scoped to the logged-in customer - anonymous visitors cannot create or view tickets, and no customer can access another customer’s tickets.

After installation, a My Support Tickets link appears in the customer account navigation. The page lists every ticket the customer has opened across the current store view, with status and last-updated metadata.

Customer ticket list

From the list, the customer can:

  • Click a ticket row to open the ticket view and see the full comment thread
  • Click Create Ticket to start a new ticket

The list is paginated and filtered to the current store view, so on multi-store installations customers do not see tickets they opened under a different store.

The create form asks the customer for a subject, a message, a category, a priority, and optionally a product.

Customer new ticket form

  • Subject - Required, plain text.
  • Message - Required. This becomes the first entry in the ticket’s comment thread.
  • Category - Optional. Billing, Shipping, Product Issue, General, or Other.
  • Priority - Optional. Defaults to Medium.
  • Related Product - Optional. The dropdown is populated from the customer’s actual order history; customers cannot submit a ticket against a product they have never purchased.

On submission, the module:

  1. Creates the ticket with status Open.
  2. Stores the message as the first comment in the thread.
  3. Sends a confirmation email to the customer.
  4. Sends an alert email to the configured admin notification address.

The ticket view page shows the full conversation thread plus the current status, priority, category, and related product (if any).

Customer ticket view

From this page the customer can:

  • Read every message in the thread chronologically
  • Add a reply using the reply form at the bottom of the thread
  • Mark the ticket Resolved when they are satisfied

Customers type a reply and submit. The module adds the comment to the thread, updates the status (In Progress moves to Pending; Resolved moves back to Open), and sends a notification email to the admin.

The customer can mark their own ticket Resolved from the ticket view page when they are satisfied with the outcome. A resolution email is sent to the customer confirming the close. Admins can also resolve tickets from the backend.

If a customer replies to a resolved ticket, its status automatically returns to Open and admin notifications are triggered again. The reply field is hidden on resolved tickets in some themes - customers reopen by using the reply flow on the ticket.

A Support button appears on every product page. The behaviour depends on whether the customer is logged in:

  • Logged in and has purchased the product: clicking the button opens the ticket create form with the product pre-selected.
  • Logged in but has not purchased the product: the button still opens the create form, but the product dropdown defaults to “no product” because only purchased products are eligible.
  • Not logged in: clicking the button redirects to the login page and then back to the create form afterward.

This gives customers a one-click path from a product they have a question about to a ticket scoped to that product, without asking them to re-enter SKU or product name.

  • Scoped to the current customer. Every frontend controller verifies that the session customer owns the requested ticket. Requests for another customer’s ticket return 404.
  • Scoped to the current store view. Customers on a multi-store installation only see tickets they opened under the current store.
  • Purchase-gated products. The product dropdown and server-side validator both check the customer’s order history, so tickets cannot be opened against products the customer has never bought.