Overview

Stripe is a technology company that provides financial infrastructure for the internet, specializing in online payment processing and related financial services. Founded in 2009, Stripe offers a platform that enables businesses of all sizes to accept payments, manage subscriptions, facilitate marketplace transactions, and handle various other financial operations globally. The platform is designed with a developer-first approach, providing extensive APIs and SDKs across multiple programming languages, including Python, Ruby, Java, Node.js, PHP, and Go, to facilitate integration into web and mobile applications.

Stripe's core product, Payments, supports a wide range of payment methods, including credit and debit cards, mobile wallets like Apple Pay and Google Pay, and local payment options such as SEPA Direct Debit and iDEAL. Beyond basic transaction processing, Stripe offers a suite of products tailored for specific business needs. Stripe Billing automates recurring payments and subscription logic, while Stripe Connect provides tools for building multi-sided marketplaces and platforms that need to pay out to third-party sellers or service providers. For fraud prevention, Stripe Radar uses machine learning to detect and block fraudulent transactions. Other offerings include Stripe Identity for identity verification, Stripe Tax for automated sales tax calculation, and Stripe Terminal for in-person payments.

Stripe's services are suited for e-commerce businesses, SaaS companies managing recurring revenue, and platforms requiring complex payment routing. Its global infrastructure supports transactions in over 135 currencies and offers features like dynamic currency conversion. The company maintains various compliance certifications, including PCI DSS Level 1, SOC 1, SOC 2, PSD2, GDPR, and AML, to meet regulatory requirements across different jurisdictions. As an alternative to other payment gateways, Stripe emphasizes developer experience through its comprehensive documentation and API consistency, aiming to simplify the technical complexities of financial operations for its users. For instance, while PayPal also offers payment processing, Stripe's API-centric approach often caters to developers seeking more granular control over the payment flow, as noted by discussions among developers on platforms like Stack Overflow about integrating various payment solutions. Developers frequently discuss the advantages of Stripe's API design for custom integrations on sites such as Stack Overflow.

Key features

  • Payment Processing: Facilitates acceptance of credit cards, debit cards, and local payment methods across over 135 currencies, supporting one-time and recurring transactions (Stripe Payments documentation).
  • Subscription Management (Billing): Automates recurring billing, invoicing, and revenue recognition for subscription-based businesses, including prorations and dunning management (Stripe Billing overview).
  • Marketplace Payments (Connect): Provides tools for platforms to onboard sellers, collect payments, and disburse funds to multiple parties, supporting various business models (Stripe Connect guide).
  • Fraud Prevention (Radar): Utilizes machine learning to detect and block fraudulent payments in real-time, adapting to evolving fraud patterns (Stripe Radar documentation).
  • Identity Verification (Identity): Offers identity verification services to confirm user identities, reduce fraud, and meet compliance requirements (Stripe Identity features).
  • Tax Automation (Tax): Calculates and collects sales tax, VAT, and GST automatically across various jurisdictions, simplifying tax compliance (Stripe Tax overview).
  • In-Person Payments (Terminal): Extends online payment capabilities to physical retail environments with hardware and software for card readers and point-of-sale systems (Stripe Terminal integration).
  • Financial Services (Treasury): Enables platforms to embed financial services like accounts and debit cards directly into their products (Stripe Treasury documentation).
  • Developer Tools: Offers comprehensive API documentation, SDKs for multiple languages, webhooks, and developer dashboards for testing and management (Stripe Developer Documentation).

Pricing

Stripe's pricing model is primarily pay-as-you-go, with no monthly fees for its standard processing. Custom pricing is available for businesses with large transaction volumes or unique business models.

Product/Service Pricing Model Details As of Date
Online Card Charges (Payments) 2.9% + $0.30 per successful charge Standard rate for most credit and debit cards. Additional fees may apply for international cards or currency conversion. 2026-05-07
In-Person Card Charges (Terminal) 2.7% + $0.05 per successful charge Rate for transactions processed via Stripe Terminal card readers. 2026-05-07
ACH Direct Debit 0.8% (capped at $5.00) For US-based ACH payments. 2026-05-07
Billing (Recurring Revenue) 0.5% - 0.8% of recurring charges Additional percentage on top of standard payment processing fees, varies by plan (Starter, Scale). 2026-05-07
Connect (Platforms) Starts at $2.00 per active account per month + transaction fees Pricing varies based on Connect account type (Standard, Express, Custom) and features used. 2026-05-07
Radar (Fraud Protection) $0.05 per screened transaction (Radar for Fraud Teams) Built-in fraud prevention is included with Payments. Advanced features are an add-on. 2026-05-07
Identity (Identity Verification) Starts at $1.50 per verification Volume discounts available. 2026-05-07
Tax (Automated Tax Compliance) 0.5% of sales where tax is collected Additional fee applied to sales volumes where Stripe Tax calculates and collects tax. 2026-05-07

