jpriddle

/work / GoCart

GoCart

A2 Hosting, Inc

Lead Architect

Apr 2023 - Apr 2025 ·
Laravel PHP Stripe WHMCS Playwright GitHub Actions Deployer Sentry

GoCart is a custom Laravel 10 checkout application for A2 Hosting, serving as the order form at cart.a2hosting.com. It replaced portions of WHMCS’s built-in order flow with a modern, standalone storefront that communicates with WHMCS through a custom addon module (go_cart) for product data, pricing, authentication, domain operations, and order submission. The application handles shared, VPS, and dedicated hosting product orders with support for multiple currencies, configurable product options, domain registration and transfer, Stripe and PayPal payment processing, and affiliate tracking.

I was the lead architect for GoCart. I worked with a third-party agency (Objectbrewery) who built the initial WHMCS addon module and a proof-of-concept Laravel application. I then did significant work to get the application production-ready and operational, including infrastructure, deployment, backend architecture, monitoring, and ongoing maintenance. Frontend work was handled primarily by A2 Hosting’s marketing team.

My Role

Architecture

GoCart is a stateless Laravel 10 application with no application-specific database tables — all persistent data lives in WHMCS. The application fetches product information, submits orders, and authenticates users by calling endpoints on a custom WHMCS addon module (go_cart).

The core of the codebase is a PHP library that abstracts all WHMCS API interaction behind a clean interface: a fluent order builder for constructing orders with user data, products, promotions, and payment methods; a product fetcher with caching; an authenticator with proxy IP forwarding for fraud detection behind Cloudflare; and a URL builder for WHMCS endpoint routing.

The WHMCS addon module exposes a REST API covering product data and pricing, order validation and placement (Stripe, PayPal, bank transfer), token-based authentication, domain availability and TLD pricing, and locale data. A custom WHMCS report tracks all orders placed through GoCart.

The frontend uses Blade templates with Bootstrap 5, Stripe.js for payment processing, and integrations for analytics tracking, affiliate attribution (Post Affiliate Pro), and live chat.

View archive of the site →