{"id":46102,"date":"2024-12-09T14:16:11","date_gmt":"2024-12-09T19:16:11","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=46102"},"modified":"2025-01-06T16:37:35","modified_gmt":"2025-01-06T21:37:35","slug":"selling-outside-of-the-mac-app-store","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/12\/09\/selling-outside-of-the-mac-app-store\/","title":{"rendered":"Selling Outside of the Mac App Store"},"content":{"rendered":"<p><a href=\"https:\/\/blog.eternalstorms.at\/2024\/12\/06\/selling-outside-of-the-mac-app-store-part-i-its-been-a-while\/\">Matthias Gansrigler<\/a>:<\/p>\n<blockquote cite=\"https:\/\/blog.eternalstorms.at\/2024\/12\/06\/selling-outside-of-the-mac-app-store-part-i-its-been-a-while\/\"><p>But once the Mac App Store hit, I transitioned all my apps to it pretty much right away. It&rsquo;s just so convenient: no license creation, no license verification (apart from receipt validation, but that has become <a href=\"https:\/\/developer.apple.com\/documentation\/storekit\/apptransaction\">more convenient<\/a> recently), easy updating, no handling of payments, invoices, refunds, and the potential of getting featured to lots and lots of users.<\/p><p>[&#8230;]<\/p><p>Besides all that, it was high time I set up a way to also sell my apps outside of the Mac App Store.\nWithout a licensing system for my apps, I&rsquo;ve been unable to participate in software-bundles and\/or collections. Lots of companies and corporations cannot purchase apps from the Mac App Store due to policies. Individuals who want to purchase my apps for work are unable to do so because of those same policies. I also am unable to give individual discounts to customers when need be.\nAnd while I am a strong proponent of the Mac App Store, I also believe in giving people a choice.<\/p><p>[&#8230;]<\/p><p>A &ldquo;Merchant of Record&rdquo; is a company that handles payments, invoicing, refunds, taxes, etc for indie software developers and other businesses.<\/p><p>There are actually quite a few to choose from: FastSpring, PayPal, Paddle, Stripe, and Gumroad, just to name a few.<\/p><\/blockquote>\n<p>He went with Paddle.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/11\/22\/the-app-store-era-must-end\/\">The App Store Era Must End<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/11\/05\/paddles-single-click-apple-pay\/\">Paddle&rsquo;s Single-Click Apple Pay<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/08\/15\/fastspring-store-unexpectedly-offline\/\">FastSpring Store Unexpectedly Offline<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/07\/26\/stripe-acquires-lemon-squeezy\/\">Stripe Acquires Lemon Squeezy<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/05\/22\/mac-app-rejected-for-web-site-link\/\">Mac App Rejected for Web Site Link<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/01\/17\/screenfloat-2\/\">ScreenFloat 2<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/12\/07\/fastspring-risk-screening\/\">FastSpring Risk Screening<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/08\/09\/paddle-billing\/\">Paddle Billing<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2017\/10\/27\/how-to-accept-payments-for-your-digital-products\/\">How to Accept Payments for Your Digital Products<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2017\/02\/10\/piezos-life-outside-the-mac-app-store\/\">Piezo&rsquo;s Life Outside the Mac App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2017\/01\/12\/100-days-without-the-app-store\/\">100 Days Without the App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2016\/02\/02\/make-money-outside-the-mac-app-store\/\">Make Money Outside the Mac App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2015\/12\/01\/sketch-leaving-the-mac-app-store\/\">Sketch Leaving the Mac App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2015\/10\/13\/more-international-taxes-on-software-sales\/\">More International Taxes on Software Sales<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2015\/01\/04\/the-benefits-of-selling-software-outside-the-mac-app-store\/\">The Benefits of Selling Software Outside the Mac App Store<\/a><\/li>\n<\/ul>\n\n<p id=\"selling-outside-of-the-mac-app-store-update-2024-12-19\">Update (2024-12-19): <a href=\"https:\/\/blog.eternalstorms.at\/2024\/12\/18\/selling-outside-of-the-mac-app-store-part-ii-lets-meddle-with-paddle\/\">Matthias Gansrigler<\/a>:<\/p>\n<blockquote cite=\"https:\/\/blog.eternalstorms.at\/2024\/12\/18\/selling-outside-of-the-mac-app-store-part-ii-lets-meddle-with-paddle\/\"><p>Paddle Billing is very obviously targeted at recurring payments (&ldquo;subscriptions&rdquo;) rather than one-time purchases, underlined by the fact that Paddle Classic did have direct support for creating and\/or handling license keys, whereas Paddle Billing does not.<\/p><p>[&#8230;]<\/p><p>The documentation in general is very good and detailed, but it isn&rsquo;t outright obvious how all the pieces fit and work together. It feels like each piece is described nicely on its own, but how it all fits into a whole flow of a user purchasing something is up for the developer to figure out.<\/p><p>[&#8230;]<\/p><p>If you want to keep track of activations, you need a way to do that (a database and an &ldquo;API&rdquo; to manage all the necessary info), and will have to have a way to reset individual or all activations of a license: if a customer gets a new Mac, they might want to move their registration over from the old one, for example.<\/p><p>When it comes to commercial licenses, I figured administrators wouldn&rsquo;t want employees to be able to mess with a copy&rsquo;s registration, so those require a &ldquo;key&rdquo; to be reset, which is individually created and sent alongside the license keys.<\/p><\/blockquote>\n\n<p id=\"selling-outside-of-the-mac-app-store-update-2024-12-20\">Update (2024-12-20): <a href=\"https:\/\/blog.eternalstorms.at\/2024\/12\/20\/selling-outside-of-the-mac-app-store-part-iii-updates-and-release-notes\/\">Matthias Gansrigler<\/a>:<\/p>\n<blockquote cite=\"https:\/\/blog.eternalstorms.at\/2024\/12\/20\/selling-outside-of-the-mac-app-store-part-iii-updates-and-release-notes\/\">\n<p>Having implemented the backend and licensing mechanism, there was still an important part missing: a way to download and install updates for the app.<\/p>\n<\/blockquote>\n\n<p id=\"selling-outside-of-the-mac-app-store-update-2025-01-06\">Update (2025-01-06): <a href=\"https:\/\/blog.eternalstorms.at\/2025\/01\/06\/screenfloat-v2-2-6-being-held-hostage-by-mac-app-stores-app-review\/\">Matthias Gansrigler<\/a> (<a href=\"https:\/\/mastodon.social\/@eternalstorms\/113780544469052581\">Mastodon<\/a>, <a href=\"https:\/\/x.com\/eternalstorms\/status\/1876189102175064139\">Twitter<\/a>):<\/p>\n<blockquote cite=\"https:\/\/blog.eternalstorms.at\/2025\/01\/06\/screenfloat-v2-2-6-being-held-hostage-by-mac-app-stores-app-review\/\">\n<p>I&rsquo;m sorry for the lack of updates to ScreenFloat recently, but it&rsquo;s being held hostage by the Mac App Store&rsquo;s App Review team with unreasonable demands again.\nI hate this. I love the Mac App Store, but stuff like this is just stupid.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Matthias Gansrigler: But once the Mac App Store hit, I transitioned all my apps to it pretty much right away. It&rsquo;s just so convenient: no license creation, no license verification (apart from receipt validation, but that has become more convenient recently), easy updating, no handling of payments, invoices, refunds, and the potential of getting featured [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2024-12-09T19:16:14Z","apple_news_api_id":"c350bc2c-4c97-4e8d-812a-b535eb0ba9f8","apple_news_api_modified_at":"2025-01-06T21:37:28Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAg==","apple_news_api_share_url":"https:\/\/apple.news\/Aw1C8LEyXTo2BKrU16wup-A","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[130,101,30,39,2598,1597,169,2534,50],"class_list":["post-46102","post","type-post","status-publish","format-standard","hentry","category-technology","tag-rejection","tag-business","tag-mac","tag-macappstore","tag-macos-15-sequoia","tag-paddle","tag-payments","tag-screenfloat","tag-webapi"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/46102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=46102"}],"version-history":[{"count":4,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/46102\/revisions"}],"predecessor-version":[{"id":46328,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/46102\/revisions\/46328"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=46102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=46102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=46102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}