Creating an automation plugin and selling batches of runs

Hello!

A client has asked me to develop an automation plugin for use in Photoshop. I’ve done lots of automation work but this will be my first PS Plugin.

The actual plugin is not a problem – but I am not sure where to start with setting up a protected licensing system where they pay-per-run. I would like to let them purchase batches of, say, 100, or 1,000 runs of the plugin. (I may implement an option to run for free with watermarks or something like that.)

Does anyone have a boilerplate or a tutorial or a starting point to implement this?

The plugin would have a thing that says “You have x runs remaining, click here to purchase more…”

Thanks!

So, for a variety of historic reasons, the right forum for the Photoshop API is over here on the regular community forums.

They also have a dedicated email address for developer questions: psdservices@adobe.com

Really?
That link looks dead as a doornail:

Although not directly related, the sample “licensed-addon” configuration of add-ons for Adobe Express may be helpful.

It describes how to create a paid add-on using Keygen, Stripe, and Zapier.

1 Like

I assure you that is the correct place, and that they also check the email address.

I wrote to that email address and got this reply:

From: Archy Posada (Photoshop API)

Apr 16, 2024, 09:00 PDT

Hi Dan,

Thanks for reaching out! We took a look at your questions and it appears you have the wrong support channel. Our team provides support for the Photoshop API developer product and do not have any insights or expertise in the domain in which you are having trouble. This sounds like you are wanting to build an extensibility plugin for the Photoshop Desktop app which would be handled by a different team and is a compltely different product than ours. You can try our communities page where you can find forums for most of Adobe products.

https://community.adobe.com/

Best,
Archy

I am confused from your description. You say “plugin for use in Photoshop” and then you say “pay per run”. This is combination I would not expect to see together. How would it work from user perspective? Will they install plugin into their PS? Or will they visit website?

Oh no! I had this and a similar thread open and must have confused them. :woman_facepalming:t2:

Admittedly, when you said:

I assumed that you were talking about the Photoshop API (a REST API) because they have that kind of payment system in place. I must have completely skimmed over the word “plugin”. My mistake!

Many plugin developers implement licensing systems where require users to buy a license key, however, usually it’s for a period of time (example: 1 year) and not per run.

I haven’t seen a boilerplate describing what you’re talking about… it seems like you could use license keys to accomplish what you’re going for… maybe if they expire after a few minutes you couldn’t use them more than once?

What is confusing? The plugin have a button that will run an automated process. The client will pay for each run. They will purchase batches of runs. The plugin will check in with keygen / fastspring / whatever before each run to verify how many runs remain. If they are low, it will prompt them to purchase more.

Adobe marketplace does not offer any pay-per-use billing in their (Fastspring) payment options.
I am not aware of any credit/token system that has a boilerplate or anything for a photoshop environment. You would most likely have to custom code your own solution based on whatever payment processor you decided to use.

There is also a Gumroad-based count and license verification process in create-figma-plugin.

1 Like

You’ll most likely need to build a backend server with a database that your plugin communicates with.

The server will handle the authentication and payment integration, then return the user’s data (like the number of runs remaining) to the plugin which you can then save in local storage.

Then every time a run is made, the plugin will update local storage until the runs are exhausted then you can prompt the user to buy more.

Hope this helps.

1 Like