[ Web Proxy ]
URL:
Viewing: https://stripe.com/se/sessions/2026/developer-keynote [Back]  [Original]

Chatta med Stripe-frsljning
[] []
8 tillgngliga sljare

Vi diskuterar grna ditt fretags behov.

Chatta nu
Developer keynote | Stripe Sessions
Tillbaka

Developer keynote

Advancing developer craft

Lngd

Titta p frhandsgranskning

Fyll i formulr fr att titta p hela videon

anna@exempel.se:
Anna:
Svensson:
Fantastiska Fretaget:

Many developers now start an integration with an AI editor, not a docs page. When theres an agent between you and the API, everything changes: how products are discovered, behavior is verified, and trust is enforced. Learn how Stripe is making products legible to agents, building deterministic tools so agent actions are predictable and auditable, and designing auth and safety patterns that keep humans in control.

Speakers

Michelle Bu, Head of Developer Experience and Product Platform, Stripe
Nilofer Rajpurkar, Product Lead, Agents and Developer Experience, Stripe

View transcript

MICHELLE BU: Hi everyone. Its great to see you again. Im Michelle Bu, and I lead API design and developer experience at Stripe. So Ive worked at Stripe since 2013, and I started as a product engineer. And then I did what a lot of engineers do, whether they like it or not. I slowly stopped building. More reviews, more docs, more meetings, fewer pull requests. But this year, that trend started to reverse, and Ive shipped more lines of code since January than in the past five years combined. And Im not even sure Im the most interesting example of that. Across Stripe, 91% of our engineers are now using AI tools in their everyday work. Hang on. I think I just got a Slack.

It looks like Nilofer, our PM, is asking me for something. Hey Michelle, a little bit of an emergency. Were talking about workflows on stage today. Yes, we are. But we forgot to remove the public preview badge from the docs! That is pretty bad. And Chrome will relaunch in three hours. Okay, lets check on that. So it looks like indeed in the live docs, the public preview badge is still on there. So with my newfound ability to contribute code while also giving a keynote, maybe I can help her out. At Stripe, heres what were looking at right now. Were looking at a Slack channel where a bunch of Stripe engineers are collaborating with their agents. So some of them are planning with their agent before theyre using their agents to commit code, and some of them are directly using agents to remove feature flags and do cleanups.

So here I will go ahead and try to address this with our coding agent. So please remove the public preview badge from the workflows overview since its now GA. And Ill paste that link there. So our agent can read the contents of Slack. Its optimized for searching our humongous code base, and itll find the right code to change based on the context. It looks like it cooked for a second. It analyzed the conversation to determine the repository in workspace, and now it is off. Well check back on this later.

The agent you just saw is called a minion, and minions now ship over 1,000 PRs to production every week. In all these cases, humans just have to review and approve. But beyond these one shot PRs, in the month of March, over 57,000 PRs were created with the help of AI coding assistance, which is a 140% increase in just 3 months. And this change isnt only internal to Stripe. In 2025, agent traffic to Stripes documentation 10xed in a single year. We went from agents representing less than 5% of our docs traffic to nearly 40%. And on this trajectory, agents will soon be reading more documentation than humans.

These data points validate that were experiencing a step function change in how development works. But despite all this innovation, there are still basics that we need to help our new agent friends with. Let me show you an example of an attempt at a Stripe integration from just a few weeks ago. Here, Im trying to build a side business that takes up-front payments and start long-term engagements, but I also want to collect recurring subscription fees. This business is called Vibe Check. Im going to use Claude Code to add payments to my site. Here, Ive written a prompt describing my business model and asking it to set up invoices and subscriptions. Claude correctly recommends Stripe for payments, of course. But watch what happens as we actually dig into the agents suggestions. Coding agents have improved rapidly, but they still make some common errors because theyre often relying on outdated training data and they dont know what they dont know.

So when setting up subscriptions, the models suggest using the plans API. That might sound reasonable, but I know that API was deprecated in 2019 because I was at Stripe then. The agent also didnt ask me any clarifying questions about my customer base or the way that my business operates, which is actually really, really important for selecting the right Stripe integration shape. Next, it asks me to plug in API keys to continue, but I havent signed up for Stripe yet. I dont want to break this development flow, so Ill just ask the agent to keep going and get my API keys later. Claude starts writing code, and if we look at the code, we can see that its getting the users payment details with a Card Element. Many of my users are in the EU where credit cards are not the only payment method, and Card Elements are focused on collecting card details, and so they dont support preferred local payment methods out of the box.

