Overview
Stripe is a technology company that provides economic infrastructure for the internet. Its primary offering is a suite of APIs and tools that enable businesses, from startups to large enterprises, to accept and manage online payments. Founded in 2009, Stripe has positioned itself as a developer-friendly platform, emphasizing comprehensive documentation and robust SDKs to facilitate integration.
The platform supports a wide array of payment methods, including credit and debit cards, mobile wallets like Apple Pay and Google Pay, and local payment methods across various countries. This global coverage is a key aspect of Stripe's offering, allowing businesses to expand their reach without managing multiple payment providers. Stripe's infrastructure is designed to handle the complexities of international transactions, including currency conversion, local tax regulations, and compliance requirements.
Beyond basic payment processing, Stripe offers specialized products for recurring billing (Stripe Billing), marketplace payments (Stripe Connect), and fraud prevention (Stripe Radar). These integrated services aim to provide a comprehensive solution for various business models, reducing the need for multiple third-party integrations. For instance, Stripe Connect allows platforms to facilitate payments between multiple parties, handling the complexities of splitting funds and managing payouts to vendors or service providers Stripe Connect documentation. Similarly, Stripe Radar utilizes machine learning to detect and block fraudulent transactions, adapting to evolving fraud patterns Stripe Radar features.
Stripe is often chosen by businesses that prioritize developer control, customization, and scalability. Its API-first approach means that developers can integrate payment functionality directly into their applications, tailoring the user experience and backend logic to their specific needs. The platform's extensive documentation and support for multiple programming languages (Python, Ruby, Node.js, PHP, Go, Java, C#, Stripe.js) contribute to its appeal among technical teams. The company maintains a strong focus on security and compliance, adhering to standards such as PCI DSS Level 1, SOC 1, SOC 2, GDPR, and CCPA Stripe security and compliance overview. This commitment to compliance helps businesses mitigate regulatory risks associated with handling sensitive financial data.
While Stripe offers a robust set of tools, businesses evaluating payment solutions may also consider alternatives like Adyen, which also focuses on enterprise-level payment processing with a strong global footprint, particularly for larger merchants and omnichannel retail Adyen payment methods. The choice often depends on specific business requirements, existing technical infrastructure, and the level of customization desired.
Key features
- Payments: Accept credit cards, debit cards, and local payment methods online and in-person.
- Billing: Manage recurring revenue, subscriptions, and invoicing with automated billing cycles.
- Connect: Facilitate payments for platforms and marketplaces, enabling payouts to multiple sellers or service providers.
- Radar: Utilize machine learning for fraud detection and prevention, adapting to real-time threat landscapes.
- Terminal: Integrate in-person payments with hardware for physical retail environments.
- Checkout: Pre-built, customizable payment pages for quick integration, supporting various payment methods and anti-fraud measures.
- Identity: Verify user identities globally to reduce fraud and meet compliance requirements.
- Tax: Automate sales tax, VAT, and GST calculation and collection across different jurisdictions.
- Financial Connections: Programmatically access customer-permissioned financial data from bank accounts.
- Developer Tools & APIs: Comprehensive documentation, SDKs, and API references for custom integrations across popular programming languages.
- Global Reach: Support for over 135 currencies and dozens of payment methods worldwide.
Pricing
Stripe operates on a pay-as-you-go model with no monthly fees for its standard processing. Custom pricing is available for businesses with large transaction volumes or unique business models. Pricing details are subject to change; refer to the official Stripe pricing page for the most current information.
| Product/Service | Pricing Model | Details |
|---|---|---|
| Online Card Payments | 2.9% + 30¢ | Per successful transaction (Visa, Mastercard, Discover, American Express). |
| In-person Payments (Terminal) | 2.7% + 5¢ | Per successful transaction. |
| ACH Direct Debit | 0.8% | Capped at $5.00 per transaction. |
| International Cards | Additional 1.5% | For cards issued outside the US, plus 1% for currency conversion if applicable. |
| Stripe Billing | 0.5% - 0.8% of recurring charges | Varies by plan (Starter, Scale). |
| Stripe Radar (Fraud Prevention) | 0.05¢ per screened transaction | Additional cost for advanced fraud tools. |
| Stripe Connect | Custom pricing | Varies based on platform type (Standard, Express, Custom) and volume. |
For detailed and up-to-date pricing, please visit the official Stripe pricing page.
Common integrations
- E-commerce Platforms: Integrations with platforms like Shopify, WooCommerce Stripe for Shopify, and Magento for checkout and payment processing.
- CRM Systems: Connectors for Salesforce, HubSpot, and other CRM tools to manage customer billing and payment data.
- Accounting Software: Integrations with Xero, QuickBooks Stripe for QuickBooks, and NetSuite for automated reconciliation and financial reporting.
- Subscription Management: Built-in capabilities with Stripe Billing, or integrations with specialized subscription platforms.
- Analytics & Reporting: Connectors to business intelligence tools and data warehouses for deeper insights into payment data.
- Marketing Automation: Integration with marketing platforms to trigger actions based on payment events.
Alternatives
- PayPal: A widely recognized payment gateway offering various online payment solutions, including PayPal Checkout and Braintree for developer-focused integrations.
- Square: Primarily known for its point-of-sale (POS) systems, Square also offers online payment processing, invoicing, and business management tools.
- Adyen: An end-to-end payment platform for large enterprises, focusing on global payments, omnichannel solutions, and advanced risk management.
Getting started
To begin integrating Stripe, developers typically use one of the official SDKs. The following Python example demonstrates how to create a new charge using the Stripe Python library. This assumes you have authenticated your API client with your secret key.
import stripe
# Set your secret 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'
try:
# Create a PaymentIntent with the amount and currency
# For this example, we're assuming a client-side payment method ID is available
# In a real application, you'd collect payment method details from the client
intent = stripe.PaymentIntent.create(
amount=2000, # amount in cents, e.g., $20.00
currency='usd',
payment_method_types=['card'],
description='Example charge for a product',
# You would typically pass a payment_method ID here obtained from the client
# For demonstration purposes, we'll create a dummy one or use a test card token
# payment_method='pm_card_visa', # Replace with actual payment method ID
confirm=True, # Confirm the intent immediately
# This parameter is required for PaymentIntents without an explicit customer
return_url='https://example.com/order/complete',
)
print(f"PaymentIntent created: {intent.id}")
print(f"Status: {intent.status}")
# In a real application, you would handle the intent.status to determine
# next steps (e.g., redirect for 3D Secure, show success message)
except stripe.error.CardError as e:
# Display error to the user
print(f"Card error: {e.user_message}")
print(f"Code: {e.code}")
except stripe.error.RateLimitError as e:
# Too many requests made to the API too quickly
print(f"Rate limit error: {e}")
except stripe.error.InvalidRequestError as e:
# Invalid parameters were supplied to Stripe's API
print(f"Invalid request error: {e}")
except stripe.error.AuthenticationError as e:
# Authentication with Stripe's API failed
# (maybe you changed API keys; or your API key is invalid)
print(f"Authentication error: {e}")
except stripe.error.APIConnectionError as e:
# Network communication with Stripe failed
print(f"API connection error: {e}")
except stripe.error.StripeError as e:
# Display a very generic error to the user, and maybe send
# yourself an email
print(f"Generic Stripe error: {e}")
except Exception as e:
# Something else happened, completely unrelated to Stripe
print(f"An unexpected error occurred: {e}")
This example initializes the Stripe client with a secret key and then attempts to create a PaymentIntent. In a production environment, PaymentIntent creation typically involves client-side collection of payment method details using Stripe.js and then confirming the intent server-side. For detailed integration guides and specific product examples, developers should consult the Stripe documentation and the Stripe API reference.