Order Processing Fee
Last Updated: June 26, 2026
Table of Contents
Overview
UltraCart provides several ways to add a per-order processing or handling fee. The right approach depends on where you need the fee to appear in the checkout summary and which payment methods your store accepts.
| Approach | Where fee appears | Keeps Shipping as "Free!" | Separate summary line | Complexity |
|---|---|---|---|---|
| A: Payment method surcharge | Surcharge line in summary | Yes | Yes | Low |
| B: Handling charge on shipping method | Shipping/Handling line | No | No | Low |
| C: Auto-add fee item | Cart items (subtotal) | Yes | No | Medium |
| D: Custom StoreFront template | Anywhere in summary | Yes | Yes | High |
Option A: Payment Method Surcharge (Recommended)
UltraCart's Credit Card Settings include a native surcharge field that adds a dedicated line to the checkout summary. This is the most direct way to display a labeled fee between the Subtotal and Shipping lines without affecting the Shipping/Handling display.
The surcharge line label defaults to "Surcharge" and can be renamed (for example, to "Order Processing Fee") via StoreFront Languages.
Configuration
Step 1: Set the surcharge amount
-
Go to Configuration > Checkout > Payments.
-
Open the Credit and Debit Card payment method settings.
-
In the Credit Card Settings panel, locate the Surcharge transaction fee column.
-
Enter the fixed fee amount (for example,
1.99) in the row for each card type you accept (Visa, Mastercard, Discover, Amex, etc.). -
Alternatively, use the Surcharge transaction percentage column if you prefer a percentage-based fee.
-
Set Charge During Checkout to Yes (Recommended) so the surcharge appears on the checkout page in real time.
-
Save.
Important: The surcharge is configured per card type. If you accept multiple card brands, you must enter the fee in each row individually. The fee will only apply to payment methods where a surcharge value is set — it does not apply to PayPal, Amazon Pay, or other non-card payment methods unless those methods have their own surcharge configuration.
Step 2: Rename the label (optional)
The surcharge line displays as "Surcharge" by default. To change the label:
-
Go to StoreFronts > [Your StoreFront] > Languages.
-
Search for
surcharge. -
Two keys will appear:
-
checkout.specialoffersconfirmation.surchargeField -
order.format.text.surchargeField
-
-
Update the value for
order.format.text.surchargeFieldto your preferred label (for example,Order Processing Fee). -
Save.
Note: The StoreFront Languages editor is only available on accounts with a StoreFront. If you are using UltraCart's legacy hosted checkout without a StoreFront, the label cannot be changed through the UI.
Option B: Handling Charge on a Shipping Method
A flat handling charge added to a shipping method increases the cost of that method before the customer sees the total. The combined amount displays on the Shipping/Handling line.
Trade-off: If your shipping method currently displays "Free!", adding a $1.99 handling charge changes that line to "$1.99". The free shipping label is replaced. This does not produce a separate summary line.
Configuration
-
Go to Configuration > Checkout > Shipping > Shipping Methods.
-
Open the shipping method to modify.
-
Click the Handling Charge tab.
-
Under Markup, enter the fee amount in the Flat field.
-
Save.
Note: Handling charges are configured per shipping method. If you have multiple active methods, each must be updated individually.
Option C: Auto-Add a Fee Item
A $1.99 "Order Processing Fee" item can be created and added automatically to every cart. The fee appears as a line in the cart items list and contributes to the order subtotal. It does not appear as a separate line in the checkout summary block.
Trade-off: The fee is visible to the customer but is indistinguishable from a product line. The Shipping/Handling line is not affected.
Configuration
-
Create the fee item in the Item Editor with the desired price and display name.
-
Set the item weight to 0 and mark it as non-shippable if no physical fulfillment is involved.
-
Auto-add the item using a promotion rule that applies to all orders, or through the Checkout API if using a custom integration.
Important: Confirm the tax treatment of the fee item with your tax advisor before enabling, and configure the item's taxable status accordingly in the Item Editor.
Option D: Custom StoreFront Template
If none of the above options produce the exact layout required, a custom StoreFront template can insert a fee line at any position in the checkout summary block. This approach requires StoreFront template customization and familiarity with UltraCart's templating system, or assistance from a UltraCart Pro Services developer.
For most merchants, Option A achieves the same visual result without custom development.
Choosing the Right Approach
-
If you want a separate, labeled fee line in the checkout summary and you process credit/debit card payments, use Option A. This is the recommended approach for the majority of use cases.
-
If your store accepts a significant volume of non-card payments (PayPal, etc.) and you need the fee applied universally, contact UltraCart support to confirm whether those payment methods support a surcharge configuration before relying solely on Option A.
-
If you only need the customer to pay the fee and are comfortable with it appearing on the Shipping/Handling line, use Option B.
-
If you can accept the fee appearing in the cart item list rather than the summary, use Option C.
-
If you require a custom summary line layout that Option A cannot provide, use Option D.
Troubleshooting
The surcharge line is not appearing at checkout
Symptoms: Customer completes checkout without seeing a surcharge line in the summary.
Root Cause: The surcharge value was entered for one card type but the customer used a different card type, or Charge During Checkout is set to No.
Diagnosis: Confirm the card type the customer used. Check the Credit Card Settings panel and verify the surcharge is set on that card type's row. Confirm Charge During Checkout is set to Yes.
Solution: Enter the surcharge amount in every card type row. Set Charge During Checkout to Yes.
The surcharge label still shows "Surcharge" after updating StoreFront Languages
Symptoms: The checkout displays "Surcharge" instead of the custom label.
Root Cause: The wrong language key was updated, or the StoreFront cache has not cleared.
Diagnosis: In StoreFront Languages, confirm the value for order.format.text.surchargeField was saved (not just checkout.specialoffersconfirmation.surchargeField).
Solution: Update and save order.format.text.surchargeField. If the label still does not update, clear the StoreFront cache or contact support.
The handling charge is not appearing at checkout
Symptoms: Customer sees the original shipping cost with no markup applied.
Root Cause: The handling charge was saved on one shipping method but the order used a different method.
Diagnosis: Confirm which shipping method the customer's order selected. Navigate to that method's Handling Charge tab and verify the flat fee is set.
Solution: Add the handling charge to each active shipping method individually.
The fee item is showing in the subtotal but I want it below the subtotal
This is a display limitation of the standard checkout. Cart items always contribute to the subtotal line. Use Option A for a standalone summary line without custom development, or Option D for full layout control.
Related Documentation
-
Shipping Method Configuration - Handling Charge tab details
-
Payments - Credit card and payment method configuration
-
Item Editor - Creating and configuring items
-
Coupons - Promotion and auto-add rules
-
UltraCart REST Checkout API - Programmatic cart manipulation