Live data from Hacker News

Show HN: We built an open source, zero webhooks payment processor

github.com

221–230 of 230 posts

Re: Show HN: We built an open source, zero webhooks payment processor

#221

Earlier quoted context omitted.

imho this is a non-starter for mass market payments. let's say a customer has found your website and wants to buy something. they first have to install a third party wallet app, fund the wallet by buying coins thru an exchange, then use the app to make a payment to the merchant. it's the same UX problem crypto has tried (and failed) to work around, but with extra friction since it still depends on local currencies an…

Unless I'm missing something, this is a complete nonsense comment. Obviously you have to install the app, that's true for any app. But you only have to do it the first time around. Are you just saying that this payment app has the first time friction of downloading the app. That's the same for all apps. Are you just saying that friction exists, and is a barrier to entry?

I don't need to install an app to then purchase a subscription on pretty much any web app on the internet.

You want to make conversion as frictionless as possible. Making potential users install another app to make a purchase will lose you lots of potential customers and money.

Re: Show HN: We built an open source, zero webhooks payment processor

#222

It looks like this does make some things easier , but I'm not sure if it's actually better . From what I can tell, any time you use this to check something like the customer's subscription state (or anything else payment-related) - either from the front end or the back end - it's going to perform an API request to Flowglad's servers. If you care about responsiveness, I'm not sure that's a good idea. Of course, you ca…

Yeah this very true. We have a plan to allow you to store more of this data on the merchant's side and still benefit from the work we've done to refine our data model, and make the SDK super usable. Even if you do hit Stripe's APIs, you will need to maintain mappings of price ids to your plans, your plans to what features you grant for each, stripe customer ids to your customer ids, etc. That's the kind of grunt work…

> you will need to maintain mappings of price ids to your plans

I think you're overvaluing how much work this is. For years I just created the plans in Stripe and then manually copied them over into my database. If you're small and not changing your plans often, this is fine.

When eventually I got annoyed because I had a Stripe sandbox and my own staging environments I wanted to sync periodically, I banged out a 'sync' script in a couple hours. Could probably do it even less time with AIs these days.

> your plans to what features you grant for each

I don't understand how your service can even help with this. "Features" are necessarily part of my app, I have to define what the user is purchasing.

> stripe customer ids to your customer ids

It's one extra column.

Maybe you can call it 'grunt work' but how often are ya'all putting up new SaaS's?

Even if you can somehow keep your latency to a minimum, if you have even a second of down time, my app goes down with yours. I don't like that. Right now if Stripe goes down for a bit, nothing happens to my app. It keeps chugging along. Maybe some of my customers can't pay their monthly subscriptions for a bit but they're not locked out of the app.

