Payment API Comparison 2026

Side-by-side comparison of 7 payment processing services. Transaction fees, subscriptions, marketplace payouts, Merchant of Record options, and real code examples.

payment api stripe alternative stripe vs square stripe vs paypal checkout api subscription billing payment gateway merchant of record accept payments api

How Payment APIs Work

The typical online card payment flow

🛒
Customer
enters card
💳
Checkout UI
tokenizes card
🔒
Payment Gateway
processes charge
🌐
Card Network
(Visa/MC/Amex)
🏦
Issuing Bank
approves/declines

Common Use Cases

Why developers need payment APIs

🔄 SaaS Subscriptions

Recurring billing with plan management, trials, prorations, usage-based metering, dunning for failed payments, and self-service upgrade/downgrade flows.

🛒 E-Commerce

One-time purchases with cart checkout, multiple payment methods (cards, wallets, BNPL), shipping address collection, tax calculation, and order management.

🏪 Marketplace / Platform

Split payments between platform and sellers, onboard sub-merchants, handle payouts, manage 1099 tax reporting, and route funds across multiple parties.

🌍 International Payments

Accept 135+ currencies, handle multi-currency pricing, cross-border fees, local payment methods (iDEAL, Bancontact, SEPA), and automatic currency conversion.

📱 In-Person POS

Unified online and in-person payments with card readers, tap-to-pay, QR codes, and inventory sync between physical and digital storefronts.

📦 Digital Products / Downloads

Sell software, ebooks, courses, and digital assets. License key delivery, download fulfillment, global tax handling, and creator-friendly checkout pages.

Feature Comparison

Side-by-side comparison of payment processing services

Feature Stripe Square PayPal Braintree Adyen Paddle LemonSqueezy
Free Plan ✅ Pay per tx ✅ Pay per tx ✅ Pay per tx ✅ Pay per tx ❌ Custom pricing ✅ Pay per tx ✅ Pay per tx
Per-Transaction Fee 2.9% + $0.30 2.9% + $0.30 online
2.6% + $0.10 in-person
2.99% + $0.49 2.59% + $0.49 Custom (volume) 5% + $0.50 5% + $0.50
International Cards 🟡 +1.0% 🟡 +1.5% 🟡 +1.5% 🟡 +1.0% ✅ Included in custom rate ✅ Included ✅ Included
Currencies 135+ USD, CAD, AUD, GBP, EUR, JPY 100+ (25 holding) 130+ 150+ 40+ 30+
Payment Methods Cards, wallets, BNPL, bank, crypto Cards, wallets, Cash App, Afterpay PayPal, Venmo, cards, BNPL Cards, PayPal, Venmo, wallets 250+ methods globally Cards, PayPal, wallets Cards, PayPal
Subscriptions ✅ Stripe Billing (full) ✅ Subscriptions API ✅ Subscription plans ✅ Recurring billing ✅ Tokenization + recurring ✅ Built-in (MoR) ✅ Built-in (MoR)
Invoicing ✅ Stripe Invoicing ✅ Square Invoices ✅ PayPal Invoicing
Marketplace / Connect ✅ Stripe Connect ✅ PayPal for Marketplaces ✅ Marketplace (PayPal) ✅ Adyen for Platforms
In-Person POS ✅ Stripe Terminal ✅ Square Terminal/Reader 🟡 Zettle (separate) ✅ In-person terminals
No-Code Checkout ✅ Payment Links ✅ Square Online Checkout ✅ PayPal Buttons 🟡 Drop-in UI only ✅ Checkout overlay ✅ Checkout overlay
Hosted Checkout Page ✅ Stripe Checkout ✅ Square Checkout ✅ PayPal Checkout ✅ Drop-in UI ✅ Drop-in ✅ Paddle Checkout ✅ LS Checkout
Apple Pay / Google Pay
ACH / Bank Transfer ✅ 0.8% (capped $5) ✅ ACH debit ✅ Bank transfer ✅ ACH Direct Debit ✅ SEPA, ACH, iDEAL
3D Secure ✅ Adaptive 3DS ✅ SCA compliant ✅ 3DS2 ✅ 3DS2 ✅ Dynamic 3DS2

Provider Deep Dives

Detailed breakdown of each payment service

Stripe

