---
title: "Stripe"
description: "Global payments and financial infrastructure platform building sophisticated technology for online commerce"
---

# Stripe
> Global payments and financial infrastructure platform building sophisticated technology for online commerce

## Articles

### [Gating entrances with Stripe and NFC passes](https://yomu.fyi/post/gating-entrances-with-stripe-and-nfc-passes.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Joshua Nussbaum
- Published: Aug 21, 2025

The post presents a gym membership access system that replaces plastic cards, fobs, and physical keys with Apple Wallet and Google Wallet passes scanned by an NFC reader. It uses Stripe Checkout and subscriptions for payment, PassNinja as a single API layer for issuing passes, and a DotOrigin VTAP100 connected to a Raspberry Pi Zero 2W, relay, and door strike for entry control. After Checkout, the website verifies that the Stripe subscription is active, creates a pass whose nfc-message contains the Stripe subscription ID, and redirects the member to add it to a wallet. A Linux gate process reads that identifier from the reader's virtual serial port, retrieves the subscription from Stripe, and activates the relay for five seconds when the status is active; otherwise it denies access.


### [Guardrails for money movement: Integrating Stripe MCP with Portia AI](https://yomu.fyi/post/guardrails-for-money-movement-integrating-stripe-mcp-with-portia-ai.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Mounir Mouawad
- Published: Aug 13, 2025

Portia AI presents a customer-refund agent that combines its guardrails with Stripe’s official Model Context Protocol server. The agent reads a refund request, compares it with a policy file, identifies the relevant Stripe customer and payment intent, and evaluates whether the request should be approved. Portia’s planner produces a multi-agent plan, while execution agents run it and persist outputs in plan state; an execution hook pauses before the Stripe create-refund call. A clarification presents the request and the agent’s rationale to a human, who can approve it in the CLI; approval allows the refund to proceed, while rejection exits without creating one. The example also handles Gmail OAuth and can send the customer an email describing the outcome.


### [Building financial operations agents with Hypermode and Stripe](https://yomu.fyi/post/building-financial-operations-agents-with-hypermode-and-stripe.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: William Lyon
- Published: Aug 6, 2025

Hypermode Agents and Stripe can be combined to create domain-specific financial operations agents from natural-language descriptions rather than conventional code. The workflow uses Hypermode’s Concierge to generate a system prompt, then connects the agent to Stripe through the Stripe Model Context Protocol (MCP) server and optionally to services such as Notion, Slack, and Google Calendar. With a restricted Stripe API key and sandbox data, the agent can retrieve policies, inspect customer and transaction history, apply refund rules, process payments, create invoices, and analyze subscriptions for metrics such as MRR. The examples describe partial refund decisions, onboarding workflows, campaign suggestions, and populated test environments, while the guidance recommends prompt iteration, human approval for high-value transactions, and monitoring and logging for compliance and improvement.


### [Workflows: Automatically customize an object with metadata](https://yomu.fyi/post/workflows-automatically-customize-an-object-with-metadata.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ashley Ansari
- Published: Jul 22, 2025

Stripe Workflows can customize Stripe objects with metadata, adding contextual key-value information without changing the core data model or storing it separately. The example targets customers associated with successful Payment Intents that include a tip, so a customer can be labeled for business use, such as reconciliation, reporting, or internal integrations. To build it, the workflow retrieves the customer from the Payment Intent, emails a team member, checks whether the successful Payment Intent contains a non-empty tip amount, and updates that customer with the metadata key Tier and value VIP. Workflows runs a trigger and sequential actions or conditions in a visual Stripe Dashboard builder, while metadata can carry information to later workflow steps and support automation, analytics, and debugging.


### [How we built it: Jurisdiction resolution for Stripe Tax](https://yomu.fyi/post/how-we-built-it-jurisdiction-resolution-for-stripe-tax.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Erich Rentz
- Published: Jul 10, 2025

Stripe Tax’s jurisdiction resolution system (JRS) determines which US taxing jurisdictions apply to a transaction, a difficult task because more than 16,000 combinations of rates and rules depend on intricate, changing boundaries. Its offline geographic information system cleans and standardizes boundary data, overlays states, counties, cities, and districts, and generates time-aware Stripe places of taxation (SPOTs), while the online system matches an address to the relevant SPOT. To reduce point-in-polygon latency, JRS indexes nested bounding boxes in a balanced R-tree rebuilt with the Sort-Tile-Recursive algorithm, narrowing candidates before applying the final polygon calculation; disjoint SPOTs are split and smaller boxes prioritized. Most states achieve address matching in a few milliseconds, with 95th-percentile latency below 10 milliseconds except South Carolina, while historical SPOT data creates an ongoing memory challenge.