That means my integration now has to manage payment method specific UI and error handling, which adds a lot more complexity and vibe-coded code for me to maintain.

And because I havent provided an API key yet, Card Element hasnt actually been injected into the site, so it just looks like an empty rectangle. The code looks plausible and like it could work, but we cant actually test it end to end. So now I need to stop what I was doing entirely and go through Stripes signup flow. Granted, that was still much faster than reading the docs and writing the integration myself, but without my prior Stripe knowledge, we wouldve ended up with a lot of problems that wouldve bitten us later. The developer experience that agent was relying on was built for humans, but now for both Stripe and for the broader industry, agent experience is becoming a large part of the developer experience. And thats why were empowering agents, this little blobby, nondeterministic thing, in three ways. First, were making agents smarter by giving them context on Stripes best practices.

Second, were making agents more capable with deterministic tools for building and interacting with Stripes products. And finally, were making agents trustworthy with guardrails that prevent them from going rogue. So lets take a closer look at each of these. First, making them smarter. When agents arent guided, they default to what theyve been trained on, and thats not necessarily whats right or whats best for your business. For example, last year we released elements with Checkout Sessions, which is a dramatically simpler way to build checkout that handles tax, pricing, and payments orchestration right out of the box. But because of outdated training data, probably some open source projects, some old Stripe docs, maybe a five-year-old Reddit thread that recommends the Card Element, our data now shows that agents consistently default to recommending PaymentIntents, which is recommending an unnecessarily complex integration architecture, even though we now have more modern solutions.

So this means if youre a customer, youre starting off your Stripe journey on the wrong foundation. And when you consider this at a macro level, including the increased speed at which agents are able to write code and build, this outdated recommendation gets replicated across thousands of repos very quickly. The scale of this mistake has a much wider impact than it did just a couple years ago. So to monitor agent performance and correctness, we created a Stripe integration benchmark. These benchmarks measure an agents ability to complete common Stripe tasks in a realistic environment. And because the benchmark establishes a controlled baseline, we can experiment with how to improve the agents performance. Weve used the insights in our experimentation to make a number of enhancements, starting with our documentation. Our docs were designed to be easily scannable by the human eye, but now they also have to be as lightweight as possible to fit into precious context space and to minimize token waste for all of you.

So to address this constraint, weve made all of our documentation available as raw Markdown. By appending .md to any URL, an agent gets all the content without headers, footers, and UI elements. Stripes agent skills also load our expertise right into the agents context window, which guides it to the right choices before it makes a single line of code. Another enhancement is to Stripe blueprints. Blueprints, like docs, were originally built for humans as a step-by-step way to build a Stripe integration. However, an agent doesnt use a mouse and so they dont need a visual clicky guide. Weve added a Copy for LLM button to our human blueprints, which copies a structured set of instructions. These instructions define the required objects, the recommended product settings, and the exact sequence of API calls to make, and any object state changes to monitor for. Also, your agent can build you a great integration.

Because of our benchmarking and product enhancements, weve improved the context that the agents have at the tips of their blobby hands. Your experience with agents is now a lot smarter. Did you see his little glasses?

But knowing the right answer isnt the same as being able to act on it. Today, most platforms dont actually give agents a way to do things. Your smarter agent can tell you what to do, but it cant do it for you. Were changing that, and were making agents not just smarter, but also more capable. Lets see what happens when the agent doesnt just know Stripe, it can use Stripe. Nilofer is a PM on our agent experience team. Why dont you come up and show us what the team has been working on?

NILOFER RAJPURKAR: Lets pull up Claude again and use the same exact prompt as Michelle. Claude correctly recommends Stripe again, and now its got our MCP tools helping it figure out our implementation. This time, Claude uses the MCP servers Stripe integration recommender tool alongside Stripe skills to know what to use and what to ask. As you can see, it now knows to ask, Where are your customers located? to help provide a better integration recommendation. Also, it recommends just using Checkout instead of Card Element, because Checkout offers a much easier subscriptions integration. And because I let my agent know that my customers are located in the US and in the EU, Claude now recommends Stripe Tax. It explains that in the EU, digital subscriptions are taxable and require a VAT calculation. Stripe Tax can help me with that. I can see its also provisioning a Stripe sandbox for me. The agent uses a new Stripe CLI command to create the sandbox without needing any Stripe credentials.

