My problem was solved recently. I contact the Azure Support and this is the final reply from Support Engineer:
"Here is a summary of this case, should you need it for future reference.
You opened the ticket, as you were unable to purchase a domain. Your issue consisted of 2 parts. Number one is the difference between your name and the name on the card, so we needed to manually validate it with the system that you are good to go. Secondly the lack of sufficient payment history. App Service Domain introduced a new policy to require sufficient payment history prior to purchasing a domain. Any subscriptions without sufficient payment history will not be allowed to purchase domains and will similarly receive error message (Unable to create\purchase App Service Domain. Following is the error message received: “Resource cannot be created because the subscription doesn't have a sufficient payment history.”). However, customers can be validated for payment history and those who are validated can be allowed to create domains
"
Actually, regarding first point, my Azure account name may not the same as the name on my card (which is normal, I think.) And for the second point, I do have a quite long purchase history with this Azure account (around one year for its SQL DBs). However, I switch my old card to a NEW card recently, I am not sure if this is the root cause for "doesn't have a sufficient payment history."
Anyway, if you face this kind of issue, you'd better contact the Azure support for help. Otherwise, there is nothing we can do as a normal Azure user, when you want to purchase a domain from them.
Hope it's helpful.