Differentiator

Payment gateway fees, done right

Shopify only reports fees for Shopify Payments. Third-party gateways like Stripe, PayPal, and Razorpay get estimated or missed entirely. NetNet lets you configure exact rates per gateway — including international surcharges and tax on the fee itself.

For DTC brands on third-party gateways, where an estimated fee quietly misstates true profit on every single order.

The gap this closes

Shopify reports payment fees for Shopify Payments and nothing else, because that is the only processor whose charge passes through Shopify. Every other gateway settles directly with you, and the fee never enters the data any analytics tool reads from Shopify.

For a store on Shopify Payments alone this rarely matters. For anyone running Stripe, PayPal, Razorpay, a local processor or cash on delivery — which is most stores outside a handful of markets — a meaningful slice of every order is unaccounted for unless it is configured somewhere.

At roughly 2 to 3% of revenue, that slice is often comparable to the store's entire net margin.

Three components, because a fee is three things

A percentage of the order, a flat charge per transaction, and in some markets a tax on the commission itself. Modelling only the percentage understates the cost on every small order and in every jurisdiction that taxes financial services.

The flat fee is the component that distorts most. Thirty cents is under half a percent of a seventy-dollar order and six percent of a five-dollar one, so a store selling low-value items pays a far higher effective rate than its headline percentage implies — and sees no sign of it until the fee is modelled properly.

Three-part fee structure

2.9%

Fee %

Percentage of order amount charged by the gateway

+ $0.30

Flat Fee

Fixed amount per transaction (e.g., $0.30 for Stripe)

+ optional tax

Tax on Fee %

Tax the processor charges on its own commission, in markets that tax it

Common gateway setups

GatewayFee %Flat FeeTax on FeeKeyword
Stripe 2.9% $0.30 0% stripe
PayPal 2.9% $0.30 0% paypal
Shopify Payments 2.0% $0 0% shopify
Razorpay 2.36% $0 0% razorpay

Plus a Gateway Test Tool that lets you enter a gateway name and order amount to verify which rate matches and see the exact fee calculation.

See Cost Management →

Matching a rate to an order

Each rate carries a keyword matched case-insensitively against the gateway name Shopify records on the order. A keyword of “stripe” matches “Stripe” and “stripe_v2”.

Keywords should be specific enough not to collide — “pay” would match PayPal and Razorpay both, and whichever rule is evaluated first would win on orders belonging to the other.

Because a non-matching keyword produces no error, only a quiet fallback, the test tool is the way to confirm the configuration does what you intended rather than assuming it from the fact that nothing complained.

What happens when nothing matches

Resolution runs in a fixed order: a configured rate first, then Shopify's reported transaction fee where the order went through Shopify Payments, then an estimate derived from your Shopify plan.

The estimate is deliberately coarse. Its job is not accuracy — it is to ensure no order is costed at zero, because a zero fee is indistinguishable from a genuinely free transaction and quietly overstates profit on precisely the orders nobody re-checks.

Configuring a real rate replaces the estimate for every order that matches it, including historical orders once they are reprocessed.

Cash on delivery is a separate problem

COD has no processing percentage. It has a collection fee, a much higher rate of failed delivery and return to origin, and a settlement delay measured in weeks.

Forcing it into a gateway percentage produces a number that is wrong in both directions — too high on the orders that deliver, far too low on the ones that come back. Gateway matching detects COD rather than pricing it, and the costs that genuinely attach to it belong in per-order fees, which can be scoped to COD orders alone.

Frequently asked questions

Why does Shopify not already report all my payment fees?

It reports what it charges. Shopify sees the fee on Shopify Payments orders because it collected it; a Stripe, PayPal or Razorpay charge is settled between you and that processor and never passes through Shopify's books.

What is tax on fee?

In markets that tax financial services, the processor charges tax on its own commission — GST on the gateway fee, for instance. It is money leaving the business that never appears in the advertised rate, so it is configured as its own component rather than folded into the percentage.

What happens when no configured rate matches an order?

It falls back to Shopify's reported transaction fee where one exists, and otherwise to an estimate based on your Shopify plan. The fee is never treated as zero, because a missing cost reads as profit.

How do I check a rate is actually being applied?

The gateway test tool takes a gateway name and an order amount and reports which rate matched, the base fee, the tax on it, the total, and whether cash on delivery was detected. A keyword that never matches fails silently otherwise.

Scale profitably.

Know what every order made you.

Install Free on Shopify