Built by engineers, for engineers
RESTful APIs, typed SDKs, webhooks, and a CLI that makes payment integration feel like writing any other code.
5-minute integration
checkout.tswebhooks.tsconfig.ts
1import { Meridian } from '@meridian/sdk'
2
3const client = new Meridian({
4 apiKey: process.env.MERIDIAN_SECRET,
5 environment: 'production',
6})
7
8const payment = await client.payments.create({
9 amount: 4999,
10 currency: 'usd',
11 payment_method: 'pm_card_visa',
12 metadata: { order_id: 'ord_123' },
13})
14
15console.log(payment.id) // pay_4f8a...
Ship from your terminal
~/meridian-api
❯ meridian payments create \
--amount 4999 \
--currency usd \
--method card
◼ Validating payment details...
◼ Running fraud checks...
├─ Velocity check ✓
├─ Address verification ✓
├─ 3D Secure ✓
└─ Risk score: 0.12 (low)
◼ Processing with Meridian Gateway...
◼ Settlement queued (T+1)
┌─────────────────────────────────────┐
│ ✓ Payment succeeded │
│ ID: pay_4f8a2b1c9d3e │
│ Amount: $49.99 │
│ Latency: 23ms │
└─────────────────────────────────────┘
❯ ▋
SDKs for every stack
Node.js
Python
Go
Ruby
PHP
Java
.NET
Rust
API features
Idempotency
Every endpoint supports idempotency keys. Retry safely without double-charging.
Webhooks
Real-time event notifications with automatic retries and delivery guarantees.
Sandbox
Full-featured test environment with simulated payment scenarios and edge cases.
Pagination
Cursor-based pagination on all list endpoints. No offset drift.
Versioning
Pin your integration to an API version. Upgrade on your schedule.
Rate Limits
Generous limits with clear headers. 429 responses include retry-after.