Charging for Your Plugin

You can charge. But first, our role: we take 0% and never touch your money.

Why we do not collect payments. Holding and paying out other people's money is a regulated activity — a payment licence in China, an MSO licence in Hong Kong. We have neither and do not want the compliance burden.

So we stay out of the money flow and set our cut at 0%. Compare Steam 30%, App Store 30%.

1. What we provide

We provideDetail
ExposureListed in the plugin market index (visible in DSH Discover)
Price labelA "paid" label plus the price
Free testingFour-stage sandbox install test, verdict shown on your entry
Purchase linkPoints at your own payment page
0% cutYou keep 100%

2. What you do

#Step
1Pick a payment method (comparison below)
2State the price and purchase link in your README and homepage
3Deliver a licence or API key to paying users
4(Optional) verify the key inside your plugin

3. Payment methods

MethodBest forFeeNote
AfdianChinese developers~5%Most common in China, supports subscriptions
StripeInternational2.9% + $0.30Minimum viable charge around $1
GumroadDigital goods~10%Zero setup, good if you cannot configure anything
Lemon SqueezyInternational, tax handled~5% + $0.50Merchant of Record
CreemInternational, tax handled~4%Merchant of Record
Micro-payment warning. Stripe charges a fixed $0.30 per transaction, so a $0.10 order loses you money. Minimum viable is about $1; start at $2. Domestic channels have no fixed fee, so ¥1 works.

4. Three models, only one really works

Model A: voluntary payment

A tip link in the plugin, all features open.

ProCon
Zero engineeringWorks without paying; relies on goodwill

Model B: licence check

Paying users get a key; the plugin verifies it against your API.

ProCon
Basic controlThe code is on the user's machine — one edit bypasses it

Model C: server-side authorisation (the only one that holds)

Put the core value on your server. A paid API key gates the feature.

plugin = a UI shell
    ↓ calls
your API (needs a paid key)
    ↓
not paid = no key = genuinely unusable
ProCon
Cannot be bypassedYou must run a service
Realistic advice: if your plugin is purely local logic (formatting, shortcuts, UI tweaks), charging is very hard — the code can be copied. If its value is calling something that costs money (models, data, compute), Model C is the only way to actually get paid.

5. How the index labels paid plugins

The DSH market index format allows custom labels and sort keys, which we use for price:

"metadata": {
  "labels": ["paid", "installs-fine"],
  "sortKeys": { "price-usd": 9, "downloads": 413492 }
}
Limitation: the index format cannot carry a purchase URL. Put it in the plugin homepage field or the README.

6. An honest warning

FactImplication
Almost all DSH plugins are free and open sourceCharging needs a strong reason
The most-downloaded plugin pulls ~500 MB of dependenciesUsers resist heavy plugins
There is no app-store purchase flowPaid UX will be worse than App Store

So: build the free version well and accumulate users first. Charge once you know people will pay.

7. Related

Plugin market · Plugin development guide · Test results · Our own plugin