Payments infrastructure for platforms that run on trust.
Accept payments, bill customers, pay out partners and keep one ledger of all of it. Ledgerline is the money stack behind marketplaces, SaaS platforms and the companies that cannot afford a reconciliation that is off by a cent.
Moving money for platforms in 47 countries
Modular products
One integration. Every way money moves.
Start with payments and add billing, payouts and the ledger as the business needs them. Each product is built on the same objects, so nothing is reconciled twice.
01 Payments
One checkout, every local method.
Cards, wallets, bank debits and the regional methods your customers actually use, behind one integration. Routing, retries and 3-D Secure are decided per transaction, not per market.
Explore Payments02 Billing
Subscriptions and invoices that close themselves.
Usage, seats, tiers, trials and proration, with dunning that recovers failed payments before anybody opens a ticket. Every invoice posts to the ledger the moment it settles.
Explore Billing03 Payouts
Pay partners in their currency, on their schedule.
Split a charge across sellers, hold funds until delivery, and pay out to 47 countries with the fees and the FX already accounted for. The platform sees one balance; each seller sees theirs.
Explore PayoutsBuilt for developers
An API your team will not need to work around.
Every object in Ledgerline is addressable, every change is an event, and every event is signed. The first payment is a dozen lines; the thousandth edge case is still the same API.
- Typed SDKs in seven languages, generated from the same spec as the docs.
- Idempotent by default. Retry any request with the same key and get the same result.
- Webhooks you can replay from the dashboard, signed, with the delivery log kept for 30 days.
- A test mode that mirrors live, including the failures, so the sad paths ship tested.
curl https://api.ledgerline.com/v1/payments \
-u sk_test_51HbQ…: \
-d amount=8900 \
-d currency=usd \
-d customer=cus_Nf2K9xA \
-d "payment_method_types[]"=card const ledgerline = require('ledgerline')('sk_test_51HbQ…');
const payment = await ledgerline.payments.create({
amount: 8900,
currency: 'usd',
customer: 'cus_Nf2K9xA',
payment_method_types: ['card'],
}); import ledgerline
ledgerline.api_key = "sk_test_51HbQ…"
payment = ledgerline.Payment.create(
amount=8900,
currency="usd",
customer="cus_Nf2K9xA",
payment_method_types=["card"],
) Global by default
Launch in a new market without a new integration.
Local payment methods, local acquiring, local payouts and the tax rules that go with them are turned on per country from the dashboard. The code that took the first payment takes the next one in Tokyo.
- 135+ currencies settled, with local acquiring in 47 countries
- 99.999% API uptime over the trailing twelve months
- 41 ms median response time on a payment request
- 1 ledger for payments, billing and payouts, closed daily
We replaced three providers and a spreadsheet with Ledgerline. Finance closes the month in two days instead of nine, and nobody has asked me where a payout went since March.
Ready to move the money?
Create an account and take a test payment in the next ten minutes, or talk to somebody about moving an existing volume across.
- Pricing you can model
A rate per successful transaction, published, with volume pricing for platforms past $1M a month.
See pricing - Start the integration
Quickstarts for the first payment, the first subscription and the first payout, in every SDK.
Read the docs - Talk to sales
For migrations off an existing provider, custom contracts and anything above the published volume.
Contact sales