@maxnate/plugin-payments
v0.1.1
Published
Payments plugin for @system-core — admin UI + backend module wiring an @maxnate/payments-core registry into a host application. Consumed by ecommerce, booking, nonprofit, finance, and any other vertical that needs payment processing.
Maintainers
Readme
@maxnate/plugin-payments
Admin capability + plugin install for @maxnate/payments-core. Owns the
paymentModule extension that other plugins (plugin-ecommerce,
plugin-booking, plugin-nonprofit, plugin-finance, plugin-travel, …)
consume via ctx.get('paymentModule').
npm install @maxnate/plugin-payments @maxnate/payments-coreWhat it provides
| Surface | Value |
|---|---|
| Extension key | paymentModule |
| Admin pages | /admin/payments, /admin/payments/:provider |
| Admin API | /admin/payments/gateways, /admin/payments/gateways/:id, /admin/payments/gateways/:id/test |
| Install order | 100 (registers before industry plugins) |
| Webhook integration | Use paymentModule.processWebhook(...) from a host route |
Install
import { paymentsPlugin } from '@maxnate/plugin-payments'
import { SnippeProvider, snippeSchema } from '@maxnate/provider-snippe'
system.use(paymentsPlugin({
providers: [{ id: 'snippe', adapter: new SnippeProvider(), schema: snippeSchema }],
secretsCodec: mySecretsCodec
}))Industry plugins do not need any code changes — they continue to call
ctx.get('paymentModule') exactly as before.
Peer dependencies
| Peer | Required | Notes |
|---|---|---|
| @maxnate/payments-core | yes (^0.3.0) | Registry, types, webhook orchestration |
| @system-core/core | optional (^0.12.0) | Required when used as a system-core plugin |
See also
@maxnate/payments-core— registry + provider interface@maxnate/provider-snippe,@maxnate/provider-clickpesa,@maxnate/provider-selcom— built-in providerspackages/payments/payments-core/docs/ARCHITECTURE.md— full architecture diagram
