string
DEVELOPERS

Ship payments like product.

One typed surface for issuing, acquiring, and money movement: a Stripe-shaped REST API, typed SDKs, sandbox networks, and webhooks you can replay from any point. Use the API when you want control; a hosted checkout is on the roadmap for going live fast. Same engine underneath.

Build-true, pre-GA — see what runs today

QUICKSTART
Quickstart · authorize → capture → subscribe · build-true · pre-GAidempotent · fail-closed
# 1 · authorize: Payrithm composes the scheme message itself
curl https://api.stringio.io/v1/authorize \
  -H "Authorization: Bearer sk_live_••••" \
  -H "Idempotency-Key: ord_8842" \
  -d '{ "merchant_id":"mer_2a9f4b7c", "amount_minor":4200,
       "currency":"USD", "capture":false }'

→ 201  { "status": "requires_capture", "rail":"visa_base_i", "stan":"048217" }

# 2 · capture the authorization: settles on the dual ledger
curl https://api.stringio.io/v1/captures \
  -H "Authorization: Bearer sk_live_••••" \
  -d '{ "authorization":"auth_4f1c…", "amount_minor":4200 }'

→ 201  { "status": "captured", "settles":"cycle_0114" }

# 3 · subscribe: HMAC-signed webhooks, replayable from any point
event: payment.captured  →  POST https://you.example.com/hooks
TYPED SDKS

SDKs ship for TypeScript · Java · more planned

the same authorize · TypeScript SDK · pre-GAtyped · idempotent
// generated & fully typed: the same call as the curl above
const auth = await stringio.authorizations.create({
  merchant_id: "mer_2a9f4b7c",
  amount_minor: 4200, currency: "USD",
  capture: false,
}, { idempotencyKey: "ord_8842" });

// auth.status === "requires_capture"  ·  auth.rail === "visa_base_i"
TWO WAYS TO INTEGRATE
API-first

Full control, your checkout

Compose the scheme message yourself, own the UI, and reconcile against the same ledger of record. Typed SDKs, idempotency on every write, and sandbox networks to test against before you touch a rail.

Hosted · roadmap

One page, every method

A hosted checkout that presents cards and wallets on one page. Pick a method and pay in one place. Go live with little build, and PCI scope stays at the platform edge. On the roadmap — the API runs today.

DEVELOPER CAPABILITIES

Typed SDKs

generated from the schema
sandbox networks to test against

Idempotent by default

Idempotency-Key on every write
safe retries · exactly-once intent

Webhooks

create · test-fire · replay
from any point in the stream

Room to add rails

new methods & drop-in plugins
light up in the same integration

Build-true, pre-GA. The API refuses, never clamps: fail-closed on every guard, so a bad request errors instead of silently settling wrong.