Back to Gateway Index
Stripe logo
Payment Gateway

Stripe

Developer-first payment infrastructure powering millions of businesses worldwide

Builder Verdict

Pick Stripe when developer experience, API quality, and ecosystem breadth matter more than the lowest per-transaction fee — it's the default choice for SaaS, marketplaces, and subscription businesses.

Complexity

◆◆ Moderate

Region

46+ countries

Fees

2.9% + 30¢

Stripe is a full-stack financial infrastructure platform founded in 2010 that processes over $1.4 trillion in payments annually. It offers a unified API for accepting payments, managing subscriptions, handling payouts, preventing fraud, and more — available in 46+ countries with support for 135+ currencies.

Last full audit: April 13, 2026

01

Trust Score Breakdown

Account Stability

68/100

Frequent complaints across Reddit, Trustpilot, and BBB about automated account freezes triggered by transaction spikes, chargeback rates above 0.75%, or missing documentation. No human review before freezes occur. Visa's 2026 VAMP rules may further tighten thresholds. Legitimate businesses are regularly affected.

Developer Experience

96/100

Industry-leading API design, comprehensive documentation that developers consistently praise as 'best-in-class', mature SDKs in every major language, excellent test mode with edge-case simulation, Stripe CLI for local development, and a rich ecosystem of pre-built UI components (Elements, Checkout, Payment Links). The gold standard for payment API developer experience.

Payout Reliability

82/100

Payouts are generally reliable with T+2 in the US and T+3 in most of Europe after initial period. However, automated risk systems can freeze funds without human review, and some merchants report prolonged fund holds during disputes. Payout timing is predictable when accounts are in good standing.

Support Quality

58/100

Trustpilot rating of 2.8/5. Support is primarily ticket-based and chatbot-driven. Developers report slow response times, especially for urgent payout and dispute issues. Some users report weeks of email back-and-forth for account holds. Tuesday/Wednesday mornings tend to have shorter wait times. Live agent access is limited.

Track Record

92/100

Founded in 2010, Stripe is one of the most valuable fintech companies globally. Processes $1.4+ trillion annually across millions of businesses. Strong uptime record, continuous product innovation (Stripe Sessions annual conference), and consistent expansion into new countries and financial products. Trusted by major enterprises and startups alike.

Transparency

83/100

Clear public pricing page with no setup or monthly fees. However, international fee stacking (base + 1.5% international + 1% conversion) is not immediately obvious and can push effective rates above 5%. Dispute counter fee ($15 to contest) was introduced in mid-2025 with limited advance notice. Billing pricing increased from 0.5% to 0.7% in June 2025.

02

Availability Matrix

