Quick Answer
Shopify doesn't support payment-method-based surcharges natively. Magical Fees lets you add a clearly labeled credit card or payment method fee at checkout. For Shopify Plus merchants on the Plus plan, the fee applies automatically when customers pay by credit card, PayPal, or Shop Pay. For non-Plus merchants using Shopify Payments, the fee is presented for customer acceptance before checkout. Check your state and card network rules—Connecticut, Massachusetts, and Puerto Rico prohibit surcharges.
What You Need to Know
U.S. Credit Card Surcharge Rules
Most U.S. states allow merchants to pass credit card processing fees to customers as a surcharge, but a few prohibit it:
- Connecticut, Massachusetts, Puerto Rico — surcharges are prohibited
- All other states — generally permitted, subject to card network disclosure rules (Visa, Mastercard require clear disclosure)
Card networks (Visa, Mastercard) require that surcharges be clearly disclosed and typically capped at your cost of acceptance (often 2–4%). Check your payment processor's terms and your state's laws before enabling.
Shopify Plus vs Non-Plus
- Shopify Plus (Plus plan) — Full support. The fee applies automatically when customers pay by credit card, PayPal, or Shop Pay. No customer acceptance step required.
- Non-Plus (Shopify Payments) — The fee is shown in the Online Store before checkout. Customers must accept it. If they decline and then pay with a credit card, you receive a notification with the outstanding amount. Only credit card transactions through Shopify Payments are supported—PayPal and Shop Pay are Plus-only.
How to Set Up Credit Card Surcharges With Magical Fees
1. Install Magical Product Fees
Install Magical Product Fees on your Shopify store. The free trial gives you time to configure and test before committing.
2. Create a payment surcharge fee rule
In the app admin, click Create Fee (or View Fees to edit an existing fee).
- Choose the Function Method for the fee type.
- Under Payment Methods, click Add Payment Methods.
- Check Credit Card (and optionally PayPal and Shop Pay if you're on Shopify Plus).
- Set the percentage—typically 2–3% to match your cost of acceptance.
- Name the fee clearly (e.g. "Credit Card Processing Fee") so customers understand the charge.
- Click Save.
The fee will apply only when customers pay with the selected payment method(s).
3. Exclude states that prohibit surcharges
If you sell into Connecticut, Massachusetts, or Puerto Rico, add a location condition to exclude those regions so the surcharge does not apply there.
4. Test with a sample order
Place a test order using a credit card. Verify the surcharge appears as a separate line item at checkout and that the percentage is correct. For non-Plus stores, confirm the acceptance step appears before payment.
Limitations
- POS — Payment method conditions are not supported on POS. The Automatic Fees tile ignores payment method rules. Use the Manual Fees tile if you need to add a fee at POS, but it cannot be payment-method-specific.
- Draft orders (non-Plus) — Credit card payment method fees are not supported for draft orders with automatic apply. The Admin block can add a fee to drafts, but it will always apply regardless of payment method.
- Accelerated checkouts — Payment method conditions don't work with Shop Pay, Apple Pay, or Google Pay. Customers using those may bypass the surcharge. Disable express checkout buttons in app settings if you need consistent surcharge application.
Further Reading
- How to charge a credit card payment method fee with Magical Fees — Detailed FAQ with Plus vs non-Plus differences
- How to charge a fee for PayPal payment methods with Magical Fees — PayPal-specific setup
Always label deposits separately for compliance
Display bottle deposit fees as a clearly labeled, separate line item at checkout and on receipts. This meets regulatory transparency requirements, builds customer trust by showing exactly what they're paying, and makes it significantly easier to track deposits for reporting and audits. Use a clear label like "Bottle deposit" or "Container deposit (CRV)" so customers immediately understand the charge.