Lots of Closed Stores resulting in App Refunds

I consistently see this flow happening with my app…

One month, tons of installs, a bunch of stores called “My Store”, the payments go through. Then the next month, I get a bunch of refunds.

This month I had so many that I have a negative balance for my payout…

When digging into the refund it says payments have been refunded and the subscription is frozen.

When I chatted in about this issue (about a year ago) I was told that these were fraudulent stores? So I guess they install my app using a stolen credit card?

The annoying thing is that there is a processing fee that is deducted from each payment - and not refunded back to me. Shopify just takes this. Since this happens on a bunch of transactions it’s literally hundreds of dollars that I have to eat.

Another annoying thing is that these stores are actually using my app, they aren’t just installing it and not doing anything - they are using my compute and racking up my server bills.

So is there anything that can be done about this? Can’t Shopify verify these stores ahead of time? I’d rather delay billing for a month to make sure these aren’t fraudulent stores than have to pay all these processing fees.

At this point people are just using my app for free and Shopify is taking a cut. Has anyone run into this before? Is there a different billing strategy I should take? TIA

It’s annoying. You might just have to freeze stores with that name and prevent them from subscribing until you manually verify.

The tell is almost always a shop still on the default My Store name, no custom domain, no published theme. Gating the expensive parts of the app behind a check on the shop plan and whether the storefront is actually live gets you most of the way, a fraudulent install can still sign up but cannot burn your compute, and the cheap parts stay open so real merchants in setup are not blocked. On the fee side there does not seem to be a lever, the refund comes back minus the processing cut, so the only thing you genuinely control is your own cost per install.