Region Countries Currencies Payout Timing
North America US, Canada, Mexico USD, CAD, MXN + 135+ presentment currencies T+2 business days (US), T+3 business days (CA/MX after initial 7-day period)
Europe UK, Germany, France, Netherlands, Spain, Italy, Ireland, Belgium, Austria, Switzerland, Sweden, Denmark, Norway, Finland, Portugal, Poland, Czech Republic, Romania, Hungary, Bulgaria, Greece, Croatia, Slovakia, Slovenia, Estonia, Latvia, Lithuania, Luxembourg, Malta, Cyprus, Iceland, Liechtenstein, Gibraltar, Monaco, San Marino, Albania, Bosnia and Herzegovina, North Macedonia, Serbia, Moldova EUR, GBP, CHF, SEK, NOK, DKK, PLN, CZK, RON, HUF, BGN, ISK + more 7 calendar days initial, then T+3 business days (most countries)
Asia-Pacific Australia, Japan, Singapore, Hong Kong, New Zealand, Malaysia, Thailand, Indonesia, Philippines, Vietnam, South Korea, Taiwan, Cambodia, Sri Lanka, Mongolia, Macau, Bangladesh, Brunei, Bhutan, Laos AUD, JPY, SGD, HKD, NZD, INR, MYR, THB, IDR, PHP, VND, KRW, TWD + more T+2 (AU), T+4 (NZ), T+7 (TH), T+5 (UAE), weekly (JP), 7 cal days (SG/HK/MY)
India (invite-only) India — invite-only access since May 2024. Merchants cannot self-serve through stripe.com and must request an invite via Stripe sales. Approvals favor registered businesses with GSTIN, a credible website, and export documentation; individual freelancers are rarely approved. Pricing is India-specific and tiered — different from Stripe's global 2.9% + 30¢: 2% on domestic Visa/Mastercard, 3% on international cards, 3.5% on Amex, 4.3% when the customer pays in a foreign currency, plus a 2% currency-conversion fee. Stripe India does not support UPI, RuPay, or Indian wallets (Paytm, PhonePe) — cards and international methods only. INR + international presentment T+3 to T+7 business days (varies by account and method)
Middle East & North Africa UAE, Saudi Arabia, Bahrain, Qatar, Kuwait, Oman, Jordan, Egypt, Israel, Morocco, Tunisia, Turkey, Algeria AED, SAR, BHD, QAR, KWD, OMR, JOD, EGP, ILS, MAD, TND, TRY, DZD T+5 business days (UAE), varies by country
Sub-Saharan Africa South Africa, Kenya, Ghana, Tanzania, Rwanda, Ethiopia, Ivory Coast, Senegal, Gambia, Mauritius, Namibia, Madagascar, Benin, Niger, Angola, Botswana, Gabon, Mozambique ZAR, KES, GHS, TZS, RWF, ETB, XOF, MUR + more Varies by country, typically T+7 or longer
Nigeria (no direct merchant accounts) Nigeria — Stripe does NOT offer direct Nigerian merchant accounts. Nigerian customer payments are only available through Stripe's merchant-of-record setup with Paystack (which Stripe owns). Foreign merchants accepting Nigerian customers can take Naira cards and Naira bank transfers today; Naira wallet payments and recurring Naira bank transfers are rolling out. Nigerian builders who want a native Stripe dashboard typically incorporate a US/UK entity via Stripe Atlas and onboard that entity to Stripe. Presentment: NGN. Settlement in USD for US-based accounts. No direct NGN payout for Nigerian-entity merchants (none offered). N/A for Nigerian-entity merchants. Stripe Atlas-based US/UK entities receive standard Stripe payouts. Paystack MoR funds settle per Paystack's T+1 schedule. Stripe's Nigerian documentation notes funds available after 3 days for foreign merchants accepting Nigerian customer payments. Buyer-initiated disputes cannot be challenged.
Latin America & Caribbean Brazil, Argentina, Chile, Colombia, Peru, Uruguay, Paraguay, Ecuador, Bolivia, Costa Rica, Panama, Dominican Republic, Guatemala, El Salvador, Jamaica, Trinidad and Tobago, Guyana, Bahamas, Antigua and Barbuda, Saint Lucia BRL, ARS, CLP, COP, PEN, UYU, PYG + more 30 calendar days (BR), T+3 business days after initial period (most others)
Central Asia Armenia, Azerbaijan, Kazakhstan, Uzbekistan, Pakistan AMD, AZN, KZT, UZS, PKR Varies by country
NOT Available (notable exclusions) China (mainland), Russia, Iran, Cuba, North Korea, Venezuela, Syria, most of Central Africa N/A N/A
03

Feature Snapshot

One-time Payments

Via Checkout, Payment Links, Payment Intents API, or Elements. Supports cards, wallets, and local payment methods.

Subscriptions / Recurring Billing

Stripe Billing supports flat-rate, per-seat, usage-based, tiered, and hybrid pricing models. Includes trial periods, coupons, and proration.

Invoicing

Hosted invoice pages, PDF generation, automatic reminders, and manual or subscription-triggered invoices.

Marketplace / Platform Payments (Connect)

Stripe Connect enables split payments, multi-party payouts, onboarding for sub-merchants, and platform fee collection.

In-Person Payments (Terminal)

Stripe Terminal provides SDKs and certified card readers for POS integration. EMVCo Level 1 and 2 certified.

