SDKs & libraries

Six native SDKs. One REST baseline. All the same object model.

Install with the package manager you already use. Every SDK is strongly typed, idempotent by default, and open-source on GitHub. If your language isn't listed, the REST API is the ground truth, every SDK wraps it.

v4.2.1 · MIT

@tapped/node

Node.js · TypeScript · 18+

Promise-based, isomorphic. Works in Cloudflare Workers, Vercel Edge, Deno, and vanilla Node. First-class TypeScript types, every field, every enum, every response shape.

$ npm install @tapped/node
v3.0.4 · MIT

TappedSwift

Swift · iOS 16+ · SPM

Swift Package Manager and CocoaPods. Ships with the Tap Core reader binding so your iOS app becomes a terminal with one import. async/await throughout.

$ swift package add tapped-io/tapped-swift
v3.1.0 · MIT

tapped-android

Kotlin · Android 10+ · Gradle

Published to Maven Central. Coroutine-native. Includes the Tap Core reader binding and a ready-to-drop Compose UI for the payment sheet if you want it.

$ implementation("io.tapped:tapped-android:3.1.0")
v2.4.0 · MIT

Tapped.NET

C# · .NET 6+ · NuGet

Targets netstandard2.1 and net6.0. Async/await end-to-end, with a synchronous wrapper for legacy. Integrates with IHttpClientFactory and the standard .NET logging stack.

$ dotnet add package Tapped
v2.2.3 · MIT

tapped-ruby

Ruby · 3.1+ · RubyGems

Rails-friendly. Ships ActiveSupport instrumenters, a Rack middleware for webhook signature verification, and a generator that scaffolds a working sub-merchant onboarding flow.

$ gem install tapped
v2.0.1 · MIT

tapped-go

Go · 1.21+ · pkg.go.dev

Context-aware, zero-dependency (uses stdlib net/http). Typed errors for every scheme decline code. Structured logging hooks that drop straight into zap or slog.

$ go get github.com/tapped-io/tapped-go

What every SDK gives you

01, Idempotency

Safe retries, always

Every mutation accepts an Idempotency-Key. Retries never double-charge. Keys persist 24h.

02, Types

Every field, every enum

Strongly typed end to end. Autocomplete the entire API object graph, including error codes.

03, Observability

Hooks & logs

Request/response hooks for tracing, structured logging, and on-failure diagnostics drop-in.

04, Webhooks

Signature verification

Built-in HMAC-SHA256 verification helpers. Raw-body access preserved across frameworks.

No SDK in your stack? No problem.

Every SDK is a wrapper around the REST API. Base URL api.tapped.so. TLS 1.3. Bearer-token auth. JSON in, JSON out. OpenAPI 3.1 spec published with every release.

If you're in Elixir, Rust, Python, PHP, Java, you're one HTTP client away from a working integration. Community SDKs for all of the above live on GitHub; they pass the same conformance suite we run against our first-party libraries.

Read the API referenceDownload OpenAPI spec
# curl, nothing else required

curl https://api.tapped.so/v1/taps \
  -H "Authorization: Bearer sk_live_3x9..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 4850,
    "currency": "SGD",
    "submerchant": "sm_9T3xA...",
    "device": "dev_ios_a81..."
  }'

# → 200 OK
# { "id": "tap_3K2...", "status": "approved", ... }