### [Workflows: Creating early fraud alerts for streamlined refunds](https://yomu.fyi/post/workflows-creating-early-fraud-alerts-for-streamlined-refunds.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ashley Ansari
- Published: Jul 10, 2025

Stripe Workflows can automate responses to early fraud warnings so potentially fraudulent charges receive refunds when disputing them would be more costly. The workflow starts when an early fraud warning is created in Radar, retrieves the related charge using its Charge ID, and checks whether the amount is less than 15 USD. If the condition is met, it creates a refund; if it is not met, an optional branch can email a team member for manual review. Workflows uses a visual builder in the Stripe dashboard, where triggers, actions, and conditions run sequentially across multiple Stripe products, while Stripe Radar provides real-time fraud protection and Radar for Fraud Teams adds customization and deeper insights.


### [Stay within limits: API rate-limit-friendly pattern for Stripe webhooks](https://yomu.fyi/post/stay-within-limits-api-rate-limit-friendly-pattern-for-stripe-webhooks.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Phil Leggetter
- Published: Jul 3, 2025

Stripe webhook handlers that treat events as signals and fetch the latest resource can preserve correctness when payloads are stale, partial, duplicated, or out of order, but bursts of events can drive excessive API traffic. The post describes Stripe’s general limit as 100 read requests per second and notes that exceeding it produces 429 responses. Its solution places Hookdeck Event Gateway between Stripe and the application: Hookdeck authenticates and queues incoming webhooks, throttles delivery, and lets the handler retrieve the current Stripe resource at a controlled pace. The Express.js flow verifies the Hookdeck signature, checks the event and resource ID, fetches the invoice with the Stripe SDK, and supports queue monitoring, alerts, and retries for backpressure.


### [Stripe for marketplaces: Mapping commercial relationships in code](https://yomu.fyi/post/stripe-for-marketplaces-mapping-commercial-relationships-in-code.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ana Andres
- Published: Jul 3, 2025

The post presents a guide to mapping marketplace relationships among buyers, sellers, and the platform in Stripe Connect, focusing on payment processing, seller onboarding, payouts, fees, refunds, and disputes. It uses Greens & Dairy Mart, a fictitious farm marketplace, to show how an unlicensed marketplace can manage payments with Stripe while meeting applicable regulatory requirements. Using the Account API, connected accounts, controller settings, KYC links, capabilities, Payment Intents, transfers, and webhooks, the implementation encodes responsibilities and money movements. Greens & Dairy Mart charges customers after farmers confirm dispatch, pays farmers after delivery confirmation, and retains 15% of the final price. The guide also shows refund and transfer reversal flows, including recovering disputed amounts from a seller’s balance, and concludes that Connect APIs can automate complex marketplace contracts and financial interactions.


### [Using Connect embedded components to streamline your Connect onboarding flow](https://yomu.fyi/post/using-connect-embedded-components-to-streamline-your-connect-onboardin.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Jorge Aguirre Gonzalez
- Published: Jul 2, 2025

Furever, a test Connect platform for pet grooming, needs to onboard connected accounts and keep them compliant and activated while reducing friction. It first creates Custom accounts with card\_payments and transfers requested, then contrasts Stripe-hosted account links with an embedded flow built from Account Sessions, loadConnectAndInitialize, and ConnectAccountOnboarding. The integration supports appearance variables for branding, disable\_stripe\_user\_authentication when the platform owns losses and requirement collection, and onStepChange analytics for onboarding progress. A shared connectInstance can also render ConnectPayments, which provides payment listing, refunds, and dispute management without building that interface; the source also notes localization, framework support beyond React, and additional components.


### [Implementing scalable metered billing with Stripe: How Edgee handles billions of events](https://yomu.fyi/post/implementing-scalable-metered-billing-with-stripe-how-edgee-handles-bi.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Alex Casalboni
- Published: Jun 24, 2025

Edgee needed usage-based billing for a business combining flat-rate subscriptions with charges for proxy requests and delivered data events, while processing billions of monthly requests across more than 100 edge locations. Its architecture captures web data at the edge through a proxy and records raw metering data centrally in Google BigQuery. To control several terabytes of data, Edgee aggregates usage by tenant and sends hourly Stripe meter events through AWS Lambda, with graduated pricing and idempotency handled by Stripe. A Go configuration defines meters, prices, flat-rate plans, and pricing tiers, while retry logic and idempotent updates support resilience during disruptions. The resulting billing system remains stateless and low-latency while providing accurate monthly invoicing and a simple hosted customer interface.


