Radondocs

Providers

All 24 payment providers — global, African, and crypto. Credentials, capabilities, and the quirks each one has (all absorbed by Radon so your code never sees them).

Radon Payments ships 24 fully-implemented providers. Configure the ones you use; each adapter lazy-loads on first touch. Credentials come from RADON_<PROVIDER>_<KEY> environment variables (see your project's .env.example) or inline in the providers config.

Free (no license): Stripe, Paystack, PayPal, OPay, Bachs. Pro Pro (one key unlocks all): the other 19 below.

Same completeness bar

Free or Pro, every adapter does real API calls and real webhook verification. The provider's quirks listed here are handled inside the adapter — your charge() / refund() / webhooks.handle() code never changes.

Free providers

Global (Pro)

Africa (Pro)

Crypto (Pro)

BNPL & regional (Pro)

Bring your own provider

Not in the list? Extend BaseProvider and register it — it gets the same typed interface as the built-ins. Custom slugs are Pro-gated.

import { registerProvider, BaseProvider } from "@radonsdk/payments";

class MyPSP extends BaseProvider {
  readonly name = "mypsp";
  readonly capabilities = { charge: true, refund: true, webhooks: true };
  async charge(input) { /* call your PSP, return a ChargeResult */ }
  async refund(input) { /* ... */ }
  parseWebhook(req, secret) { /* verify + normalize */ }
}

registerProvider("mypsp", async () => MyPSP);

Next steps

On this page