Radondocs

Radon Payments

One unified, provider-agnostic API for 24 payment providers — global, African, and crypto. Write payments.charge() once and swap providers with a config change, never a code change.

@radonsdk/payments gives you one typed APIcharge, refund, subscriptions, webhooks — that every one of 24 payment providers implements. Provider-specific quirks (auth schemes, minor vs major currency units, wildly different webhook payloads) are absorbed inside each adapter and never leak into your code.

checkout.ts
import { RadonPayments, money } from "@radonsdk/payments";

const payments = new RadonPayments({
  providers: { stripe: {} },        // credentials from RADON_STRIPE_SECRET_KEY
  defaultProvider: "stripe",
});

const charge = await payments.charge({
  amount: money(1999, "USD"),       // always integer minor units
  customer: { email: "ada@example.com" },
});

charge.status; // "succeeded" | "requires_action" | ...

Switching to Paystack, Adyen, or Coinbase Commerce later is a one-line config change — the charge() call above never changes.

Own your data, no lock-in

Radon runs in your backend against your provider keys. There's no hosted service, no per-transaction fee from Radon, and the SDK never stores your secrets.

What's in the box

Free vs. Pro

Five providers are free and need no license: Stripe, Paystack, PayPal, OPay, Bachs. The other 19 (Adyen, Braintree, Razorpay, Flutterwave, Mercado Pago, Coinbase Commerce, and more) are Pro Pro and unlock with a single Radon Pro license that covers every SDK in the suite.

Gating is a licensing concern only — every adapter, free or Pro, is built to the same completeness bar: real API calls, real webhook verification, subscriptions where the provider supports them.

On this page