Remove unused subscription creation functionality

What does this MR do and why?

Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/472721+

All purchases are now made through CustomersDot, and the purchase flows initiated in GitLab all redirect to that application. This was changed in https://gitlab.com/groups/gitlab-org/-/epics/9569+, which was completed 8 months ago.

Since then, there has been no legitimate path to access the GitlabSubscriptions::SubscriptionsController#create action

This MR:

  1. Removes the GitlabSubscriptions::SubscriptionsController#create action
  2. Removes all methods that were only being called by that action
  3. Removes the associated CreateService, which was only used by the controller

This endpoint was not available as an API endpoint, the only intended caller of it was our frontend, which was removed in https://gitlab.com/gitlab-org/gitlab/-/issues/479423+. So there shouldn't be any legitimate usage of this endpoint remaining. If we look on Kibana, we can only see requests where someone is spamming the endpoint (https://log.gprd.gitlab.net/app/r/s/PEL13).

Screenshots or screen recordings

This is a removal of an inaccessible endpoint, so there should be no application change. We can instead go through a regular purchase using the new flow and ensure that is still working.

Description master branch
View the billing page CleanShot_2025-07-08_at_15.08.16_2x CleanShot_2025-07-08_at_15.02.22_2x
Enter the purchase flow CleanShot_2025-07-08_at_15.08.22_2x CleanShot_2025-07-08_at_15.02.32_2x
Sync the subscription CleanShot_2025-07-08_at_15.09.42_2x CleanShot_2025-07-08_at_15.05.04_2x

How to set up and validate locally

This is a removal of an inaccessible feature, so a green pipeline should be enough. If you want, you can verify the new purchase flow still works as a regression test:

  1. Start the GDK and CustomersDot. Ensure you're running the GDK in SaaS mode.
  2. Create a new top level group
  3. Navigate to Settings > Billing
  4. Select a plan and enter the purchase flow
  5. Complete the purchase
  6. Sync the subscription using ZSim
  7. View the provisioned subscription on GitLab

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Josianne Hyson

Merge request reports

Loading