User Management
Access user management at Admin Panel → Administration → Users or visit/admin/users.
User Accounts
Create, edit, and manage customer accounts
Role Assignment
Assign roles to grant admin permissions
Account Details
View services, invoices, credits, and tickets
Search & Filter
Find users by name, email, role, or service status
User List
The user list displays all registered users with:- First Name & Last Name - User’s full name
- Email - Primary email address (searchable)
- Role - Assigned role (if any)
- Credits - Account credit balances (if user has credits)
- Created At - Registration date
app/Admin/Resources/UserResource.php:86
Searching Users
Global Search
Global Search
Use the admin panel global search to find users by:
- First name
- Last name
- Email address
Table Filters
Table Filters
Available filters:
- Role - Filter by assigned role
- Email Verified - Filter users who have verified their email
- Has Active Services - Show only users with active services
Creating Users
Enter User Information
Fill in the required fields:
- First Name (required)
- Last Name (required)
- Email (required, must be unique)
- Password (required)
Assign Role (Optional)
Select a role from the dropdown to grant admin permissionsLeave blank for regular customer accounts
Passwords are automatically hashed using Laravel’s secure password hashing. They cannot be retrieved in plain text.
app/Admin/Resources/UserResource.php:51
Editing Users
Click any user in the list to access the edit interface.Basic Information
Name and Email
Name and Email
- Edit first name, last name, and email address
- Email must remain unique across all users
- Changes are audited (tracked in audit log)
Password Reset
Password Reset
- Enter a new password to change user’s password
- Field is optional (leave blank to keep existing password)
- New password is hashed on save
Role Assignment
Role Assignment
- Change user’s role via dropdown
- Searchable and preloaded for quick selection
- Remove role to revoke admin access
Security Settings
Two-Factor Authentication
Two-Factor Authentication
Field:
tfa_secretToggle to disable a user’s 2FA if they’ve lost access to their device.- Only visible if user has 2FA enabled
- Toggle off to remove 2FA requirement
- User must re-enable 2FA from their account
Email Verification
Email Verification
Field:
email_verified_atManually verify a user’s email address.- Toggle on to mark email as verified
- Sets verification timestamp automatically
- Useful for manually created accounts
app/Admin/Resources/UserResource.php:64
User Sub-Navigation
When editing a user, access additional pages via tabs:Services
View all services owned by the user
Invoices
Access user’s invoice history
Credits
View and manage account credits
Tickets
See all support tickets from user
Billing Agreements
Manage recurring payment agreements
Properties
Custom user properties and metadata
app/Admin/Resources/UserResource.php:145
Role Management
Access role management at Admin Panel → Configuration → Roles or visit/admin/roles.
Understanding Roles
Roles are collections of permissions that control access to admin panel features.Paymenter includes a default “Admin” role (ID: 1) with full permissions. This role cannot be edited or deleted.
Role List
Displays all roles with:- Name - Role display name
- Permissions - Count of assigned permissions (or “All” if wildcard permission)
app/Admin/Resources/RoleResource.php:54
Creating Roles
Name the Role
Enter a descriptive name (e.g., “Support Manager”, “Billing Staff”)
- Must be unique
- Maximum 255 characters
Select Permissions
Choose permissions from the checkbox list:
- Organized by feature area
- Use bulk toggle to enable/disable all in a category
- Use search to find specific permissions
app/Admin/Resources/RoleResource.php:30
Permission System
Permission Structure
Permissions follow a hierarchical naming convention:admin.users.view- View user listadmin.users.create- Create new usersadmin.users.update- Edit existing usersadmin.users.delete- Delete usersadmin.settings.view- View settingsadmin.settings.update- Modify settings
Core Permissions
User Management
User Management
admin.users.view- Access user listadmin.users.create- Create usersadmin.users.update- Edit usersadmin.users.delete- Delete users
Role Management
Role Management
admin.roles.view- Access role listadmin.roles.create- Create rolesadmin.roles.update- Edit rolesadmin.roles.delete- Delete roles
Settings
Settings
admin.settings.view- View settings pageadmin.settings.update- Modify system settings
Dashboard Widgets
Dashboard Widgets
admin.widgets.overview- View overview statisticsadmin.widgets.revenue- View revenue chartadmin.widgets.active_users- View active usersadmin.widgets.support- View support tickets widget
Services & Products
Services & Products
admin.products.view- View productsadmin.products.create- Create productsadmin.products.update- Edit productsadmin.products.delete- Delete productsadmin.services.view- View servicesadmin.services.update- Manage services
Invoices & Transactions
Invoices & Transactions
admin.invoices.view- View invoicesadmin.invoices.create- Create invoicesadmin.invoices.update- Edit invoicesadmin.transactions.view- View transactions
Support Tickets
Support Tickets
admin.tickets.view- View ticketsadmin.tickets.create- Create ticketsadmin.tickets.update- Respond to ticketsadmin.tickets.delete- Delete tickets
Configuration
Configuration
admin.categories.view- View product categoriesadmin.categories.create- Create categoriesadmin.categories.update- Edit categoriesadmin.categories.delete- Delete categoriesadmin.tax-rates.view- View tax ratesadmin.tax-rates.create- Create tax ratesadmin.tax-rates.update- Edit tax ratesadmin.tax-rates.delete- Delete tax rates
Wildcard Permission
When a role has the* permission, permission checks always return true.
Source: app/Admin/Resources/RoleResource.php:60
Extension Permissions
Extensions can register additional permissions:app/Admin/Resources/RoleResource.php:32
Permission Checking
Permissions are checked using thehasPermission() method:
canAccess()- Control page accesscanView()- Control list viewcanCreate()- Control record creationcanEdit()- Control record editingcanDelete()- Control record deletion
User Relationships
The Role model has a many-to-many relationship with Users:app/Models/Role.php:31
Auditing
All user and role changes are automatically audited:- Creates audit log entries
- Tracks who made changes and when
- Records old and new values
- View audit logs at Admin → Audits
The
Role and User models implement the Auditable interface, enabling automatic change tracking.app/Models/Role.php:8app/Models/User.php(standard Paymenter user model)
Best Practices
Principle of Least Privilege
Grant only the permissions necessary for each role’s responsibilities
Role Naming
Use clear, descriptive role names (e.g., “Billing Manager” not “Role 1”)
Regular Audits
Periodically review role permissions and user assignments
Testing
Test role permissions in a development environment before applying to production
Common Role Examples
Support Agent
Support Agent
Permissions for customer support staff:
admin.tickets.viewadmin.tickets.updateadmin.users.viewadmin.services.viewadmin.widgets.support
Billing Manager
Billing Manager
Permissions for billing and finance staff:
admin.invoices.viewadmin.invoices.createadmin.invoices.updateadmin.transactions.viewadmin.users.viewadmin.widgets.revenueadmin.widgets.overview
Product Manager
Product Manager
Permissions for managing products and services:
admin.products.viewadmin.products.createadmin.products.updateadmin.categories.viewadmin.categories.createadmin.categories.updateadmin.services.viewadmin.services.update