# Small Order Fee for Low-Value EDD Carts

> Adds a small processing fee to Easy Digital Downloads orders below an amount, covering payment costs on very cheap purchases.

- Type: PHP
- Runs: Run everywhere
- Category: [Easy Digital Downloads](https://wpide.com/library/category/edd/)
- Requires: Easy Digital Downloads
- Tags: edd, fees, checkout
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/edd-small-order-fee/

## Code

```php
$wpide_edd_small_fee = array(
    'below'  => 5,    // Orders under this subtotal...
    'amount' => 0.50, // ...pay this fee.
    'label'  => 'Processing fee',
);

$wpide_edd_small_fee_apply = function () use ( $wpide_edd_small_fee ) {
    if ( ! function_exists( 'EDD' ) || ! EDD()->fees ) {
        return;
    }

    EDD()->fees->remove_fee( 'wpide_small_order_fee' );
    $subtotal = (float) edd_get_cart_subtotal();

    if ( $subtotal > 0 && $subtotal < $wpide_edd_small_fee['below'] ) {
        EDD()->fees->add_fee( array( 'amount' => $wpide_edd_small_fee['amount'], 'label' => $wpide_edd_small_fee['label'], 'id' => 'wpide_small_order_fee' ) );
    }
};

add_action( 'edd_post_add_to_cart', $wpide_edd_small_fee_apply );
add_action( 'edd_post_remove_from_cart', $wpide_edd_small_fee_apply );
add_action( 'template_redirect', function () use ( $wpide_edd_small_fee_apply ) {
    if ( function_exists( 'edd_is_checkout' ) && edd_is_checkout() ) {
        $wpide_edd_small_fee_apply();
    }
} );
```

## Notes

Free carts never get the fee, which shows as its own line at checkout and on the receipt.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Small Order Fee for Low-Value EDD Carts" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