Payment Links (No-Code)

Generate shareable payment links from the Dashboard without writing code. Supports one-time and recurring.

Hosted Checkout

Stripe Checkout is a prebuilt, conversion-optimized payment page. Supports 40+ payment methods and 30+ languages.

Embeddable UI (Elements)

Pre-built UI components for custom checkout flows. Handles PCI compliance by tokenizing card data client-side.

Link (Accelerated Checkout)

Saves customer payment info for one-click checkout across Stripe merchants. Improves conversion rates.

Fraud Prevention (Radar)

ML-based fraud detection trained on data from millions of businesses. Includes Radar for Fraud Teams with custom rules, block/allow lists, and Adaptive 3D Secure.

3D Secure Authentication

Supports 3DS1 and 3DS2. Adaptive 3D Secure via Radar intelligently applies authentication based on risk. Enables liability shift for authenticated payments.

Customer Portal

Prebuilt, hosted portal where customers can manage subscriptions, update payment methods, and view invoices.

Tax Collection (Stripe Tax)

Automatic sales tax, VAT, and GST calculation and collection. Supports 50+ countries.

Identity Verification

Stripe Identity verifies user IDs with document capture and selfie matching.

Card Issuing

Stripe Issuing lets you create virtual and physical cards programmatically.

Financial Connections

Connect to users' bank accounts for ACH payments, account verification, and balance checks.

Revenue Recognition

Automated revenue recognition compliant with ASC 606 and IFRS 15.

Reporting & Analytics (Sigma)

SQL-based reporting on all Stripe data. Also offers prebuilt Dashboard reports.

Webhooks

Real-time event notifications for 100+ event types. Supports signature verification, retries, and local testing via Stripe CLI.

Multi-Currency Support

Accept payments in 135+ currencies. Automatic currency conversion to settlement currency with 1% fee.

04

Pricing Breakdown

Standard card transaction (domestic) 2.9% + 30¢
International card surcharge +1.5% on top of base rate
Currency conversion fee +1% when payment currency differs from settlement currency
ACH Direct Debit 0.8% (capped at $5)
ACH Credit (payouts) $1 per payout
Wire transfer $8 per transfer
Instant payouts 1.5% (minimum $0.50)
Dispute / chargeback fee $15 per dispute (non-refundable)
Dispute counter fee (contesting a dispute) $15 additional if you fight the dispute (refunded if you win)
Radar fraud screening 2¢ per screened transaction (included for standard accounts, Radar for Fraud Teams is extra)
Stripe Billing (recurring) 0.7% on recurring payments (Starter plan, increased from 0.5% in June 2025)
Stripe Invoicing 0.4% per paid invoice (Starter) / 0.5% capped at $2 (Plus)
Setup / monthly / cancellation fees None — no setup, monthly, or cancellation fees
05

Security & Compliance

PCI DSS Level 1 Service Provider (highest level) — certified annually by independent QSA
SOC 2 SOC 2 Type II certified. SOC 3 report publicly available.
Encryption TLS 1.2+ required for all connections. Mutual TLS (mTLS) for all internal server-to-server communication. AES-256 encryption at rest.
3D Secure Supports 3DS1 and 3DS2. Adaptive 3D Secure via Radar applies authentication intelligently based on risk scoring.
Fraud Prevention (Radar) ML-based fraud detection trained on data from millions of businesses processing $1.4T+ annually. Custom rules, block/allow lists, risk scoring on every payment.
EMVCo (Terminal) EMVCo Level 1 and Level 2 certified for Stripe Terminal card readers.
Tokenization Client-side tokenization via Elements and Checkout — raw card data never touches merchant servers, reducing PCI scope to SAQ-A.
Webhook Security All webhook events include HMAC-SHA256 signatures for verification. Official libraries provide signature verification helpers.
06

Integration Prompt

Copy & use this 3514-char integration prompt

Production-ready prompt for Claude / GPT / Cursor — handles setup, security, webhooks & gotchas

You are integrating Stripe as a payment gateway into a [Django / Next.js / etc.] application.

