お金 is the object you pay, and クレジットカード is the means you pay. That's the reason を and で are used, respectively.
Incidentally, お金で払う can be valid when お金 is one of the options (e.g., monetary compensation vs. reparation in kind). お金 is a kind of the means in this case. As for クレジットカードを払う, 払う would be interpreted "to sweep off" ("to sweep the card off from one's hand" or like that).