Static class member is not same thing as static variable or function. For class members it means, there is just one of the static member in existence, and it exists independent of any objects of the class. Static class member is basically same as normal exported global variable or function. So it must also exist and be initialized, even if no constructor of that class is ever executed.
If you want it to be a "normal" static variable, then do not put it inside a class definition, and do not put it into a .h file at all (because it will be duplicated in every .cpp which includes it).
If you want to have static class member, then in addition to declaring it in the defintion, you need to define the static member itself somewhere, in exactly one .cpp file, with line like this outside any method:
const char* ClassName::ACH_DEBIT = "ach_debit";
If you define it in many .cpp files (for example because you put that into an include file and include it to many .cpp files), linker will complain about multiple definitions. If you define it nowhere, you get the error in the question.