## Setup
1. Install the Stripe SDK: `pip install stripe` (Python) or `npm install stripe` (Node.js)
2. Store your API keys in environment variables — NEVER hardcode them:
   - `STRIPE_PUBLIC_KEY` (publishable key, starts with `pk_`)
   - `STRIPE_SECRET_KEY` (secret key, starts with `sk_`)
   - `STRIPE_WEBHOOK_SECRET` (webhook signing secret, starts with `whsec_`)
3. Validate keys on application startup to catch test/live mismatches early.

## Recommended Integration: Stripe Checkout (Hosted)
For most use cases, use Stripe Checkout — it's PCI-compliant out of the box, handles 3D Secure, and supports 40+ payment methods:

```python
import stripe
stripe.api_key = settings.STRIPE_SECRET_KEY

session = stripe.checkout.Session.create(
    payment_method_types=['card'],
    line_items=[{
        'price_data': {
            'currency': 'usd',
            'product_data': {'name': 'Product Name'},
            'unit_amount': 2000,  # $20.00 in cents
        },
        'quantity': 1,
    }],
    mode='payment',  # or 'subscription' for recurring
    success_url='https://yourdomain.com/success?session_id={CHECKOUT_SESSION_ID}',
    cancel_url='https://yourdomain.com/cancel',
    metadata={'order_id': 'your_internal_id'},
)
```

## Webhook Handling (Critical)
Never rely solely on the success redirect — always confirm payment via webhooks:

1. Register your webhook endpoint in the Stripe Dashboard
2. Listen for `checkout.session.completed` and `payment_intent.succeeded`
3. ALWAYS verify the webhook signature:
```python
import stripe

def webhook_handler(request):
    payload = request.body
    sig_header = request.META.get('HTTP_STRIPE_SIGNATURE')
    try:
        event = stripe.Webhook.construct_event(payload, sig_header, settings.STRIPE_WEBHOOK_SECRET)
    except (ValueError, stripe.error.SignatureVerificationError):
        return HttpResponse(status=400)
    
    if event['type'] == 'checkout.session.completed':
        session = event['data']['object']
        # Fulfill the order using session.metadata['order_id']
    
    return HttpResponse(status=200)
```
4. Implement idempotency: track processed event IDs to prevent duplicate fulfillment
5. Return 200 quickly, then process asynchronously

## Security Best Practices
- Use Stripe Elements or Checkout — never collect raw card data on your server
- Enable Radar for automated fraud screening (included with standard pricing)
- Set up 3D Secure (Stripe handles this automatically with Checkout)
- Use HTTPS everywhere — Stripe rejects HTTP endpoints
- Implement Content Security Policy headers allowing Stripe's domains
- Use idempotency keys for all state-changing API calls to prevent duplicate charges

## Testing
- Use test mode keys (prefix `sk_test_` / `pk_test_`)
- Test card numbers: `4242424242424242` (success), `4000000000000002` (decline)
- Use Stripe CLI for local webhook testing: `stripe listen --forward-to localhost:8000/webhooks/stripe/`
- Test edge cases: failed payments, expired cards, 3DS challenges, disputes

## Common Gotchas
- Metadata does NOT auto-copy across all related objects — explicitly pass it
- Amounts are in the smallest currency unit (cents for USD, so $10 = 1000)
- International cards add 1.5% + optional 1% currency conversion on top of base rate
- Webhook endpoints must respond within 20 seconds or Stripe will retry
- Don't forget to handle `payment_intent.payment_failed` for declined payments

Replace [Django / Next.js / etc.] with your stack. Follows PCI DSS best practices and handles common edge cases.

07

Common Pitfalls

7 items
1

Automated account freezes without human review

Stripe's risk system is fully automated — no human reviews your account before a freeze. Transaction spikes, chargeback rates above 0.75%, or missing documentation can trigger instant restrictions. Thousands of legitimate accounts are frozen monthly. Mitigation: keep documentation current, maintain low dispute rates, and gradually ramp transaction volume.

2

International fee stacking can exceed 5%

