| ▲ | baobabKoodaa 8 hours ago |
| For those who are wondering, like me, what is this? Is this a new alternative to Stripe? The answer is: no. This is an added layer of abstraction on top of Stripe. |
|
| ▲ | codegeek 8 hours ago | parent | next [-] |
| Pretty much my 1st question when I see a new billing product. Thank you for answering that. I don't understand why products like these hide that fact or keep it hidden. A great product that requires connecting a payment processor can still be a great product but it is not an actual payment processor and that part needs to be clear immediately on your landing page. |
| |
| ▲ | amelius 7 hours ago | parent | next [-] | | It's probably because "we built our castle inside Stripe's kingdom" doesn't sound very cool. However, if enough people start using this then they might become the new gatekeepers because they could swap Stripe for any other payment processor without the need of the user knowing. | | |
| ▲ | theturtletalks 6 hours ago | parent | next [-] | | Their website says fully opensource and since it’s a Stripe wrapper, this seems to be an opensource alternative to Stripe Elements. It does require a Flowgrad account and key so it will provide value if other payment processors started using it. Is there any benefit to using Flowgrad’s react components and hooks over Stripe elements directly? | | |
| ▲ | fn-mote 6 hours ago | parent [-] | | I thought the whole post was about the benefits, namely that Stripe has too many webhooks and doesn’t handle enough of the tax computation. Did I misunderstand something? Or is this about a different angle? | | |
| ▲ | theturtletalks 5 hours ago | parent [-] | | Ah that is another benefit, using Stripe Elements and Stripe directly, you have to save the subscription ID and other fields in your database. Flowgrad seems to handle this on their side. |
|
| |
| ▲ | bossyTeacher 5 hours ago | parent | prev [-] | | >However, if enough people start using this then they might become the new gatekeepers Stripe would likely change their ToS and then revoke their API keys before they could get anywhere near that level of dominance. |
| |
| ▲ | Scubabear68 5 hours ago | parent | prev | next [-] | | They hide it because you won't choose them if you were aware that it's Yet Another Wrapper around someone else's service. | |
| ▲ | agreeahmed 4 hours ago | parent | prev | next [-] | | This is great feedback. We aren't trying to keep it hidden at all. But we could be clearer in how we communicate it. The processing happens through our Stripe Connect platform, through which you currently have to set up a Stripe account. Over time, these details will be more abstracted away, much like Vercel is reselling AWS under the hood but doesn't require you to hand over AWS keys. Right now, the reason this feels more like a "wrapper" than Vercel is that we haven't yet built out our own onboarding and KYC flow. We wanted to first deliver an amazing developer experience - something we're still working towards. | | |
| ▲ | codegeek 4 hours ago | parent [-] | | All good. You know HN feedback is straight and brutal but we are all trying to be helpful. |
| |
| ▲ | frizlab 6 hours ago | parent | prev [-] | | It’s not very well hidden, it took me around 15s to figure it out from the main page. They are also trying to diversify (obviously). | | |
| ▲ | codegeek 5 hours ago | parent [-] | | The landing also doesn't clearly answer if they use their own stripe or we need to connect our own stripe account. | | |
| ▲ | agreeahmed 4 hours ago | parent [-] | | That feedback is very well received, thank you. Currently you set up a new Stripe Connect account to get started. We tried the "connect existing account" flow and discovered that, maybe due to regulations or Stripe policies, we weren't able to debit the existing accounts. Our Stripe flow is different from the run of the mill billing SaaS because we're involved in the movement of money (rather than simply using your Stripe key to steer API requests on your behalf). We know that makes us look a bit like a fish with legs while we grow towards where we want to be. | | |
|
|
|
|
| ▲ | Aurornis 8 hours ago | parent | prev | next [-] |
| I’ve been in software long enough to know that there’s a market for products that make things slightly easier for devs and their managers who think even common APIs like stripe are too hard. The number of devs who are struggling with web hooks and simultaneously have some budget to spend is probably bigger than you think. Often these products are pitched and sold to non-technical managers, too. The sales team will learn that they can make some sales by promising a non-technical manager that buying this product will actually save them money because it’s easier to use. |
| |
| ▲ | agreeahmed 4 hours ago | parent | next [-] | | Definitely - it's the nature of software that it tends towards higher order abstractions that make the tools easier and easier to use. The final frontier is English as a programming language. The tools that are easiest to program in English (via a coding agent that "compiles down" your prompt into code) tend to have the tersest APIs, with the least amount of reasoning about state across service boundaries. It's very likely at this point that the supermajority of future programmers will have almost no formal computer science education. They'll want tools that don't require a deep understanding of the prior generations' layer of abstraction. That's kinda the world we're preparing for - builders who don't need to be deeply technically involved in the details of their vendors in order to build successful software companies | |
| ▲ | skwee357 7 hours ago | parent | prev | next [-] | | I'm sorry, but seeing the words "dev" and "struggling with webhooks" in the same sentence makes me cringe. I mean, I have nothing against higher level abstractions, but I'd be worried to ship (as a dev) and use (as a customer) a product that was built by someone who does not have deep understanding of what they are doing. | | |
| ▲ | withinboredom 7 hours ago | parent | next [-] | | I had the pleasure of working with teams that couldn’t even figure out how to use analytics in their product. They had zero idea who was using it and how many people were using it. They ignored the thousands of DB deadlock messages in the logs; well, they just ignored the logs completely, actually. All they cared about was shipping the next feature and getting the one QA guy to agree it was working correctly so the ticket could be closed. This is much more common than you might think. | | |
| ▲ | gopher_space 3 hours ago | parent | next [-] | | Your example is hilarious; it sounds like the team understands analytics just fine if they're solely working towards one metric. | |
| ▲ | numpy-thagoras 5 hours ago | parent | prev | next [-] | | That describes more than just one POS (Point of Sale) company I know of. | |
| ▲ | datavirtue 3 hours ago | parent | prev [-] | | This is the default. I have a few teams like this under my charge, currently. I ask them to protect themselves by logging what data they will need to troubleshoot a new feature. Next release comes around and there is an issue and guess what...devs asking for access to prod to troubleshoot because they don't have logs. It is really difficult to contain oneself when getting on a call to quiet three endless chat threads because someone failed to log basic shit. Days long anxiety-filled shit storms for absolutely no reason. I have had other teams that would do this and they had to have the fear of God put into them to wake up and start logging. We have real problems to solve without confounding ourselves... |
| |
| ▲ | nrhrjrjrjtntbt 6 hours ago | parent | prev | next [-] | | Webhooks are not a struggle conceptually. They are a struggle operationally IMO. In amy case why does a dev need to understand a (yet another) poor DX complex API (stripe) in addition to the other 20 they need to deal with. What is wrong with taking something off the plate. It is like daying dont use high level languages, use Rust, don't use a library to make http calls roll your own etc. | | |
| ▲ | skwee357 6 hours ago | parent [-] | | I think Stipe is one of the best designed APIs I ever had to work with. But to reply to your point, there is no way out of this. You either understand the tools you work with, or you end up vendor locked to tools like vercel/next (the target audience of OPs tool, as it seems), which promise simplification, but end up being their own monsters. |
| |
| ▲ | WilcoKruijer 5 hours ago | parent | prev | next [-] | | Even the best developer in the world can struggle when there are like 250 webhook events on a platform (as is the case for Stripe). | |
| ▲ | ForHackernews 6 hours ago | parent | prev [-] | | There's a lot of React devs out there who have never touched a server-side anything. | | |
| ▲ | skwee357 6 hours ago | parent | next [-] | | I feel like fullstack engineer was a BigTech manufactured title designed to save costs compared to hiring two experienced engineers, one in frontend and one in backend, but ended up leaving the fullstack engineers in a limbo state where they are neither good at frontend, nor good at backend, hence they require a bunch of (VC funded) tools to "simplify" their development life. | | |
| ▲ | 9dev 4 hours ago | parent | next [-] | | To the contrary, I feel the distinction to be very arbitrary and especially in the context of web applications so muddy it’s almost useless. Who is responsible for websockets? CSP? JavaScript chunk caching? Web worker edge deployment? File uploads? HTTP/2 stream usage? The web as a platform shouldn’t be constrained by two arbitrary, isolated boxes, because that’s not how it works. A software developer writing code necessarily has to get involved with stuff running on client and server devices and everything in between them out of sheer necessity, if they even want to understand how modern technology works in this space. | |
| ▲ | withinboredom 4 hours ago | parent | prev | next [-] | | There was a time when “full-stack engineer” actually meant someone who could run an entire application end-to-end—HTML/CSS, backend, databases, nginx, Linux servers, deployments, the whole thing. As Big Tech productized those environments and startups realized they could merge multiple roles into one salary, the title became increasingly attractive. People saw the compensation associated with true generalists and started putting “full-stack” on their CVs even when their experience only covered a slice of the stack. Bootcamps and junior developers adopted the term too, and hiring managers kept accepting it because the candidates were otherwise solid. Now the title has been diluted to the point where it often just means “comfortable with JavaScript on both sides of the wire, plus maybe Mongo or Redis.” The original depth is gone, replaced by tooling and abstractions that compensate for the skills the term used to imply. It’s a sad world. -- actual (retired) full-stack engineer | | | |
| ▲ | anon291 6 hours ago | parent | prev [-] | | It's really not hard to be good at both. Or at least to understand enough to be fluent in both. |
| |
| ▲ | agreeahmed 4 hours ago | parent | prev [-] | | As the Javascript ecosystem has spilled out from just the frontend to also the backend, a lot of these React devs have found fullstack responsibilities on their shoulders. Imo you can trace a lot of how devtools, particularly webdev tools, have evolved to this. They are more React-brained. Specifically they try to take state management responsibilities off their users' plates. |
|
| |
| ▲ | whizzter 7 hours ago | parent | prev [-] | | Literally describes one company I work for periodically. |
|
|
| ▲ | agreeahmed 8 hours ago | parent | prev | next [-] |
| For now, yes. The game plan over time is to get deeper into the actual card rails side of things. But first we really want to nail the developer experience. |
| |
| ▲ | jfyi 8 hours ago | parent | next [-] | | You can't standardize the developer experience across different processors. I'm not trying to be negative here, just practical. You are going to run into things like TSYS closing out batches every three days regardless of what happens. The handling features for them and their customers thing is going to be a herculean task over even a couple different platforms. Not impossible, but it's big and you would do well to see what's out there before committing to a standard interface. Take a look at https://datacapsystems.com/ to see it done well. Also, adding another layer like this, you better have an early plan to staff a support desk. Oh, also, you are gateway, not a processor. | | |
| ▲ | agreeahmed 6 hours ago | parent [-] | | > Oh, also, you are gateway, not a processor. Technically right now we are a value-added payment acceptance reseller. Eventually we'd like to become a payfac. And maybe with the new regulations that came out in Georgia, a chartered merchant acquiring bank. But that's down the road. You're totally right about standardizing the devex across processors. We want to go as "close to the metal" as we realistically could as soon as we could. That's why we very deliberately built our own billing engine from scratch. We could have gotten to market faster by just mapping onto Stripe Billing, but we would have foregone valuable experience mapping processor lifecycle events to our data model. For a while that's going to be much of the work on our plate, standardizing how we map their lifecycle to ours. We took the past year basically studying the prior art and developing / testing a data model that we feel is well on its way to describing the general case. I was frankly surprised how long it took to really hammer out the primitives. | | |
| ▲ | mbesto 5 hours ago | parent | next [-] | | > We want to go as "close to the metal" as we realistically could as soon as we could. All of the value in payments is on the top (acquiring payfac side)...all of the value on the issuing side is only made via extremely high volume and requires a ton of tech that just schleps data (no fun). I'd recommend getting this idea out of your head. | | |
| ▲ | agreeahmed 3 hours ago | parent [-] | | Unless I'm misunderstanding, I think you might have gotten sides mixed up? Issuing side (the side that "issues" the cards) is usually the one that people describe as "all of the value", while acquiring (the side that "acquires" merchants) usually is that one that needs to bring substantial volumes to market. For context to anyone not familiar with payments, about 60-70% of the card revenue in a transaction goes to the customer's / issuing side because they are the side that assumes credit risk for the consumer. The merchant's / acquiring side has significantly tighter margins and usually needs substantial volume before it can become an interesting business. One way that entrants on the merchant side of the stack monetize is by bundling value-add software. E.g. Stripe does this with Billing (+.7%) and Connect (+.25%). Fwiw I agree that most people will find this tech extremely un-fun. But I'm a "payments rail guy" in the way that others might be "train guys". My inner child lights up at the thought of payment rails. My Substack, Vivid Leaves, is basically a bunch of essays about historical payment systems - some we worked with in Kenya, and others I studied from the USSR. I wrote all this before I had any idea I'd be starting a payments company: https://agree.substack.com We know it's going to be a schlep, and we're going to have a blast schlepping through it. * vocab fyis for anyone reading this not familiar with payments. |
| |
| ▲ | jfyi 6 hours ago | parent | prev [-] | | Technically you are a wrapper api, but you are acting as a gateway. Though, if you were to claim to be a gateway you'd need pa-dss/ssf validation and that would cost a good chunk of that yc money, so I understand. | | |
| ▲ | agreeahmed 3 hours ago | parent [-] | | Exactly. One of our advisors who previously an exec at one of the card networks says that currently we are technically a "value-added gateway reseller". Doesn't exactly roll off the tongue, but that's the most precise way to describe us right now. And not necessarily where we will stay. |
|
|
| |
| ▲ | Denvercoder9 7 hours ago | parent | prev | next [-] | | That's fine, but it does mean that your current submission title is factually incorrect. You didn't build a payment processor, you build a payment gateway. | |
| ▲ | whizzter 7 hours ago | parent | prev | next [-] | | You intend to restrict this to a single market? There's some sibling comments that do point out that. Much "annoyances" when it comes to money is all those weird laws and rules from lower level companies in place, improving things for developers is a laudable goal but I do hope that you guys have some real world experience with these systems apart from frustrations as system users because doing a good DX right now feels like it could make you end up in a dead end. | | |
| ▲ | agreeahmed 7 hours ago | parent [-] | | 100% agree - this is not a space to tread into lightly. We have some really knowledgeable payments people in our corner, including several veterans with many decades of payments industry experience as leaders at the big payments players. There's a lot that we've been able to learn from them as they help us navigate the financial services side of this business. We're conscious of how much work there is to do, and how the "good DX" is really just the visible tip of the iceberg. Currently through Stripe we are able to onboard merchants wherever Stripe can serve them directly. Our upcoming merchant of record offering (which we hope to launch soon), will be available to merchants wherever Stripe can send payouts, which is a longer list of maybe 150+ countries. The pathway to building deeper payment rails will indeed have to be country-by-country as each one requires new banking partners and compliance regimes. |
| |
| ▲ | turnsout 8 hours ago | parent | prev | next [-] | | The DX of Stripe is already great—it sounds like you want to give Stripe reasonable defaults. Not a bad idea, but if you know what you're doing, you can have AI read the Stripe docs and implement something based on established patterns. Who is your ICP? | | |
| ▲ | brunosutic 6 hours ago | parent | next [-] | | > The DX of Stripe is already great This used to be the case back in 2015, but not anymore. The financial compliance is more strict now. You have to charge taxes. EU enforced SCA / 3DS in 2019. All of these are hard to implement (correctly) on their own - almost impossible together. Source: I run (paid) Ruby on Rails library for Stripe subscriptions integrations. I also do billing audits. Here's an example audit where I pay $30, get ~$2000 https://www.youtube.com/watch?v=YuXp7V4nanU | |
| ▲ | agreeahmed 6 hours ago | parent | prev [-] | | Today our ideal customer is someone starting a project on day one who wants an easy pathway to 1) get stood up ASAP, and 2) start iterating on pricing as they learn what customers really care about. What we found when talking with dozens of builders was that the DX is indeed much better than e.g. Adyen, Braintree, etc. But their DX is far from the counterpart best in class devtools in auth, hosting, or databases. To be clear, what Stripe has built is a towering accomplishment. But a lot of why innovation in payments DX has been slower than other parts of the stack is that since Stripe, there haven't really been many others who have attempted to tackle the *entire* job to be done. |
| |
| ▲ | guessmyname 8 hours ago | parent | prev [-] | | Who cares about developer experience? Genuinely asking, because I’m a developer too and I certainly don’t care. What we care about is solving the actual problem of payments with the downstream companies. | | |
| ▲ | jazzyjackson 8 hours ago | parent | next [-] | | DX = developers not shooting themselves in the foot and making it impossible to cancel my free trial because my account got deleted but the autopay didn't fewers bugs = happier customers not getting charged for shit they didn't agree to be charged for | | |
| ▲ | agreeahmed 7 hours ago | parent [-] | | Basically this. The existing integration paradigm for payments, at its worst, feels like a warehouse filled with footguns on the floor with the lights turned off. Esp for newer developers who are used to more modern devexes which explicitly try to take reasoning about complex state transitions off of your plate. | | |
| ▲ | scott_w 5 hours ago | parent [-] | | 100% This. I remember joining a billing team that assumed calls to Braintree succeed or fail, so everything was just calling the API as though it was a local function call. It was great fun debugging the twice annual incidents where the API returned a HTTP500 but charged the customer and created the recurring subscription anyway. Not to forget we had to scream at them for 6 months to implement 3DS2 on top of their Subscriptions API. Turns out we were the only users of it! |
|
| |
| ▲ | poly2it 8 hours ago | parent | prev | next [-] | | Stripe became dominant by improving developer experience, which cuts implementation costs. | |
| ▲ | mcflyin619 8 hours ago | parent | prev | next [-] | | I care about my own developer experience. If i can save a headache and some time integrating payments, I'm all for it. | |
| ▲ | Scubabear68 8 hours ago | parent | prev [-] | | “Well your payments platform doesn’t actually do payments, but the developer experience of doing nothing was flawless!” Sorry for the snark, but been in payments a long time, and seen too much of this nonsense. | | |
|
|
|
| ▲ | runako 7 hours ago | parent | prev | next [-] |
| It looks like this is more akin to a React-only Chargebee where entitlements etc. are stored with the billing provider. (Apologies if I am misreading the site.) |
| |
| ▲ | agreeahmed 6 hours ago | parent [-] | | It scans that way right now because Stripe is more visibly involved in the onboarding process. Maybe another way to parse it is "Shopify for software", where we combine the movement of money and subsequent state transitions involved in unlocking value. But instead of shipping physical items, it's granting entitlements. Either way, thank you for the feedback. We're still refining how we explain it. |
|
|
| ▲ | redbell 8 hours ago | parent | prev [-] |
| So, this is somehow similar to Polar (https://polar.sh/) |