2.9% + $0.30
The developer-first payment platform. Best-in-class APIs, 700+ integrations, and the most comprehensive feature set. De facto standard for startups and SaaS companies.
  • 135+ currencies with automatic conversion
  • Stripe Checkout, Elements, Payment Links - multiple integration levels
  • Stripe Connect for marketplace/platform payments
  • Stripe Billing - full subscription lifecycle management
  • Stripe Tax - automatic sales tax/VAT calculation
  • 🟡 International cards add +1.0%, currency conversion +1.0%
Best developer DX Most features 700+ integrations Intl fees add up Account holds reported

Square

2.6% + $0.10
Unified commerce platform combining in-person POS and online payments. Best for businesses that sell both online and in physical locations. Hardware readers and full business management suite.
  • Cheapest in-person rate: 2.6% + $0.10 per tap/dip/swipe
  • Square Reader, Terminal, Register - hardware for every setup
  • Inventory, team management, loyalty, and marketing tools
  • Cash App Pay integration (50M+ users)
  • Free online store builder with Square Online
  • 🟡 Limited to 6 currencies for online payments
Best for in-person Unified POS + online Free hardware options Few currencies No marketplace

PayPal

2.99% + $0.49
The original online payment platform. Over 400 million active accounts worldwide. Highest consumer trust and recognition. Includes Venmo integration for US customers.
  • 400M+ active accounts - highest buyer trust
  • Venmo wallet payments (US) - 90M+ users
  • PayPal Checkout - one-click for logged-in users
  • Pay Later / BNPL (Pay in 4) built-in
  • 200+ markets, 100+ currencies
  • 🟡 Higher fees than Stripe/Square; $0.49 flat fee per tx
Highest buyer trust Venmo integration 200+ markets Expensive per-tx fee Account freezes

Braintree (PayPal)