This command also fetches the API keys and securely stores them for me. This way, I dont have to break my flow. Okay. With the keys sorted, Claude starts looking at other Stripe skills. It indicates that it has everything it needs and asks to create the Stripe product via MCP. Ill go ahead and hit yes and lets see it get implemented. Lets fast forward now and see the end state. Im going to open up the checkout page and test that the checkout flow is working correctly. You can see the checkout pages here and ready. Ill go ahead and hit subscribe and were done.

MICHELLE BU: So here weve made the agent smarter and more capable, and that resulted in a significantly more confident developer experience for all of you and gives us a purpose-built integration for our unique business. It started with our hosted MCP server, which has predefined tools and allows agents to call a curated set of API endpoints. It used our CLI as well to provision a sandbox. When we built the CLI, it was originally so that developers could test webhooks locally, but as the ecosystem evolved, so did our CLI usage and today the CLI has become one of the primary interfaces for agents to interact with Stripes capabilities. We didnt originally build it for agents, were really leaning into it now. Finally, everything that the agent just coded was created in a Stripe sandbox. Sandboxes give agents a real isolated testing environment to operate in, hitting actual Stripe infrastructure with real response behavior.

And so after youre done coding together, you can easily sign up for a Stripe account and claim your sandbox. When we bring these tools together, you have a complete end-to-end agent development stack designed to take you from a prompt to a production-ready system. Okay, so we talked about building the application, but what about ongoing maintenance and updates? Well, let me show you something weve been prototyping. Now that I have a functioning integration based on what Stripe recommended, lets say I want to change the flow and the look of my checkout. I could go back to my favorite coding agent and fix it, or I could just have Nilofer do it for me since she owes me for that docs change.

NILOFER RAJPURKAR: Thanks, Michelle. Ill go ahead and get this done right away. Ill use Stripe Checkout studio, our new visual checkout builder, to update the code. Here, you can see that Im in Checkout studio, a new place to configure and optimize your checkout for conversion. Here, you can change branding settings, configure payment methods, run experiments with A/B tests, and monitor performance, all from a single place in your dashboard. But many changes to your checkout integration still involve writing code, and thats where our new prototyping tool can help. Here, I could see that my tool was able to scan my codebase in GitHub and pull out my checkout integration under the Detected from code section. Lets take a look at what my checkout form looks like right now. Its decent, but I want to collect some additional information. So Im going to go ahead and add phone number collection, go ahead and turn on name collection, as well as consent for promotional emails. Okay, this preview is looking pretty good, so lets go ahead and implement this. I can now see all of the steps that would be required for me to go ahead and make these changes manually.

MICHELLE BU: And this is what we were talking about with the Stripe blueprint earlier, right?

NILOFER RAJPURKAR: Exactly. Ive got all the steps to make this checkout form a reality, but Id rather have Stripe write this code for me. So Ive sent my tool off, and its now making a PR in my GitHub repo. Im going to jump over to GitHub and take a look at a PR that I opened just before this keynote. This tool integrates with GitHub Actions and has made this pull request for me. I can see that its handled all of the changes that Checkout studio suggested based on those updates. I feel good about this, so lets go ahead, and go ahead and merge.

All right. Now, if I go back to my website and refresh, I can make sure all of these changes did actually take. All right. Ill go ahead and sign up for a subscription, and theres my new checkout form. I can see that Im now collecting phone number, name collection, and email consent.

MICHELLE BU: Im excited to see the potential of agents not just helping you build an integration, but also helping you maintain and update it. Writing code, however, is just one part of running a business on Stripe.

NILOFER RAJPURKAR: Throughout our many conversations with you, were increasingly hearing that you want agents to not only help build your business, but also operate it. Specifically, you want them to help with routine tasks like subscription updates and billing questions and refund requests. Because agents are nondeterministic and eager to please, theyre actually really great at interpreting these complex tasks. They can reason and infer context, they can adapt their tone and craft a resolution perfectly tailored to the situation.

MICHELLE BU: But also exactly because they are nondeterministic and very eager to please, as hard as they may try to follow your instructions, they wont always accomplish the task in the exact way that you want them to. This nondeterminism presents new challenges when you want them to move money or refund transactions. We cant have an agent going rogue from a customer service request or refunding a large purchase. So heres how were making agents more trustworthy. Lets take a look at some of the things weve shipped that help you better understand agent usage and set appropriate guardrails. First, you can now give your agent agent-tagged API keys, which lets you treat your agents as a new type of actor within your business with its own identity. This provides you with complete visibility into the actions the agents are taking on your behalf. More importantly, tagging your agents gives you the control to set permissions, rules, and boundaries with approval rules. Nilofer, can you show us how youre using these tools?