### [Stop juggling multiple POS devices with Stripe Terminal](https://yomu.fyi/post/stop-juggling-multiple-pos-devices-with-stripe-terminal.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Andrew Robinson
- Published: Jun 12, 2025

Traditional point-of-sale workflows often collect signatures, contact details, receipt preferences, and other customer information through separate devices, verbal input, or manual entry, creating errors, delays, and clutter. Stripe Terminal’s on-screen input collection lets businesses request this data on a compatible reader, supporting selection, signature, email, phone, text, and numeric fields before or after payment. Developers configure forms with the Stripe API or Terminal SDKs, can sequence multiple inputs and attach metadata, and receive responses through terminal.reader.action\_succeeded webhooks; signature files are returned by file ID and need to be downloaded within 24 hours. The rental-car example uses selection and email forms for reservation lookup, followed by an on-reader agreement signature, replacing a separate signature pad and manual transcription while giving the POS more accurate data for receipts, lookups, and loyalty interactions.


### [Extending Docusign with Stripe to automate complex billing workflows](https://yomu.fyi/post/extending-docusign-with-stripe-to-automate-complex-billing-workflows.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Paige Rossi
- Published: Jun 2, 2025

Docusign’s Stripe extension app addresses agreement workflows that continue beyond eSignature, where customer and billing data previously required manual transfer or complex integrations between platforms. The post shows how to install the app, start from the “Send new customer data to Stripe for invoicing” Maestro workflow template, and map web-form data to Stripe Customer, Invoice, InvoiceItem, and Email Invoice steps. It also explains how developers can switch the workflow to an API trigger, retrieve trigger requirements, and launch an instance with two authenticated API calls: one GET and one POST. The resulting flow collects customer information, creates a Stripe customer and draft invoice, adds an invoice item, and sends the invoice, while the returned instance URL can be opened or embedded for participants.


### [How to easily charge customers across accounts in an organization](https://yomu.fyi/post/how-to-easily-charge-customers-across-accounts-in-an-organization.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Daniel Wood
- Published: May 7, 2025

Stripe’s Organizations customer and payment method sharing addresses the difficulty of giving customers a unified checkout when a business uses separate accounts for business lines or countries. After access is enabled, all new and existing customers and their saved card payment methods can be shared between selected accounts, using the same IDs, so a saved card can be charged in another account without recollection. Only selected customer fields—such as name, email, phone, tax IDs, and preferred locales—are shared; metadata, shipping, and other fields remain account-specific, while non-card payment methods cannot be charged cross-account. The guide demonstrates testing in an organization sandbox, creating Checkout Sessions with the shared customer ID, viewing organization-wide transactions, and using a single organization webhook; sharing is in preview and requires customer consent.


### [Introducing Stripe Workflows: Tailoring Payments to Your Business Needs](https://yomu.fyi/post/introducing-stripe-workflows-tailoring-payments-to-your-business-needs.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ben Smith
- Published: May 7, 2025

Stripe introduces Stripe Workflows, a Dashboard-based system for orchestrating Stripe products and APIs through responsive, end-to-end automation. It addresses the complexity of coordinating multiple Stripe products by replacing custom event-handling and dependency-management code with visual workflows that support real-time triggers, branching logic, dynamic fields, and more than 600 event triggers. Workflows includes execution monitoring with event-payload and step-level tracing, 30-day default log retention, exponential-backoff retries, built-in idempotency, and recursion protection capped at a depth of five. The post describes applications including reducing chargeback risk, routing high-value transactions for compliance review, and creating custom-priced subscriptions from finalized quotes without additional infrastructure.


### [Introducing Stripe's new public preview release channel](https://yomu.fyi/post/introducing-stripe-s-new-public-preview-release-channel.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Paul Anderson
- Published: May 7, 2025

Stripe announces its new public preview release channel, which provides early access to API features before their General Availability launches. Preview features are described as operationally stable and production-ready, but they may receive breaking changes more often than GA features and may have geographic, onboarding, or approval restrictions. Each preview uses a distinct API version ending in preview, such as 2025-04-30.preview, selected through the Stripe-Version header; preview versions also appear in the API reference and changelog. Beta SDKs will use these preview versions and include preview features, with releases differentiated from GA counterparts by suffixes such as 5.2.0-beta.1. The example shows that a feature released only in preview is rejected by a GA version, requiring an explicit version change before use; this separation lets teams integrate earlier and provide feedback while avoiding unintended adoption of features with known restrictions.


### [Sessions 2025 Developer Track resources](https://yomu.fyi/post/sessions-2025-developer-track-resources.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ashley Ansari
- Published: May 7, 2025

