Commit graph

27 commits

Author SHA1 Message Date
copilot-swe-agent[bot]
439e57b333
Fix billing provisioning and admin defaults
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1e47877f-c80e-4514-bdff-2bd022c84f13

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 22:44:53 +00:00
copilot-swe-agent[bot]
0fcdda2ee3
fix: PayPal webhook path, billing table migrations, diagnostics layout, error logging
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/5bfe8731-c37a-4f7b-a5c7-fbc0393ae134

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 16:44:45 +00:00
copilot-swe-agent[bot]
41a812fdd6
feat: add PayPal sandbox/live credentials, webhook endpoint, and admin diagnostics
- config.inc.php: new sandbox/live credential structure with paypal_mode, separate
  sandbox/live client_id, client_secret, webhook_id, and webhook_path
- config.example.php: updated to match new structure
- config_loader.php: adds defaults and backward compat mapping from old
  $paypal_sandbox/$paypal_client_id variables; adds gsp_paypal_* helper functions
- PayPalGateway.php: fromConfig() uses gsp_paypal_* helpers with fallback
- cart.php: uses gsp_paypal_get_client_id()/gsp_paypal_is_sandbox() helpers
- webhook.php: updated to use gsp_paypal_* helpers for credentials/API base
- paypal/webhook.php: new full-featured webhook receiver with signature
  verification, idempotency log, event processing, provisioning trigger
- admin_config.php: expanded to separate sandbox/live fields, computed webhook URL,
  diagnostics panel showing credential status and recent webhook events
- module.php: bumped to v3.3/db_version 3, adds billing_paypal_webhook_events table

Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/f974e469-8562-41df-ba37-bc340f5a154c

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 16:14:47 +00:00
copilot-swe-agent[bot]
38e14546d7
fix(billing): use INFORMATION_SCHEMA pre-checks in db_version 2 migrations
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/bcf11207-51e4-4c2d-8254-9eddf4f451e0

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 00:06:55 +00:00
copilot-swe-agent[bot]
a0be9ede66
add inline comment explaining service_id=0 sentinel value
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/862c51a7-d835-4eb2-bd0e-2e2a5459036b

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 20:14:02 +00:00
copilot-swe-agent[bot]
e010085347
fix billing+migration: correct migration indexes, table name, column names, webhook URL
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/862c51a7-d835-4eb2-bd0e-2e2a5459036b

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 20:13:08 +00:00
copilot-swe-agent[bot]
5c463d381f
fix: FAQ PHP warnings, billing nav, XML fatal-skip, Steam Workshop user menu
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/86bb1e0e-2bbd-439b-88cd-7a624ad24761

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 00:12:39 +00:00
copilot-swe-agent[bot]
ffece9ba57
fix: address code review nits - table name escaping, prefix fallback, gamemanager default, admin.php site vars
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/35af6b7c-2518-4105-b4d2-ba1f3fe754cd

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-02 19:43:35 +00:00
copilot-swe-agent[bot]
d8972fee16
fix: consolidate module schemas to db_version=1, fix billing admin undefined vars and prefix
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/35af6b7c-2518-4105-b4d2-ba1f3fe754cd

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-02 19:41:22 +00:00
copilot-swe-agent[bot]
3219ed335e
fix: billing DB safety, remove mapping table, sync services from game config
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/0b960e6d-bdf7-4b5b-8114-6c63e6b11a8d

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-02 15:22:13 +00:00
copilot-swe-agent[bot]
7f6fe9a39a
fix: address code review - prepared stmt, first-radio auto-select, remove unused var, clarify comment
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/4a9c8aab-3782-44a8-a5e4-01b50a813cc0

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-02 14:52:30 +00:00
copilot-swe-agent[bot]
b3d677035b
feat: update wording (GitHub Stable/Unstable) + billing matrix redesign
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/4a9c8aab-3782-44a8-a5e4-01b50a813cc0

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-02 14:50:25 +00:00
copilot-swe-agent[bot]
3066d9c75c
fix(billing): address code review issues - ALTER TABLE syntax, null period handling, type detection
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/e8da2cb7-dbf1-4296-b25d-766f8e099581

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-02 12:23:23 +00:00
copilot-swe-agent[bot]
4a1b5bc725
fix(billing): address code review feedback
- Use DECIMAL instead of FLOAT for monetary columns in ALTER TABLE
- Simplify bind_param type string from concatenated to single literal
- Validate payment_status against ENUM values before CSS class injection
- Add provisioning failure logging when panel bootstrap fails
- Add comment explaining total_due/amount legacy fallback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-02 12:19:32 +00:00
copilot-swe-agent[bot]
986a4e53b4
refactor(billing): clean architecture with payment gateway abstraction
- Add PaymentGatewayInterface contract for all payment providers
- Add PayPalGateway (reads credentials from config, not hardcoded)
- Add ManualGateway for admin-triggered payments
- Add StripeGateway stub for future implementation
- Add GatewayFactory for gateway instantiation by name
- Add BillingRepository: parameterized-SQL data layer
- Add BillingService: pricing, invoice creation, payment processing
- Add gsp_billing_transactions table (DB version 2) for audit trail
- Add new columns to gsp_billing_invoices (home_id, rate_type, players, period_start/end, subtotal, total_due, payment_status)
- Add gsp_billing_service_remote_servers mapping table
- Move PayPal credentials from api files into config.inc.php
- Fix double session_start() bug in capture_order.php
- Replace raw SQL with prepared statements throughout
- Refactor admin_invoices.php to use billing_invoices + BillingRepository
- Refactor admin_payments.php to read from gsp_billing_transactions
- Update admin.php with links to Transaction Log and Manage Invoices

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-02 12:17:36 +00:00
copilot-swe-agent[bot]
2d2fc496d5
fix: remove created_by_admin from billing INSERT and schema
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/2ce89b8b-fa50-40b9-aa38-4ebbc44a9770

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-01 13:52:38 +00:00
copilot-swe-agent[bot]
8a6823186a
fix: null handling in realEscapeSingle, init $map, add billing upgrade for created_by_admin
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/77c3c429-fc35-4f66-9d78-900be575b81a

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-01 13:16:04 +00:00
copilot-swe-agent[bot]
7551567354
fix: cast mod_name to string in preg_match; add created_by_admin to billing_orders schema
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/15c9652a-a4a6-4f02-bcc2-15f8fed708b1

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-01 13:04:31 +00:00
dc24d43921 site changes by codex 2025-11-20 08:10:31 -05:00
0e91ec4b9a added invoiceing 2025-10-28 05:22:01 -04:00
copilot-swe-agent[bot]
a5b0fbab64 Recreate billing module.php to reflect external module status
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2025-10-23 23:06:03 +00:00
copilot-swe-agent[bot]
d860daf6e5 Fix syntax error and update default status value in module.php
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2025-10-23 22:39:15 +00:00
2fc04bcfac From the panel site 2025-09-17 21:14:45 -04:00
b6b398f5bf No changes 2025-09-11 13:29:15 -04:00
8680a02b13 Moved the Agents into their own repo. Kept the agent.pl just for reference 2025-09-11 13:27:32 -04:00
copilot-swe-agent[bot]
389bced05b Consolidate module SQL queries into mysql_template.sql and set all modules to version 1.0
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2025-09-09 17:43:53 +00:00
auto-sync
4f717c9ee8 force sync from /var/www/html/panel: 2025-09-08T20:36:30Z 2025-09-08 16:36:30 -04:00