NILOFER RAJPURKAR: Absolutely. Thanks to the speed of agents, I can now wear a lot of hats. Im now helping Michelle run multiple businesses simultaneously. In addition to maintaining Vibe Check, I also lead operations at Hypernian, and we get a lot of support requests. Here are two emails that came in today requesting refunds. The first one is from Sarah Chen. She was signed up twice for her subscription and is requesting a refund of $50 for last months subscription. In our second email, Marcus Rivera is requesting a $250 refund. Hes a little unhappy with the service and he wants his money back. Let me show you how were handling this with agents. First, Ive created an API key and I can have it tagged here as an agent key. This gives you observability over agent actions and allows you to restrict the actions that this agent can take. Im using this key in a customer service agent that Ive built.

Now, a quick reminder from our security team, you should never present the API key page when youre doing a demo in front of a thousand folks. But the good news is Im in a sandbox right now, so this is all okay. Okay. Next, under settings, weve now introduced approvals. These are safe-by-default guardrails that protect your account. You can see different rules here for refunds, subscriptions, changes to my bank account, and more. These apply whether the action comes from an agent or from a human, and whether it comes from the API, MCP, or the Dashboard. Ive got the same rules, same protections everywhere. For our use case, Id like to update our refund rule. By default, this rule requires an approval on all refunds, but for our use case, Id like to give my agent at Hypernian a little extra discretion, up to $100.

MICHELLE BU: Were really empowering our agents at Hypernian, arent we?

NILOFER RAJPURKAR: We are. All right. So lets go ahead and save this rule. And now this refund will require a human approval anytime something is over $100. Okay. Let me show you what this looks like in action. Ive gone ahead and created a customer support agent, and Ive given this agent my API key that we tagged earlier. Lets go ahead and get this agent running from my support agent dashboard. You can see that our agent is now monitoring our inbox. Its pulling for new emails and identifying any refund requests. Its then using Stripes APIs to look up the relevant accounts and my recent charges. Im going to switch over to Workbench and see the full details of the request that this agent is making. Ill go ahead and refresh my logs, and I can see new refunds coming in. All right. So here, if I take a look, I can see that this refund was done by an agent because of that key that we tagged earlier.

And in Sarahs case, this refund went through automatically. No approval needed. Now, lets take a look at what happened in the case of Marcuss refund. Here, our agent tried to pick it up just like it did with Sarahs, and I can see that this action was done by an agent again because that API key is tagged. However, we see an error on this one. This is because our approval rules kicked in. This refund was over $250, and thats above our threshold, so Stripe blocked it per my approval rules. We can see that the agent gets back a structured error. Its able to read this and understand that an approval is required. So then the agent went ahead and called our approval request endpoint to send this request off for a human review, in full transparency and a full audit trail.

MICHELLE BU: And so your agent actually figured out how to do that on its own based on the error message that we were returning the API.

NILOFER RAJPURKAR: Exactly. It got all of the information it needed in that error.

MICHELLE BU: Great. So now lets see what happens when we want the refund to go through.

NILOFER RAJPURKAR: Yeah, so the agent submitted that approval request, and if I come back to the dashboard, I can see that the approval is waiting for me. I can open this up and see all of the details about this review. Its a $250 refund from Marcus that was initiated by our agent. Im feeling really comfortable with this, so Ill go ahead and approve this refund.

MICHELLE BU: All right, if you say so. So weve given the agent power to act and weve kept a human, Nilofer, in the loop for the most important decisions. Now, what happens after that refund goes through? For example, the Hypernian sales team, which is also Nilofer, may also want to know about every refund. This kind of process is one that happens repeatedly and should run the exact same way every time. And with Stripe Workflows, you can define a process once and it runs the exact same way whether the refund came from an agent, a support rep, or your own backend. Until today, workflow actions, such as updating a customer object, have only been able to act within Stripe. But with the new custom actions feature in workflow, you can now call out to popular applications such as Slack.

NILOFER RAJPURKAR: Let me show you how this works. So that refund that I initiated and approved in the dashboard creates a refund.created event. Ive got a workflow here, and that event is the trigger for this workflow. Now with workflow support for custom actions, I can configure notifications to all of the right people in the right places. If that workflow is less than $100, its going to go ahead and notify the sales team on Slack with that refund amount and a link to the refund in the Stripe Dashboard. Here, if I come over to Slack, I can see that that refund is here. For larger refunds, well want to pull the relevant customer details and tag the customer as needing a customer follow-up in our Stripe Dashboard. And this workflow is going to run the same exact way tomorrow when a support rep processes something from the Dashboard or next month when your backend triggers one through the API, a single defined process every time.