Stripe’s Sessions 2025 developer track recap presents new products, APIs, and enhancements for building and managing financial infrastructure. Stripe’s Workflows provides visual automation for real-time events, with more than 600 triggers, branching logic, dynamic fields, and built-in error handling, while the MCP server and agent toolkit connect AI tools and agents to Stripe documentation, account data, APIs, and financial capabilities. Accounts v2 unifies connected-account management, and fully localized Connect Mobile Embedded Components bring onboarding to iOS and Android; the Payment Element also gains support for the Checkout Sessions API. New Stripe Apps UI components, generally available Sandboxes, Organization-wide sharing of customers and payment methods, and conversational documentation extend customization, testing, and collaboration.


### [Optimizing Stripe API performance in Lambda with caching strategies](https://yomu.fyi/post/optimizing-stripe-api-performance-in-lambda-with-caching-strategies.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: James Beswick
- Published: Apr 21, 2025

The post addresses performance, cost, latency, and rate-limiting challenges that arise when applications make high-volume requests to Stripe's API from AWS Lambda. It presents a two-level cache using ElastiCache for Redis as the first layer and DynamoDB as the durable second layer, with Lambda coordinating cache reads, Stripe retrieval, and writes. On a miss, the function checks Redis, then DynamoDB, fetches the customer from Stripe if necessary, and stores the response in both layers with one-hour Redis and 24-hour DynamoDB TTLs. The DynamoDB design uses composite keys, a GSI for cache-type and timestamp queries, TTL cleanup, and environment-specific capacity settings; the post also discusses Redis connection pooling, Lambda sizing, capacity planning, cost control, monitoring, and webhook-based invalidation.


### [Because nobody likes being charged twice](https://yomu.fyi/post/because-nobody-likes-being-charged-twice.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ben Smith
- Published: Apr 10, 2025

Payment workflows can produce duplicate charges when a customer retries after a connection drop while the backend is still retrying the original request. The post frames network timeouts, crashes, database locks, downstream errors, and user interruptions as normal distributed-systems failures that can leave payment state uncertain. It recommends generating a unique idempotency key for one specific action, sending it with the Stripe request, and reusing it on every retry; Stripe recognizes the key for 24 hours and returns the original response. It also recommends placing payment jobs in a queue such as Amazon SQS, where workers retry failures and route repeatedly failing messages to a dead-letter queue. Together, queues preserve work during temporary outages and idempotency makes retries safe, while careful key scope and timing avoid stale or cross-operation behavior.


### [Using an AWS microservice architecture for subscription management](https://yomu.fyi/post/using-an-aws-microservice-architecture-for-subscription-management.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: James Beswick
- Published: Apr 8, 2025

Enterprise subscription management must handle mid-cycle plan changes, usage-based billing adjustments, synchronized service updates, atomicity, failed operations, data consistency, and auditability beyond basic recurring billing. This sample architecture uses an event-driven AWS design in which subscription changes are published to EventBridge and routed to Step Functions workflows. EventBridge provides at-least-once delivery, content-based filtering, dead-letter queue support, and integration with Step Functions, while Lambda functions validate changes, calculate Stripe proration, update external subscriptions, and trigger service-specific actions. Step Functions supplies retries with exponential backoff for StripeTemporaryError, DynamoDB stores current and historical subscription data using transactional updates, and Stripe calls use an event identifier as an idempotency key. The pattern is presented as a flexible foundation for reliability, maintainability, compensation for partial changes, and auditability in systems handling financial transactions and service provisioning.


### [Unlocking powerful analytics with Stripe Data Pipeline and Google BigQuery](https://yomu.fyi/post/unlocking-powerful-analytics-with-stripe-data-pipeline-and-google-bigq.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Sushant Jain
- Published: Mar 21, 2025

As businesses scale, the post addresses the need to move Stripe revenue data into BigQuery for recurring reporting and analysis. It describes configuring Stripe Data Pipeline to export transactions, invoices, subscriptions, and payments to Google Cloud Storage, then using a Python-based Google Cloud Run Job to discover the latest snapshot through data\_load\_times.json and enumerate each table’s Parquet files. The loader sends those files to BigQuery with the Google Cloud clients, creates missing tables, uses WRITE\_TRUNCATE to retain the latest snapshot, and parallelizes table loads with ThreadPoolExecutor while collecting errors. After deployment and a test execution, the workflow is verified in BigQuery and scheduled to run every six hours, providing an automated path to refreshed Stripe data for analytics.


[Newer posts](https://yomu.fyi/company/stripe.md) · [Older posts](https://yomu.fyi/company/stripe/page/3.md)