For detailed and up-to-date pricing information, including country-specific rates and enterprise plans, refer to the official Stripe pricing page.

Common integrations

  • E-commerce Platforms: Integrates with platforms like Shopify, WooCommerce, and Magento to process payments directly within online stores (Stripe E-commerce Integrations).
  • Accounting Software: Connects with Xero and QuickBooks to synchronize transaction data for financial reporting and reconciliation (Stripe Accounting Integrations).
  • CRM Systems: Integrates with Salesforce and HubSpot to manage customer payment information and subscription details alongside CRM data (HubSpot Stripe integration guide).
  • Marketing Automation: Works with tools to automate actions based on payment events, such as sending follow-up emails after a successful purchase or subscription renewal.
  • Custom Applications: Utilizes comprehensive APIs and SDKs to integrate payment and financial services into custom web and mobile applications (Stripe API Reference).

Alternatives

  • PayPal: A widely used payment processing service offering online payments, merchant services, and peer-to-peer transfers, often simpler for basic setups.
  • Adyen: A global payment platform providing end-to-end infrastructure for online, in-app, and in-store payments, often favored by larger enterprises for its comprehensive feature set.
  • Square: Primarily known for its point-of-sale (POS) systems and in-person payment processing, also offering online payment solutions and business management tools.
  • Braintree: A PayPal service that offers robust payment gateway and merchant account services with a developer-friendly API, similar to Stripe's approach.
  • Checkout.com: A cloud-based payment solution designed for large enterprises, providing a unified platform for processing payments across various channels and geographies.

Getting started

To get started with Stripe, developers typically use one of the available SDKs to integrate payment processing into their application. The following Python example demonstrates how to create a simple one-time payment using the Stripe Python library. This example assumes you have a Stripe account and have set up your API keys.


import stripe

# Set your secret API key. Remember to switch to your live secret key in production.
# See your keys here: https://dashboard.stripe.com/apikeys
stripe.api_key = 'sk_test_YOUR_SECRET_KEY'

def create_charge(amount_in_cents, currency, source_token, description):
    try:
        charge = stripe.Charge.create(
            amount=amount_in_cents,  # Amount in cents
            currency=currency,
            source=source_token,  # Obtained with Stripe.js or Checkout
            description=description
        )
        print(f"Charge successful: {charge.id}")
        print(f"Amount: {charge.amount / 100} {charge.currency.upper()}")
        return charge
    except stripe.error.CardError as e:
        # Since it's a decline, stripe.error.CardError will be caught
        body = e.json_body
        err = body.get('error', {})
        print(f"Status is: {e.http_status}")
        print(f"Type is: {err.get('type')}")
        print(f"Code is: {err.get('code')}")
        print(f"Message is: {err.get('message')}")
        return None
    except stripe.error.StripeError as e:
        # Display a very generic error to the user, and log it
        print(f"An unexpected error occurred: {e}")
        return None

# Example usage:
# In a real application, source_token would come from your frontend
# after a user enters their card details. For testing, you can use test tokens.
# For example, 'tok_visa' is a test token for a Visa card.

# To obtain a source token in a web application:
# 1. Include Stripe.js on your frontend.
# 2. Use stripe.elements or stripe.checkout to collect card details.
# 3. Create a token: stripe.createToken(cardElement).then(function(result) { console.log(result.token.id); });

# For demonstration purposes with a test token:
# REPLACE 'tok_visa' with a token from your frontend integration for live usage.
# Refer to Stripe's documentation for client-side integration: https://stripe.com/docs/js

test_source_token = 'tok_visa' # A test token provided by Stripe for development

if test_source_token:
    charge_result = create_charge(2000, 'usd', test_source_token, 'Example charge for a product')
    if charge_result:
        print("Charge completed successfully.")
    else:
        print("Charge failed.")

This Python code snippet illustrates the backend logic for processing a payment. On the frontend, you would use Stripe.js to securely collect card details and generate a source_token, which is then sent to your backend. The backend then uses this token to create a charge via the Stripe API. For a complete guide on integrating Stripe into your application, including frontend setup and handling webhooks, refer to the Stripe Payments quickstart guide.