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
Coupons
The provider-agnostic coupon engine — create, validate, apply, and redeem discounts that work identically across every payment provider.
API reference
Every public method, option, and return type in @radonsdk/payments — the RadonPayments client, money helpers, subscriptions, webhooks, and coupons.