This whole thing feels like a trap TBH. Feels like vendor lock-in. I am kind of locked into Stripe because it'd be a PITA to re-integrate with something else, but at least I own the data (sans credit card #s, which I don't want) and can move elsewhere if push comes to shove (well... OK, asking everyone to re-enter their card # would suck too).

Re: Show HN: We built an open source, zero webhooks payment processor

#224

Earlier quoted context omitted.

Yeah this very true. We have a plan to allow you to store more of this data on the merchant's side and still benefit from the work we've done to refine our data model, and make the SDK super usable. Even if you do hit Stripe's APIs, you will need to maintain mappings of price ids to your plans, your plans to what features you grant for each, stripe customer ids to your customer ids, etc. That's the kind of grunt work…

> you will need to maintain mappings of price ids to your plans I think you're overvaluing how much work this is. For years I just created the plans in Stripe and then manually copied them over into my database. If you're small and not changing your plans often, this is fine. When eventually I got annoyed because I had a Stripe sandbox and my own staging environments I wanted to sync periodically, I banged out a 'syn…

The "storing my source of truth externally" is super fair, and something we plan to address soon by giving you the ability to store this data on your side. So you'll still get all the benefits of our data model and full stack SDK, but aren't locked in to our hosting.

> I don't understand how your service can even help with this. "Features" are necessarily part of my app, I have to define what the user is purchasing.

We let you define features that you reference using slugs that you decide, and then group those features with products. So when someone subscribes to the product, they get the features you defined and associated with that product. So to see whether they can access a feature (boolean):

useBilling().checkFeatureAccess('fast_generations')

Or to see if they have enough credits to take a usage metered action:

useBilling().checkUsageBalance('fast_generations')

The problem we're trying to address is a bit broader than just storing price ids. You use your customers' payments state to derive billing state, and you use billing state to derive app behavior (what features they can access, what usage meters what balances and whether those are sufficient to continue consumption). You need this data on your backend and your frontend. So a substantial amount of most CRUD app code is just managing, transposing, and shuttling this kinda of data around between backend and frontend.

For fun I once mapped out a vanilla SaaS checkout flow and realized that it required a developer to coordinate 15 server-client boundary hops [0]. Each one is a liability that you have to maintain. And the flow as a whole is one of the most frustrating to test. If a developer came up with this flow on their own, we'd immediately say it smells. But it's the flow required by the current best-in-class vendors.

And it's not entirely the result of complexity intrinsic to the domain. Much of it is the result of decisions made over a decade ago that haven't really been revisited. At least in React-land, we've learned a lot in that time about how gracefully different patterns for state management age in a codebase. The last time the webhook-only pattern was the frontier of DX, Redux was the considered the best state management framework for React.

I haven't seen Redux in React code in a very long time, maybe 6 years. Not because Redux is terrible - in fact it represented the community's best understanding of state management at the time. But over time we realized the limitations of Redux as a framework, and engineered our way out of them with new frameworks. This process is natural and beautiful and part of what makes technology magical. In payments, this improvement loop is significantly rate limited. Because to build a truly better solution you have to commit to all of the uphill compliance and financial services work that people have very astutely pointed out in other comments.

[0] https://x.com/agreeahmed/status/1965258666892034257/photo/1

Re: Show HN: We built an open source, zero webhooks payment processor

#225

Earlier quoted context omitted.

My bank is an acquiring bank. They are also local so I far prefer having a direct face to face relationship with them. They use Clover’s platform to provide devices and APIs (you could in theory use another vendor’s devices if you really wanted to). In general, I don’t want someone else to be my payments provider since we do a lot of subscriptions, which would leave me completely locked in to a provider. Already been…

If you want to have a direct relationship with your acquiring bank then yours would is a pretty optimal flow. For folks who just want to get set up and get going quickly and don't mind working with a payfac to do so, we feel they should have more options, especially when it comes to DX.

I'd actually be an ideal customer of yours.

I want to have a consistent developer experience and a flexible platform regardless of which payment provider I'm using. I might also be offering a service to other people who want to "plug in" their own choice of payment providers.

Right now, I have to build all the subscription stuff myself.

Re: Show HN: We built an open source, zero webhooks payment processor

#226
post #221

Earlier quoted context omitted.

Unless I'm missing something, this is a complete nonsense comment. Obviously you have to install the app, that's true for any app. But you only have to do it the first time around. Are you just saying that this payment app has the first time friction of downloading the app. That's the same for all apps. Are you just saying that friction exists, and is a barrier to entry?

I don't need to install an app to then purchase a subscription on pretty much any web app on the internet. You want to make conversion as frictionless as possible. Making potential users install another app to make a purchase will lose you lots of potential customers and money.

All apps have to be installed the first time.

Re: Show HN: We built an open source, zero webhooks payment processor

#227

Stripe billing definitely leaves something to be desired and agree that a layer on top can improve the DX tremendously. What differentiates you from competitors like Lago and Autumn?

Gotta say we admire both teams, and have a lot of respect for anyone trying to make progress in this space. As far as differences: both are an additional service you need to bolt-on in addition to signing up for Stripe. We're aiming to consolidate onboarding as a single provider that both processes. A lot of work still to do on our side, but that's where we want to end up: that you get your dream devex without needin…

Thanks for the thoughtful reply. Best of luck!

Re: Show HN: We built an open source, zero webhooks payment processor

#228

Earlier quoted context omitted.

We eat all the webhook pain so you don’t have to. Much of our code is dealing with complex state transitions triggered webhooks. We just avail you the end result. Instead of having to implement all that yourself, you just read the latest billing and entitlement state for each of your customers from Flowglad: const billing = flowglad(user.id).getBilling() const hasFastGen = billing.checkFeatureAccess(‘fast_generations…

Oh I see, you're still running a server, the open source bit is just your SDK. I thought your entire system was open source and didn't understand how you could trigger workflows without webhooks. Makes more sense now, thanks! What are you using to manage your workflows on your backend?

We're using trigger.dev for processing workflows and we really love the product (and team)

Re: Show HN: We built an open source, zero webhooks payment processor

#229

Earlier quoted context omitted.

Oh I see, you're still running a server, the open source bit is just your SDK. I thought your entire system was open source and didn't understand how you could trigger workflows without webhooks. Makes more sense now, thanks! What are you using to manage your workflows on your backend?

We're using trigger.dev for processing workflows and we really love the product (and team)

Oh excellent! I'm the CEO of DBOS, and we're fans of trigger too. If you ever branch out from typescript or need to run on your own infra, we can help you out!

Re: Show HN: We built an open source, zero webhooks payment processor

#230
post #88

This is like a Stripe wrapper? Similar to Recharge Payments… the flow looks identical, well almost.

Currently it feels more like a Stripe wrapper because we haven't yet fully in-housed the onboarding experience. But you don't bring your Stripe API key, you setup a Stripe Connect platform account. Recharge Payments looks cool, also seems more focused on Shopify stores?

yes, Recharge is strictly Shopify, although the do allow some custom integrations.
Post reply on HN