Correct with a small tag of revision. Dealing with categorical variables using many binary variables is indeed the way to model it, but the names you used in the question can be confusing to people who are familiar with statistics. And I'm referring to this sentence:
I would set up my training data set for logistic regression (to
predict the probability of attrition), and each independent variable
needs to be continuous.
Linear regression (logistic regression included) is suitable for independent variables that are continuous (weight in kg, rain fall in cm, etc.,) and categorical (color of eyes, highest education qualification attained, being a male versus female) as well. By saying "regression can only be used when the independent variables are continuous" will make a lot of statisticians scratch their heads because they have already jumped to "using binary indicators for categorical variables" as the approach. Deep down, yes, a binary indicator is just a special case of a continuous variable, but this bit of details are often accepted as is, rather than spelled out as a requirement.
The way you model your three types of code is correct. And if there are 100s of promo codes, you surely can end up with 100s of columns. But notice that codes that no one ever claimed (e.g. whole column is 0) and codes that everyone claimed (e.g. whole column is 1) are not usable as an independent variable because independent variables cannot be a constant. So, if you have 1000s of codes, but people only used 30 of them, the rest do not need to be included.
The technical limit of independent variables is (sample size - 2) but we are talking about a very bad case here. The "2" are spared for the regression intercept and the "unexplained" (also called error or residual) as their "degrees of freedom." In linear regression we do want the degrees of freedom for the residuals to be reasonably big. (Yet, how big is big involves the art of sample calculation and power calculation, which is a whole other barrel of worms.) So, basically don't go to town. I would recommend passing your suggested model to your instructor or teaching assistant for a quick check before fitting it if your online module provides such service.
A small caveat is that please make sure there are some people who had claimed no code. If everyone used a code and each can only use one code, the sum across all code columns will be 1. In that case, a phenomenon called "perfect collinearity" will happen and one of your binary indicators will need to be removed, and you'd let the intercept to pick up the job of capturing that probability. The one that you removed is commonly known as the "reference group." However, if there are at least one case who didn't use a code, then you can fit all of the code columns into the model without causing errors that are bad enough to stop the process.