Gumroad Ping - separate endpoints per product?

If any of you uses Gumroad Licenses, or just Ping API itself - how to you handle "webhook" endpoints? Looks like Ping endpoint can only be configured for the whole account. This makes it impossible to use it like Stripe webhooks - so that for each product I could individually handle its purchases.

Unless I'm wrong, I see three possible solutions here:

  1. Don't use Gumroad, other than during the launch. I.e. sell "lifetime subscriptions" via Gumroad on the very early stage of each product to check the product-market fit, then disable Gumroad and use Stripe with proper subscriptions. Of course, don't launch more than one product at a time.
  2. Build a micro service that would accept all Gumroad Pings and distribute them to all my products.
  3. Register one account per product on Gumroad, which makes life harder as a seller, but makes life easier as a developer.

Am I the only one who finds this a badly designed API? What would you choose? Am I missing something?

It sends the product_id as part of the request that is sent to the ping endpoint so you know which product was purchased.

I think the second option is the only viable one; if you abstract out your code it means you can handle each product differently by sending it to different functions.

I don't think it's badly designed, just stripped back to keep it as simple as possible (at the cost of flexibility).

0 Likes
Serge Zaitsev Author

@nblackburn Thanks for the reply! I probably misphrased it, by "product" I mean not one pricing option or product variant, but rather completely unrelated products. Say, I'm a single human being, a humble maker. I got my profile on Gumroad and build 2 SaaSes, that I want to license via Gumroad. Those two SaaSes are unrelated, hosted separately and I would prefer to keep them separate as a developer. However, option 2 requires me to put a weird "API gateway" in front of two unrelated services, that might be even hosted in different data centers/clouds at some point.

0 Likes

@zsergo Thanks for the clarification, in that case I would look at another platform then.

0 Likes

Please sign in to leave a comment.