2.9% is a pretty standard credit card processing fee. You'll find that it's the same price if you tried to do your own payment processing via stripe or paypal.