Shopify says remove Stripe billing or get booted from their app store
TLDR: Don't even have Stripe as an option for Shopify users or we'll boot you. Also backpay since Jan 2019.
"At Shopify, it is critical to maintain high trust and integrity within the Shopify App Store, so merchants have a reliable place to find solutions to grow their business.
During a routine investigation, Partner Governance identified your app [our app] as offering external billing for Shopify merchants and not using the Billing API for all payments.
[a couple of images of our cart]
As you are aware, all paid apps are required to use our Billing API, as noted in our Partner Program Agreement (Section 3.2 Payments, Point 5) unless express permission is granted by Shopify.
Payment information should not be obtained from the merchant directly and all charges should be processed through the billing API.
We require that you make the required changes as soon as possible to ensure all future payments are handled through our billing API. This would include redirecting any current merchants to select their plan and re-approve the new subscription through the Billing API and ensuring that all new merchants are billed through the API.
Shopify has also recently rolled out an annual subscription feature on the Billing API that makes the yearly subscription event easier on the API.
Additionally, we will require a report of the merchants who have been billed outside of the Billing API and retroactive revenue share payment for any/all qualifying 20% revenue dated January 2019 - Present.
Once the report has been reviewed, we will reach out with next steps on how to submit the transfer of funds to Shopify via wire transfer."
Pretty ironic too when you've got Shopify's CEO tweeting about the unfair 30% cut Apple wants: https://twitter.com/tobi/status/1362411841943711744
235 comments
[ 3.3 ms ] story [ 260 ms ] threadIf your business has grown you could evaluate to move off the shopify platform. And figure out best way to handle this fine/charge.
It is also a big piece of the verification process for the App Store. So maybe you added Stripe later and now they found it?
Did you have a written waiver that you could charge another way? That is required at least since ~2015.
And now your stepping on their transaction profits which are substantial, considering the amounts they process.
> Pretty ironic too when you've got Shopify's CEO tweeting about the unfair 30% cut Apple wants: https://twitter.com/tobi/status/1362411841943711744
That's pretty hypocritical
[Edit] Thanks for clueing me up.
Unfortunately, they turned out to be a bad investment.
It's pretty hypocrital but still... Sort of hypocrital
I agree with the case being different to Apple. And not sure why it is hypocritical. Not to mention Shopify holds no clear monopoly over e-commerce. Unless people want to argue the Shopify has a monopoly on Shopify App Store.
They're trying to enforce exclusive control over transactions made on their platform, which sounds a whole lot like Apple to me.
And also not unreasonable, IMO (since it's the business model their platform is built around), although their CEO trying to ride the outrage train for political points is pretty distasteful, especially when his own company is doing the same thing.
Trust No One.
If you are the party that always criticize something, nobody will believe that you are doing it. So, if you plan on doing something, you accuse our largest opositor of doing it, loudly and repeatedly.
So no, I dont' see hypocrisy here.
Its night and day. Trump's stewardship put these children in a lord of the flies scenario where they had to take care of each other and the leadership acting more like prison guards than caretakers.
I agree that Biden should close those things down but he cant just release the children into the wild. He got left with a timebomb and care has to be taken when dismantling it. Time will tell if he commits to transitioning these children to more appropriate living facilities and finding their parents (https://reason.com/2020/10/21/545-migrant-kids-snatched-by-t...) or relatives. He's been president less than 2 months. it will take time to see if he honors his commitments.
They seem to locate parents for 1/6 of them within a month where trump administration just thrown hands in the air that nothing can be done, when court ruled that the children should be reunited.
"I will not ban fracking." ...bans fracking
"$2,000 stimulus checks for everyone." ...$1,400 checks for some
"I have an extensive plan for COVID." ...doesn't have a COVID plan
"We need to close the immigration facilities used to separate parents and children." ...Trump admin closes one site. Biden admin reopens it
"I will eliminate President Trump’s... MPP on day one." ...hasn't ended the MPP
So far, at least on the hot ticket items, he's not running a great track record.
He's done a bunch of little stuff, but the big things promised during the campaign have systematically failed, and several the exact opposite direction.
So, sure, let's see if the career politician honors his commitments. I'm not holding my breath.
re: fracking: When asked soon after the comment, he clarified that he was referring to fracking on federal property. The original context of his comments that he would ban fracking were usually centered around the controversy of Trump having opened up lots of federal land to fracking. Fracking on federal land is a small fraction of total output.
re: 2k stimulus checks. Not sure what the actual intent was, but I immediately understood it to mean that they would send out $1400 checks because $2k was the initial amount that Dems wanted and GOP negotiated it down to $600. As for "everyone" well, do we really think -everyone- should get money? Very few people are in favor of high earners getting a check.
re: covid plan. Not sure where you got that. He was working on covid and spending more time pre-Jan 20 meeting with covid experts and task forces than the president at the time. Who was preoccupied with his tv and phone.
re: MPP. Looks like it is already underway. https://www.metro.us/biden-to-bring-in/ You have to unwind programs like this to avoid causing even more harm.
re: immigration facility reopened. Biden admin provided extensive explanation of why they needed to re-open it. Unaccompanied children arriving at the border. They need some stop gap at the moment.
It's true they existed before, but they were used in situations when an underage child arrived to the border. Or child was found with human traffickers. They weren't splitting children from parents for longer than 42h.
Trump was the one that made the cages full, by implementing the zero tolerance policy, separating children with parents and often deporting the parents making it difficult to reunite them.
Here's the problem with that:
- it was not demonstrated that other more productive forms of change were ineffective; in fact, history shows there has been tremendous progress in the absence of "racism to fight racism"
- it has not been shown that "racism v racism" has improved "that problem"
- it is yet to be shown the negative consequences of such a strategy, but history is full of examples of further suffering, not less
You call it "reasonable", and yet I find a complete lack of reason in its use. When challenged to provide reason, all responses I've witnessed reflect an attitude of, "I don't need to give you a reason/justify it".
To my mind, that is precisely absent of reason, so I challenge your assertion that it is in any way "reasonable".
I'm talking about hiring (etc.) quotas requiring the demographics of (e.g.) a workplace to be roughly similar to the demographics of the general population. Fuzzy quotas, so a two-person team doesn't have to be representative but a 20 000 person company shouldn't be almost exclusively white men in their 30s.
In basketball, if someone gets fouled while trying to make a shot, is it unfair that everyone has to stand back while the person fouled gets to shoot free throws just because they are wearing the same color uniform?
It would be great if we could leave race out of the equation when trying to right past wrongs. Unfortunately, when a past wrong was committed based solely on race, given limited resources, the remedy likely needs to be based on race as well.
Thank you for your very interesting example! I'll try to address it:
I believe this analogy to be erroneous. An appropriate example would fall somewhere along the lines of the following:
Imagine, in basketball, if a player fouls another player. Or, rather, a team fouls a great number of players on the opposing team. Nothing is done and the opposing team loses.
During a later game—years later, when none of the original players play for either team anymore—the two teams meet up. For an indefinite number of games between two teams, the fouled team is prescribed some number of free throws for all members of their team.
Would you consider that to be an appropriate facility to rectify the past injustice? Perhaps the fouled team's reputation was damaged because of past, persistent losses, so they were no longer able to compete effectively for years. But over time, referees notice the fouls and punish them as they occur, with traditional "fouled player gets free throws".
Should the fouls of the past team be enforced on the new, modern team in such the way described with indefinite, prescribed free throws?
Your example is obvious: yes, those individuals who are harmed are right to have an opportunity to regain advantage after they are fouled upon. But that is an equitable and obvious form of justice that has been—in one form or another—the default perspective throughout history.
What you're talking about, however, is not that. It's a far more complicated scenario the effects of which are far more difficult to quantify.
If one is to assert that harms done to people who no longer exist by people who no longer exist should be rectified by people related to those who were harmed, then I think it is also the responsibility of such a person to clearly outline and justify:
- the limits of who is eligible to receive such justice
- the degree to which harm has "trickled down" to the modern individual
- why others who have been victims of injustice are not eligible for justice
- a prescription for resolution that adequately repairs the harms
- from whom the justice should be paid
Now, this is exceedingly complex, and one could argue that it's not fair to remain complete inactive just because we cannot perfectly balance these variables. Some justice is better than no justice.
The problem is that innocent people are victimized by the decision to do something when it's not possible to quantify the impossible variables. (From which my basketball example stems.)
Now, the predominant argument seems to be something along the lines of, "we don't have to figure out these variables because everyone from the fouling team has benefited from the history."
I will counter this with an admittedly extremely offensive and unpalatable response. Before I do so, I want to be clear that my writing this does not mean that I advocate it. I mention it to show that it's not a simple matter, even if we reduce it to "those who benefit from the injustice."
If we assert that justice should be served by the people who benefited from past injustice, then it would be apt to identify that those whose ancestors faced injustice have—in some way—also benefited from the injustice. That is not to say that they are responsible, but rather to illustrate that such justification for choosing from whom the justice should come is not simple or clear.
I assert that if the principal is to ensure that those who have faced injustice—or have been indirectly harmed by injustice—are adequately "made right", then the onus is on those prescribing resolution to do it without creating further victims. If that is impossible (which it is), then it is their responsi...
But of course, life is not like discrete games all played by unrelated teams in a vacuum. Imagine if points were cumulative (you know, like wealth, social capital, culture) and those points were passed down after each game forever. Well then of course it would make sense for a much later team to have to stand while the team that was wronged gets a few free throws.
No one is saying we should take points away from the team that fouled and give them to the team that was wronged. Just give them a few free throws.
There is nothing about any plans I have seen that could qualify as "vengeance".
A free throw isn't vengeance.
I would encourage you to read up on the history of opposition to the civil rights movement in America and note how clearly many of your ideas echo that opposition.
The, "if we give them a chance, that might cause us the slightest tinge of possible harm, so we cannot give them that chance" has been the mantra since immediately after the emancipation proclamation and has been repeated ever since.
Racism to make up for past racism reenforces divisions and keeps racism aliveb
Things are obviously more complex than everybody just automatically not believing, and owning the discourse makes all the difference (although owning the press like a sibling comment says is overkill). But it happens again and again on politics, and rarely becomes a problem.
That's pretty accurate, though. 80% of people are too distracted or lack the intellectual rigor to put two and two together, or even care about doing so.
If they don't believe the inbound flow is worth it, then just selling direct to customers should make sense.
I’m just curious, by which metric?
[1] https://gs.statcounter.com/os-market-share/mobile/united-sta...
[2] https://www.nber.org/system/files/chapters/c10784/c10784.pdf: "60% is a favorite threshold for the courts"
In comparison to Apple, phone user : Shopify merchant :: app developer : this SaaS business. If I as a consumer think that Apple policies are too stringent, I can pay money to buy an Android phone. But the cost to me as a merchant of switching from Shopify to a custom site where I can choose who connects over API, once my business is underway and has built a brand identity, is absolutely prohibitive.
App approval processes are app approval processes, plain and simple. And if you make revenue share a precondition of using your APIs, you don't have open APIs.
We do offer a full GraphQL and REST API that can be accessed through private app keys (apps installed outside of the app store) or through the app store oauth tokens.
https://shopify.dev/docs/admin-api/rest/reference https://shopify.dev/docs/admin-api/graphql/reference https://shopify.dev/docs/admin-api/getting-started#authentic...
Since these apps are mostly marketing (upsells, abandoned cart reminders, upgrades etc), they drive sellers' revenue = they literally bring more profits for Shopify, or am I missing something?
In your particular case, if I understand correctly, Shopify wants you to bill customers for App store purchases through their platform. I don't think that's wrong - most marketplaces expect a cut of the revenue you make off their platform.
Another problem is we've got 4 products and only one is listed on the Shopify app store. If they log in via product A's listing then buy product B, it seems we must use Shopify's billing for that too.
> The Shopify integration is just used for discovery (via their app store), login, installation, email integration, and of course billing.
So Shopify is responsible for generating 100% of your revenue, correct? If you are opposed to a 20% cut of that on principle, how else do you expect them to make money?
Also it seems like a fair way to make money -- sell hosting services for cheap (so people who want to start a business can get going fast) and as they move into larger revenues they provide a portion back to the services that helped them get there.
They now absorb the commission into their pricing. Once you disable your standalone Stripe integration, it disappears and they only way to get it back is to cry to support.
OP clicked "I have read and agree" on the TOS when signing up and they are now complaining that the fees are unreasonable?!
Or maybe I don't understand how exactly you use Stripe in connection to Shopify. Can you tell us more about what your app does and how you use Stripe?
OP is not "paying for a platform" on Shopify -- they are not a customer of Shopify running a store. OP is a Shopify partner offering a service to Shopify's clients, through Shopify's own web site, and is expected to pay Shopify a cut of their profits in exchange for being featured this way. This is a standard practice for this type of partnership.
A cut of the profits would be really nice actually. A cut of revenue is a totally different beast.
https://www.shopify.com/partners/terms#section-c2-2
> Unless otherwise indicated in this Agreement or agreed to by Shopify in writing, under the App Plan, an App Developer is entitled to eighty percent (80%) of the total revenues from the sale of, subscription to or charges relating to the Public Application, with Shopify being entitled to the remaining twenty percent (20%).
https://www.shopify.com/legal/api-terms
> “Public Application” means an Application that accesses the Shopify API via an API Client and that is made available to Merchants either via a URL or through the Shopify App Store, and that is not a Custom Application.
> “Private Application” means an Application that accesses the Shopify API via Private API Credentials and is made available to a single Merchant.
With that being said, I don't see a problem in requiring their users to use a specific PSP that makes more business sense for them. But yes, like other have pointed out, it's way up there on the hypocrisy chart to do this while complaining about Apple. Apple's 30% cut is not unfair, neither is theirs.
If you're serious about your ecom and you're in it for the long run, it's worth it to pay for a custom solution. Control your code and your customers data.
- App Charges get added to clients bills, you're not getting paid right away (60+ days in some cases) vs getting paid instantly
- If someone doesn't pay their Shopify bill, tough shit you're not getting paid
- Got fraudulent accounts billing via Shopify? They can use your app then never pay anything - fun
- Want to do refunds? Too bad there's no way to do it via the API you have to manually email Shopify then they apply an App Credit (not even a refund) for the customer, then you email them back
- Uninstalling the Shopify App cancels billing, so you lose complete control of your normal downgrade process
- Payments come via PayPal bi monthly :(
There's plenty more, but you're basically losing all the upside of Stripe in exchange for the App Store promotion of your app.
[1] https://shopify.dev/docs/admin-api/rest/reference/orders/ref...
Also, I have no idea how that API works, because I, like grandparent, always email support when there is a refund request.
Why is this not a simple button in the partner admin page?
Why so many refund requests after a merchant has uninstalled your app you ask? Because Shopify inexplicable doesn't prorate app charges when a merchant uninstalls your app in the middle of their 30 day billing period. Even if a merchant uninstalls your app 1 day into their 30 day billing period then Shopify's billing system still charges them for the full 30 days and doesn't automatically refund them back the difference. So we're often inundated with refund requests from merchants. We then have to send an email to Shopify's billing team to have them refund the charge. It's absolutely nuts!
Hint: poor conversion rate because merchants need to enter their CC details, and low volume. 20% on Shopify is a steal IMO.
It's the walled path you and other merchants paved, but nothing is stopping you right now from making your own store on a personal site I think? If you need one let me know how I can help you.
so their company developed a plugin for shopifys walled garden app store - which has T&Cs
You have to argue your way through an army of outsourced supporters who are equipped with nothing but the public Shopify docs, until you get to a real employee who concludes it with a "sorry, but we can't help".
Some of my issues:
1. If you're not American, you will be forced to hand over 3% of your 80% revenue cut to PayPal. (Unless your MRR cut is >$30k)
2. Sometimes Shopify just kills features, which merchants and partners rely on. Sure, we get a notice that the API will change - but how does that help, when there is no alternative way to achieve the removed functionality? I was lucky enough to get through to someone who knew someone at the dev team, but the response was once again "sorry, you're not a priority".
How much of a revenue bonus would be enough incentive to install a specific shopify/plugin/minor-UI-tweaks addition to your store ?
3%? 10% 1%? Lets assume I can convince you we dont share your data or harm your business.
As of now, the app pays for the mortgage, car payment and then some so I can't complain too much I guess.
This is revshare of what the shopify partner bills the shopify store owner.
It's identical to apple charging developers a revshare of payments billed through the app store.
Not saying it's good here, just clarifying that it's not card processing fees, it's platform fees + billing fees.
- Seamless integration with the merchant billing system. I.e. free trial(s) are credit card up-front automatically, with zero friction for the user.
- "Free" marketing in the App Store.
- Access to paid advertising in the App Store.
Good partner support is just not one of them :)
That's wild considering they're headquarters is in Ottawa, Canada.
Offtopic: They are a large Rails shop and apparently are on a hiring binge this year.
It sounds like developers don't really own their app/code, own in the sense of you build, maintain and support it. Working in an organization with support outsourced makes me think they are getting large enough that bureaucracy is growing.
You'd think being an org with lots of engineering they would understand that API support for devs building things on their platform is kinda important and maybe shouldn't be lumped into general support. There are reasons why devs pick Stripe.
Shopify charge a monthly fee for their online ecommmerce stores, and they don't take a 20% cut for that.
If the world is ever dominated by aliens it won't be due to their superior firepower, but because some human accepted their EULA/ T&C without reading.