Complete Implementation of a SaaS Subscription Module in PHP

Заказчик: AI | Опубликовано: 24.01.2026
Бюджет: 30 $

I need to complete a SaaS subscription module written in PHP. The module is already partially implemented, with a substantial amount of existing code, and any continuation of the work must strictly respect the existing language (PHP), architecture, and defined implementation rules. Even if a solution technically works, the project will not be considered complete if these rules are not followed. It is extremely important to carefully read and understand the current implementation before continuing. The goal is to maintain the existing architecture and reuse the components that are already in place. New components must not be created for functionalities that already exist, in order to avoid code duplication. Required functionalities: Subscription registration with support for different billing periods (this occurs via webhook when the payment is effectively confirmed); Subscription cancellation: The cancellation is scheduled and only takes effect at the end of the current billing cycle. The user must be able to revert the cancellation while it is still in the scheduled period; Upgrade and downgrade of plans: Upgrade must be executed immediately; Downgrade must be scheduled and only completed when the billing cycle of the higher-priced plan ends; Downgrade cancellation: It must be possible to cancel a scheduled downgrade as long as it has not yet been applied. Architectural requirements: The solution must be modular, with no dependency on a specific project or payment gateway, so it can be reused and allows easy gateway replacement; The code must follow good software design practices, programming against abstractions rather than concrete implementations; Services and helpers must receive all required details via arguments, not through global or hardcoded dependencies. Requirements: Strong PHP knowledge is mandatory; Knowledge of best practices (SOLID, DRY) is desirable but not mandatory — technical guidance will be provided when necessary; This project offers an opportunity for professional growth, especially through the practical application of software engineering best practices.