A US business accepting a European card in euros pays: 2.9% + 30¢ (base) + 1.5% (international card) + 1% (currency conversion) = 5.4% + 30¢. This fee stacking is not immediately obvious from the main pricing page. Mitigation: consider local Stripe accounts in key markets or use Stripe's multi-currency settlement.

3

Dispute counter fee adds cost to fighting chargebacks

Since June 2025, contesting a dispute costs an additional $15 on top of the $15 initial dispute fee. If you win, the counter fee is refunded; if you lose, you're out $30 total. Smart Disputes (AI-driven) waives the counter fee but takes 30% of recovered revenue. This changes the economics of disputing small chargebacks.

4

Webhook handling failures cause missed payments

Over 40% of unprocessed payments result from missing webhook handlers or invalid signature verification. Stripe relies heavily on webhooks for async payment confirmation. Mitigation: always verify webhook signatures, use idempotency keys, implement proper error handling, and monitor for failed deliveries in the Dashboard.

5

Test/live API key confusion

Mismatched API keys (using test keys in production or vice versa) account for ~25% of integration errors. Test and live keys look similar. Mitigation: use environment variables, never hardcode keys, and implement key validation on startup.

6

Billing pricing increase (0.5% to 0.7%)

Stripe increased Billing Starter pricing from 0.5% to 0.7% on recurring payments effective June 30, 2025. Existing customers on promotional rates were affected. This adds up for high-volume subscription businesses.

7

Visa VAMP rules tightening chargeback thresholds

Visa's new VAMP (Visa Acquirer Monitoring Program) rules in 2026 have tightened chargeback thresholds globally. Stripe may lower internal risk thresholds to stay ahead of card network rules, meaning even small dispute spikes could trigger account reviews or freezes.

08

Community Pulse

Developers consistently praise Stripe's API design, documentation quality, and comprehensive test mode as best-in-class in the payments industry. However, significant frustration exists around automated account freezes affecting legitimate businesses, slow ticket-based support with heavy chatbot reliance (Trustpilot 2.8/5), and the opacity of risk decisions. The mid-2025 Billing price increase (0.5% to 0.7%) and new dispute counter fee drew criticism. Despite these issues, most developers still consider Stripe the default choice for payment integration due to its unmatched DX and ecosystem breadth.

💬 Stripe Froze My Account: Get Your Money Back (2026) Payment processing forums · 2026
💬 Stripe Reviews and Complaints Trustpilot · 2026
💬 Stripe Reviews 2026 - Product Hunt Product Hunt · 2026

Sentiment last updated: April 2026 · We summarize — never copy — community content. Links go to original threads.

09

Changelog

  1. availability

    Split Nigeria out of the generic Sub-Saharan Africa row into its own 'Nigeria (no direct merchant accounts)' row. Stripe does not offer native Nigerian merchant accounts; Nigerian customer payments are only available via Stripe's merchant-of-record setup through Paystack. Nigerian builders wanting a native Stripe dashboard must incorporate a foreign entity (e.g., via Stripe Atlas). Clarified Nigerian payment-method support (Naira cards live; Naira bank transfer live; recurring Naira bank transfer and Naira wallet rolling out) and the 'cannot challenge buyer-initiated disputes' caveat.

  2. availability

    Corrected India row: removed undocumented '7-day initial hold' claim and updated payout timing to T+3 to T+7 range. Added India-specific tiered pricing (2% domestic / 3% international / 3.5% Amex / 4.3% foreign-currency-presented + 2% FX) to clarify it differs from Stripe's global 2.9% + 30¢. Explicitly noted that Stripe India does not support UPI, RuPay, or Indian wallets.

  3. availability

    Split India out of the Asia-Pacific availability row into its own 'India (invite-only)' row. Stripe India has been invite-only since May 2024 — merchants cannot self-serve and must request an invite via Stripe sales.

  4. all

    Initial gateway entry created with full audit — all categories verified from scratch

Back to Gateway Index

LearnWithHasan.com · Payment Gateway Index · No affiliate links · Builder-first