Stop using your debit card for purchases. Debit is for bank drafts only. If a fraudulent charge is issued, it might take your bank the full two-weeks grace period to restore your funds and you might miss an important payment.
Use credit cards for all payments always. If a fraudulent charge is issued on your credit card, it is the bank's money, not yours, that is stolen. They've got a fraud department to protect their assets and aid in prosecuting fraud. During that time your credited money for that fraudulent charge is restored.
I only ever use my debit card at the bank for cash withdrawals.
Edit: I have several cards that I pick through based on the purchase. Costco for fuel, a travel card for all restaurants and travel, and a cash back card for online shit. And I use cash for local businesses now because their cc fees are high and I appreciate having a local economy that isn't just national chains.