This guide helps you troubleshoot purchasing errors on GitLab.com.
Many subscription and consumption purchases can be made through GitLab.com. At the Payment step, a customer may encounter a generic error like the following:
An error occurred in the purchase step. If the problem persists please contact support@gitlab.com.
Our most reported known issues are:
We use an Issue to document any issues that might be a result of the workarounds described in this workflow.
Attempt to locate the specific Sentry error event logged for the user making the purchase. Please note that sometimes the ticket submitter might not be the user making the purchase.
Attempt to locate the logs in Kibana for the user making the purchase. Please note that sometimes the ticket submitter might not be the user making the purchase.
NOTE: If you are unable to locate any error messages, check that the known issues do not apply to the user before requesting them to re-attempt the purchase.
"last_name":["can't be blank"]
Request the user to add a second name in their GitLab account profile as a temporary workaround. Here are the steps:
Update profile settings
(Don't forget this)Transaction declined.generic_decline - Your card was declined
Our current integration with Zuora does not support authorizing payment methods which require 3DS. With the volume of users requiring this being low, the issue has not yet been prioritized.
For now, the first option is to request the user to try another card. You can also reach out to Sales to offer the user an alternative payment method.
"email"=>["has already been taken"]
This happens when:
The error is reported because CustomersDot does not find a Customers Portal account that is linked to the GitLab account making the purchase. CustomersDot then tries to create an account using the email of the GitLab account making the purchase. This fails when a CustomersDot account with the email already exists.
See the example scenarios for a more detailed explanation.
Let's say a Customer X has an existing Customers Portal account with their email customerX@example.com either because:
Customer X will get this error if they log in or create an account in GitLab with their email customerX@example.com and attempt to purchase or renew a paid plan or additional storage, or try to purchase more units of compute from GitLab.
The error is reported because they did not link their Customers Portal account to a GitLab account before making the purchase.
🔧 To fix the problem, Customer X needs to log in to their Customers Portal account and link their GitLab account.
Let's say a Customer Y purchases a subscription through Sales. Their signed Order Form has the Sold To contact's email as customerY@example.com.
Once the Quote is processed, Zuora's callout service
triggers an account creation on Customers Portal. This service uses the Sold To
contact's details to create the account.
For various reasons, the created Customers Portal account is not linked to a GitLab account.
For example:
Customer Y will get this error if they try to log in or create an account in GitLab with their email customerY@example.com then attempt to purchase or renew a paid plan or additional storage, or try to purchase more units of compute from GitLab.
The error is reported because they did not link their Customers Portal account to a GitLab account before making the purchase.
🔧 To fix the problem, Customer Y needs to log in to their Customers Portal account and link their GitLab account.
Let's say a Customer Z has an existing Customers Portal account (customerZ@example.com) either from an existing purchase or by creating a new account.
And this Customers Portal account has been linked to a GitLab account (check the GitLab Groups
tab) whose email is gitlabZ@example.com.
This could be someone else's GitLab account or Customer Z might have multiple GitLab accounts.
Customer Z will get this error if they try to log in or create an account in GitLab with their email customerZ@example.com then attempt to purchase or renew a paid plan or additional storage, or try to purchase more units of compute from GitLab.
The error is reported because CustomersDot does not find a Customers Portal account that is linked to the GitLab account making the purchase yet there is a CustomersDot account whose email is the same as the email in the GitLab account making the purchase.
In this case, CustomersDot does not find an account linked to the GitLab account whose email is customerZ@example.com.
CustomersDot then tries to create an account using the email customerZ@example.com but this fails because a CustomersDot account with this email already exists.
🔧 To fix the problem, Customer Z needs to log in to their Customers Portal account and either:
TODO: We need to verify that Customer Z can purchase using the GitLab account with the email gitlabZ@example.com because the system will locate the linked Customers Portal account.
Your card has insufficient funds
Make sure that this is the last event associated with the user. Sometimes customers retry after adding funds, so we must check all their events before we are sure that is the cause.
Send a reply asking the customer to check the credit card:
After checking our system we found the following error message associated with your user (
USERNAME_HERE
):Your card has insufficient funds.
Can you please make sure that you have enough funds in your credit card?
The Contract effective date should not be later than the term end date of the basic subscription
This error indicates that a purchase is attempting to update an expired subscription that is currently linked to the namespace. The problem has been fixed, please report if you encounter it again.
:warning: Please exercise caution and understand the risks of unlinking a subscription before continuing with the following steps.
Free
planFree
and has no active subscriptions, you can proceed to unlink the expired subscription from the namespace:
Zuora Subscriptions
pageName
of the subscription with an End Date
that has passed. Most subscription names have the format A-S000xxxxImpersonate
tab. You will see the landing page of the Customers Portal with the heading Manage Purchases
Start Date
is 1 year ago. These products will have expired.Product Name
listed in the table, then it is NOT linked. Otherwise, this title displays the Name of the group (not the namespace) that it is linked to.Send
Subscription Unlinked
message. If this fails, add the label Console Escalation::Customers
and comment with the ZD ticket link and/or ask for assistance in #support_licensing-subscription.If you could not find the user's specific error in Sentry, then consider asking for a browser console output. Some purchasing error details are visible in this output.
Please use your best judgement to try to limit the number of purchase retries you ask the user to attempt so that their card does not get locked or blocked.
If a customer contacts Support informing that their attempt to use their credit card for verification in order to use units of compute on shared runners (please note that when a customer verifies using their credit card, it will not be charged but instead will be verified with a one-dollar authorisation transaction). Then you should do the following:
The Error message displayed in the top section of an issue is not always the same error displayed for a specific user. Always check the event details related to the user.
To find the error specifically related to a user on Sentry, try to check for a logged error in at least one of these Sentry projects:
To locate a Sentry event, first get the ID
or Username
of the user making the purchase from GitLab using any of the following:
/chatops run user find <username or email>
gitlabcom
Sentry projectIf you have the username
of the user, find the error message for the user in Sentry's gitlabcom
project:
user:"username:example"
(replace example
with the actual username from GitLab)SubscriptionsController
EVENTS
. The list of events are automatically filtered with your search termgitlabcom-clientside
Sentry projectIf you have the ID
of the user, find the error message for the user in Sentry's gitlabcom-clientside
project:
user:"id:userID"
(replace userID
with the actual ID from GitLab)buy_minutes
or buy_storage
that looks like Error?(/assets/webpack/commons-pages.subscriptions.buy_minutes-pages.subscriptions.buy_storage.49207fe4.chunk.js)
EVENTS
. The list of events are automatically filtered with your search termcustomersgitlabcom
Sentry projectIf the purchase was also attempted from CustomersDot portal, use the workflow to find the error message in Customers Portal Sentry project.