Monetize Chrome extensions and save weeks of work

Sample code

// your-extension/background.js
const extpay = ExtPay('your-extension')

extpay.getUser().then(user => {
    if (user.paid) {
        // ...
    } else {

Developers have now made over $300,000 with ExtensionPay!

Sign up Read the docs↗

Stars on Github

How it works

Read the docs or Sign Up

Basic Example Extension

See the sample extension on Github ↗


Lower fees and flat monthly rates are available for high-volume accounts — contact us.

Sign Up to get started

Recent articles


An extension is saying it can "read and change your data on". What is this? Is this safe?

Hi! 👋 ExtensionPay is a service that helps browser extension creators take payments in their extensions. While we don't have any control over what extension creators do with your data in their extensions, we guarantee that ExtensionPay itself doesn't read, record, or modify any of the websites you visit.

The only time ExtensionPay collects your data is when you pay for an extension. We collect your email address and store your payment information securely in Stripe↗, a payment service used by Twitter, LinkedIn, and thousands of other sites. We don't sell your information or share it with anyone.

What happens if a paid user uninstalls and reinstalls an extension?
Can paid users have an extension on multiple browsers?

Developers can configure what happens for users wanting to activate their paid access after reinstalling or using the extension among multiple browsers. If reactivations are authorized, users can enter the email address they used to pay and will get a login link sent to their inbox. When they click the link in their email, the extension's paid access is reactivated.

Can people hack ExtensionPay to bypass the payment system?

Short answer: Nope! Long answer: Since the source code for browser extensions is open it's impossible to make a completely secure payment verification system — users can always just remove the code that checks for payments. As Mozilla recommends↗, it's better to focus on making a good product for the majority of users that won't hack your extension. That said, ExtensionPay was designed to be as secure as possible with the maximum difficulty in bypassing to ward off hackers. 😈 No one can change their paid status on our servers except by paying.

Am I locked in to using ExtensionPay?

Nope! You're completely free to export your data.

What shows up on people's credit statements?

You control what shows up on people's credit statements through Stripe.

What about taxes?

You are responsible for paying taxes for any sales your extension generates. Stripe will give you some tax data that will make this easier.

How do I reset my extension's paid or free trial status in development? How do I get my extension out of test mode?

While in development you can uninstall and reinstall your extension to reset to an unpaid state or reset the user's free trial status.

Your extension will automatically come out of test mode when published to the Chrome/Firefox/etc stores.

What about user privacy?

Users are anonymous until they pay and we don't store any credit card information on our servers — Stripe takes care of that. We run Google Analytics only on the site, not in extensions themselves. The only other identifying information we store is a user's email. We never sell or otherwise give away any data.

Who makes ExtensionPay?

Hi, I'm Glen Chiacchieri! 👋 I made ExtensionPay after Google shut down Chrome Web Store payments, leaving thousands of developers stranded. I use ExtensionPay in my own extensions and thought I'd let others do the same to make extension development even more accessible. 🙌