Given the widespread problems with stolen/hacked personal information, unwanted charges, phone scams, and supposedly "free" trials, here's how I pay for my online shopping.
CitiBank issues credit cards [see: www.citi.com] with an optional feature they call VIRTUAL ACCOUNT NUMBERS. Plus, their website allows cardholders to sign up for account "notifications" to be sent via e-mail or as text messages.
After you login to your CitiBank online account you can create one or more brand new and unique 16-digit credit card account numbers, each with a specified maximum dollar limit (for example $50) and expiration date (for example 2- or 8-months from now). Each Virtual number is good for use by just one merchant.
When an online merchant asks for your credit card information, you simply provide the newly-created Virtual number, its expiration date, and (if requested) the 3-digit CVV/CVC number. When the merchant charges your Virtual Account, CitiBank's online data (and any notifications via e-mail or text message) will show that activity within about 10-seconds. (Fast!)
In my experience, the best parts of all this are:
-- I know immediately when my account is charged, and for how much.
-- If a hacker steals my Virtual Number, my primary credit card information is not at risk.
-- By setting a maximum dollar limit, I can avoid the "surprise" of unwanted recurring charges.
-- I can close my Virtual Account at any time. (Meanwhile, my primary account remains open and ready to issue new Virtual numbers.)
This has been working for me for a couple of years.