2.59% + $0.49
PayPal's developer-focused payment platform. Lower percentage than Stripe with built-in PayPal, Venmo, and Apple Pay. Drop-in UI for fast integration. Owned by PayPal since 2013.
  • Lowest percentage rate: 2.59% (vs Stripe's 2.9%)
  • Drop-in UI - production-ready checkout in minutes
  • PayPal, Venmo, cards, Apple Pay, Google Pay unified
  • Vault for securely storing payment methods
  • 130+ currencies supported
  • 🟡 Higher flat fee ($0.49) makes small transactions expensive
Lowest % rate PayPal + Venmo built-in Drop-in UI High flat fee No in-person POS

Adyen

Enterprise
Enterprise-grade payment platform powering Uber, Spotify, eBay, and Microsoft. 250+ payment methods, 150+ currencies. Custom pricing based on volume. Unified commerce across online, in-app, and in-person.
  • 250+ payment methods - widest coverage globally
  • Unified Commerce - same platform for online + in-store
  • Adyen for Platforms - marketplace split payments
  • Revenue optimization with machine learning
  • RevenueProtect - advanced fraud prevention
  • 🟡 Requires minimum processing volume; not for small startups
250+ payment methods Enterprise-grade Global coverage No public pricing High volume minimum

Paddle

Merchant of Record
Merchant of Record for SaaS companies. Paddle handles global tax compliance, invoicing, and payments so you do not have to register for VAT in every country. Purpose-built for software businesses.
  • Merchant of Record - handles VAT/GST/sales tax globally
  • Subscription management with dunning and recovery
  • Paddle Checkout overlay - no redirect needed
  • ProfitWell Metrics (acquired) - built-in SaaS analytics
  • License key generation for desktop software
  • 🟡 5% + $0.50 per tx - significantly higher than Stripe
No tax headaches SaaS-focused Built-in analytics 5% + $0.50 rate Less customization

LemonSqueezy

Merchant of Record
Merchant of Record built for indie developers and creators. The simplest way to sell digital products, subscriptions, and SaaS globally. Gumroad alternative with modern UX and tax compliance.
  • Merchant of Record - global tax handled automatically
  • Beautiful checkout pages - no design work needed
  • Digital product delivery (files, license keys)
  • Email marketing tools built-in
  • Affiliate program management
  • 🟡 5% + $0.50 per tx; limited API compared to Stripe
Simplest setup Indie-friendly Tax handled 5% + $0.50 rate Limited API

Merchant of Record vs Self-Managed

Who handles tax compliance and liability?

Factor Self-Managed (Stripe, Square, PayPal, Braintree) Merchant of Record (Paddle, LemonSqueezy)
Sales Tax / VAT❌ You calculate, collect, and remit✅ They handle everything
Tax Registration❌ You register in each jurisdiction✅ They are registered globally
Invoicing🟡 You generate compliant invoices✅ Auto-generated, tax-compliant
Chargeback Liability❌ You handle disputes and fees✅ They handle disputes
Processing Cost✅ 2.6-2.99% + $0.10-0.49❌ 5% + $0.50 per transaction
Customization✅ Full control over checkout UX🟡 Limited to overlay/hosted pages
Payment Methods✅ Hundreds of methods available🟡 Cards + PayPal primarily
Best ForBusinesses with existing tax infrastructure or US-only salesSaaS/digital products selling globally without tax ops team

Stripe Tax ($0.50/tx) and TaxJar can add tax automation to self-managed solutions, reducing the gap.

Code Examples

Get started with each payment provider

Create Checkout Session

Stripe
Square
PayPal / Braintree

Stripe Checkout (Node.js)

// Install: npm install stripe
const stripe = require('stripe')('sk_test_...');

// Create a Checkout Session (server-side)
const session = await stripe.checkout.sessions.create({
  mode: 'payment',
  payment_method_types: ['card'],
  line_items: [{
    price_data: {
      currency: 'usd',
      product_data: {
        name: 'Pro Plan',
        description: 'Monthly subscription',
      },
      unit_amount: 2999, // $29.99 in cents
    },
    quantity: 1,
  }],
  success_url: 'https://example.com/success?session_id={CHECKOUT_SESSION_ID}',
  cancel_url: 'https://example.com/cancel',
});

// Redirect customer to session.url
console.log(session.url);

Square Checkout (Node.js)

// Install: npm install square
const { Client, Environment } = require('square');

const client = new Client({
  accessToken: 'YOUR_ACCESS_TOKEN',
  environment: Environment.Sandbox,
});

// Create a payment link
const response = await client.checkoutApi.createPaymentLink({
  idempotencyKey: crypto.randomUUID(),
  order: {
    locationId: 'YOUR_LOCATION_ID',
    lineItems: [{
      name: 'Pro Plan',
      quantity: '1',
      basePriceMoney: {
        amount: 2999n, // $29.99 in cents (BigInt)
        currency: 'USD',
      },
    }],
  },
});

console.log(response.result.paymentLink.url);

PayPal Orders API (Node.js)

// Install: npm install @paypal/paypal-server-sdk
const paypal = require('@paypal/paypal-server-sdk');

const client = new paypal.Client({
  clientCredentialsAuthCredentials: {
    oAuthClientId: 'YOUR_CLIENT_ID',
    oAuthClientSecret: 'YOUR_CLIENT_SECRET',
  },
  environment: paypal.Environment.Sandbox,
});

const ordersController = new paypal.OrdersController(client);

// Create an order
const order = await ordersController.ordersCreate({
  body: {
    intent: 'CAPTURE',
    purchaseUnits: [{
      amount: {
        currencyCode: 'USD',
        value: '29.99',
      },
    }],
  },
});

// Redirect to order.result.links[1].href (approval URL)
console.log(order.result.id);

Create Subscription

Stripe
Paddle

Stripe Subscription (Node.js)

// Create a recurring price
const price = await stripe.prices.create({
  currency: 'usd',
  unit_amount: 2999,
  recurring: { interval: 'month' },
  product_data: { name: 'Pro Plan' },
});

// Create Checkout Session for subscription
const session = await stripe.checkout.sessions.create({
  mode: 'subscription',
  line_items: [{
    price: price.id,
    quantity: 1,
  }],
  success_url: 'https://example.com/success',
  cancel_url: 'https://example.com/cancel',
});

// Or create subscription directly for existing customer
const subscription = await stripe.subscriptions.create({
  customer: 'cus_...',
  items: [{ price: price.id }],
  payment_behavior: 'default_incomplete',
  expand: ['latest_invoice.payment_intent'],
});

Paddle Subscription (Node.js)

// Install: npm install @paddle/paddle-node-sdk
const { Paddle } = require('@paddle/paddle-node-sdk');

const paddle = new Paddle('YOUR_API_KEY');

// Create a product and price in Paddle dashboard
// Then generate a checkout session:

// Frontend: embed Paddle.js
// <script src="https://cdn.paddle.com/paddle/v2/paddle.js"></script>

// Initialize and open checkout
// Paddle.Initialize({ token: 'YOUR_CLIENT_TOKEN' });
// Paddle.Checkout.open({
//   items: [{ priceId: 'pri_...' , quantity: 1 }],
//   customer: { email: 'user@example.com' },
// });

// Server-side: verify via webhook or API
const subscription = await paddle.subscriptions.get(
  'sub_...'
);
console.log(subscription.status); // active, paused, canceled
console.log(subscription.nextBilledAt);

Webhook Handling

Stripe
Square

Stripe Webhook (Express.js)

const express = require('express');
const stripe = require('stripe')('sk_test_...');
const app = express();

// IMPORTANT: use raw body for signature verification
app.post('/webhook',
  express.raw({ type: 'application/json' }),
  (req, res) => {
    const sig = req.headers['stripe-signature'];
    let event;

    try {
      event = stripe.webhooks.constructEvent(
        req.body, sig, 'whsec_...'
      );
    } catch (err) {
      return res.status(400).send(`Webhook Error: ${err.message}`);
    }

    switch (event.type) {
      case 'checkout.session.completed':
        // Fulfill the order
        const session = event.data.object;
        console.log('Payment succeeded:', session.id);
        break;
      case 'invoice.payment_failed':
        // Handle failed subscription payment
        console.log('Payment failed for:', event.data.object.customer);
        break;
    }

    res.json({ received: true });
  }
);

Square Webhook (Express.js)

const crypto = require('crypto');
const express = require('express');
const app = express();

const WEBHOOK_SIGNATURE_KEY = 'YOUR_SIGNATURE_KEY';

app.post('/square-webhook',
  express.raw({ type: 'application/json' }),
  (req, res) => {
    const signature = req.headers['x-square-hmacsha256-signature'];
    const url = 'https://example.com/square-webhook';

    // Verify signature
    const hmac = crypto.createHmac('sha256', WEBHOOK_SIGNATURE_KEY);
    hmac.update(url + req.body.toString());
    const expected = hmac.digest('base64');

    if (signature !== expected) {
      return res.status(403).send('Invalid signature');
    }

    const event = JSON.parse(req.body);

    if (event.type === 'payment.completed') {
      const payment = event.data.object.payment;
      console.log('Payment completed:', payment.id);
      console.log('Amount:', payment.amountMoney.amount);
    }

    res.status(200).send('OK');
  }
);

Pricing at Scale

Estimated monthly processing fees by revenue volume

Monthly Revenue Stripe Square (online) PayPal Braintree Paddle (MoR) LemonSqueezy (MoR)
$10K
~200 txns @ $50 avg
$350
2.9% + $60
$350
2.9% + $60
$397
2.99% + $98
$357
2.59% + $98
$600
5% + $100
$600
5% + $100
$50K
~1,000 txns @ $50 avg
$1,750
2.9% + $300
$1,750
2.9% + $300
$1,985
2.99% + $490
$1,785
2.59% + $490
$3,000
5% + $500
$3,000
5% + $500
$100K
~2,000 txns @ $50 avg
$3,500
2.9% + $600
$3,500
2.9% + $600
$3,970
2.99% + $980
$3,570
2.59% + $980
$6,000
5% + $1,000
$6,000
5% + $1,000
$500K
~10,000 txns @ $50 avg
$17,500
2.9% + $3,000
$17,500
2.9% + $3,000
$19,850
2.99% + $4,900
$17,850
2.59% + $4,900
$30,000
5% + $5,000
$30,000
5% + $5,000

Estimates assume $50 average transaction, domestic US cards only. International cards, currency conversion, chargebacks, and instant payouts add additional fees. Adyen excluded (custom enterprise pricing). At $500K+/mo, all providers offer volume discounts on request. MoR fees include tax handling that would otherwise cost $100-500+/mo separately.

Which Payment API Should You Use?

Quick decision guide based on your business type

Best for SaaS / Subscription Billing

Need recurring payments, plan management, trial periods, prorations, usage-based billing, dunning, and customer portal.

Pick: Stripe Billing

Best for E-Commerce

One-time purchases, multiple payment methods, cart checkout, shipping integration, and high conversion rates.

Pick: Stripe or Braintree

Best for Marketplace / Platform

Split payments between sellers and platform, sub-merchant onboarding, payouts, and 1099 tax reporting.

Pick: Stripe Connect or Adyen for Platforms

Best for International Sales

Accept 200+ payment methods globally, handle multi-currency, local payment methods, and cross-border compliance.

Pick: Adyen or Stripe

Best for In-Person + Online

Unified commerce across physical stores and online. Card readers, POS system, inventory sync, and team management.

Pick: Square

Best for Indie / Digital Products

Sell software, ebooks, courses globally without dealing with VAT/GST. Need simple checkout and license key delivery.

Pick: LemonSqueezy or Paddle

Accept Crypto Payments?

Frostbyte Wallet API supports 9 chains with 0.3% swap fees. Accept ETH, USDC, USDT, and more with a simple REST API. No monthly fees.

Try Frostbyte API →

Frequently Asked Questions

What is the cheapest payment API for small businesses?
For online-only businesses, Stripe (2.9% + $0.30) and Square (2.9% + $0.30) have identical standard rates. If you also sell in person, Square is cheaper at 2.6% + $0.10 per tap/dip. Braintree charges 2.59% + $0.49, which is cheaper on the percentage but higher on the per-transaction fee - so it is better for larger average order values. For very small transactions under $10, the flat fee matters more than the percentage.
Stripe vs PayPal: which payment API should I use?
Stripe is better for developers who want full control over the checkout experience, need subscription billing, or are building a marketplace/platform. PayPal is better if your customers expect to pay with their PayPal or Venmo balance, you sell internationally and want instant buyer trust, or you want minimal integration effort. Many businesses use both - Stripe as the primary processor and PayPal as an additional payment option.
What is a Merchant of Record and do I need one?
A Merchant of Record (MoR) is the legal entity that processes the payment and handles sales tax, VAT, and compliance on your behalf. Paddle and LemonSqueezy act as the Merchant of Record, meaning they collect tax, file returns, and handle global compliance. Stripe, Square, PayPal, and Braintree do NOT handle tax - you are the Merchant of Record and must manage tax compliance yourself (or use add-ons like Stripe Tax). If you sell digital products globally and do not want to deal with VAT/GST in 100+ countries, a MoR service saves significant legal and accounting overhead.
How do I accept recurring subscription payments?
Stripe Billing is the industry standard for subscription payments - it handles plan management, prorations, trials, usage-based billing, invoicing, and dunning (failed payment recovery). Paddle and LemonSqueezy include subscription management with MoR tax handling. Square supports recurring payments through its Subscriptions API. PayPal offers subscription plans through its REST API. Braintree supports recurring billing through its Vault and subscription features.
Which payment API is best for marketplace or platform payments?
Stripe Connect is the gold standard for marketplace payments. It supports three account types (Standard, Express, Custom) for splitting payments between your platform and sellers, handling 1099 tax reporting, and managing onboarding. PayPal for Marketplaces and Adyen for Platforms offer similar functionality. Square does not have a dedicated marketplace product. Paddle and LemonSqueezy are not designed for marketplace use cases.
Can I accept Apple Pay and Google Pay through these APIs?
Yes. Stripe, Square, Braintree, Adyen, and PayPal all support Apple Pay and Google Pay. With Stripe, you enable them through the Payment Request Button or Payment Element - no additional fees beyond standard processing. Square supports them through its Web Payments SDK. Braintree has built-in Apple Pay and Google Pay modules. Paddle and LemonSqueezy support Apple Pay and Google Pay through their checkout overlays.
What are the hidden fees in payment processing?
Common fees beyond the advertised per-transaction rate: international cards (+1% on Stripe, +1.5% on Square), currency conversion (1% on Stripe), chargebacks ($15 on Stripe, varies on others), instant payouts (1% on Stripe, 1.5% on Square), ACH failures ($4 on Stripe), and 3D Secure authentication (free on most). Paddle and LemonSqueezy include everything in their 5% + $0.50 rate. Always check the provider's full pricing page for your specific use case.