MICHELLE BU: You also mentioned this customer follow-up object I dont recognize as a Stripe object.

NILOFER RAJPURKAR: Thats right, Michelle. Its not a Stripe object because its a custom object that Ive defined on my own Stripe account. With custom objects, I can bring my business data and logic directly into Stripe. Let me show you the code and see how this works. So given weve seen so many refund requests lately, I want to make sure our customer success team follows up on these big refunds. The customer follow-up object that Ive created includes a number of important parameters. Ive got a reference to the Stripe customer who received the refund. Ive got information about the refund amount and the reason for their refund. I have a status field, which is initially set to Follow-up needed and well move through these different statuses. And Ive also got fields for who completed the follow-up with the customer and any notes that they may have.

MICHELLE BU: And tell me about this Complete follow-up custom method here.

NILOFER RAJPURKAR: So this is the custom logic that weve built on top of running this object. When our customer success team finishes their outreach, they can click a button in the Dashboard, which calls this action and it captures who completed this report and any notes that they may have and moves the status to completed. Lets go back over to the Dashboard and Ill show you this in action. I can navigate to my customer follow-up dashboard.

MICHELLE BU: And this is all your custom objects in the Stripe Dashboard.

NILOFER RAJPURKAR: Exactly. Ive built everything that I need customized to my use case here. And I can see that Marcuss refund is now in this set of data, marked as Follow-up needed, because that refund was above $250. If I go ahead and click into Marcuss record, at the top of the page, I can see a button to complete the follow-up. After Ive had this discussion with Marcus, I can click that, provide any notes from our discussion, and go ahead and confirm.

MICHELLE BU: And thats running the code that we just saw that you wrote.

NILOFER RAJPURKAR: Exactly. All right. All done here.

MICHELLE BU: Amazing. So with custom objects, we were able to better model the entities that matter to our business by defining objects on Stripe. From the Stripe APIs, our custom SDKs, and the Stripe Dashboard, you can create and access these custom records that power your processes. Lets just take a step back and look at what we just saw. We have an agent that autonomously handles customer support, reading email, looking up accounts, issuing refunds. It resolves Sarahs refund automatically and approval guardrails kicked in when Marcus asked for more. Then with Stripe Workflows and custom objects, Hypernians sales team was automatically notified after we approved the refund and the customer success team was tasked with getting more customer feedback. This is how were making agents more trustworthy at scale. Wait, I think thats just Nilofer wearing another hat. Thats not Marcus, is it? Okay, lets wrap. Everything weve shown you today.

NILOFER RAJPURKAR: Hang on, Michelle. Did you actually finish that docs change I asked for earlier?

MICHELLE BU: Good call. Lets check back in. Remember that minion that I kicked off at the start of the keynote. Well, it looks like that minion run completed and we can actually go and see the changes that it proposes. And it looks like on the workflow overview doc, it has removed the public preview availability field, and so that should be GA after we deploy this. Amazing.

Everything weve shown you today is about making it better to build and run your business with agents. Were teaching agents Stripe best practices so you can start with the right technical foundation. Were building deterministic tools so you can work with more capable agents, and were putting guardrails in place so you stay in control while moving at a speed that just wasnt possible before. Weve been obsessing over developer experience for 15 years. Agent experience is just the next chapter, and so were focused on supporting the way you work today and the way that youll work in the future.

Im going to go get that PR merged for you all. Thank you.

Rekommenderade tal

Stripe logo

Opening remarks and product keynote

Titta p videon  
Stripe logo

Machine payments and the protocols behind agentic commerce

Titta p videon  

Anmlan till Sessions 2026 r nu ppen

Flj med oss den 2830 april i San Francisco och att hjlpa till att forma internetekonomins framtid.

Register now 

Sker du mer information? Kontakta oss!

F tillgng till en komplett betalningsplattform med enkel prissttning baserad p anvndning, eller kontakta oss fr att utforma ett paket fr ditt fretag.

r du redo att stta i gng?

Skapa ett konto och brja ta emot betalningar inga avtal eller bankuppgifter behvs.

Fretag av alla storlekar anvnder Stripe

Stripe r det betrodda valet fr ambitisa startups och fretag i alla storlekar.
Sverige (Svenska)
  • 2026 Stripe, LLC

Web Proxy Viewer  |  New URL  |  Original Page