Socket
Book a DemoInstallSign in
Socket

@api-craft/payments

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@api-craft/payments

Platform-agnostic payment router with multi-gateway driver support for Express

latest
npmnpm
Version
1.0.0
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

@api-craft/payments

A platform-agnostic payment router plugin for Express.js that supports multiple gateways like Stripe and Razorpay with automatic route handling and powerful after-hooks.

✨ Features

  • 🔌 Plug & play payment routes (/create, /verify, /webhook)
  • 🧩 Multi-gateway support (Stripe, Razorpay)
  • ⚙️ Custom afterHook for post-payment actions
  • 🔐 Secure signature verification for webhooks
  • 🧠 Intelligent structure for extensibility

🚀 Installation

npm install @api-craft/payments

Dpendecies like stripe, razorpay are peer deps you need to only install needed driver

🧰 Usage

// server.js
import express from 'express';
import { createPaymentRouter } from '@api-craft/payments';

const app = express();
app.use(express.json());

app.use(
  '/payments',
  createPaymentRouter({
    gateway: 'stripe', // or 'razorpay'
    apiKey: process.env.STRIPE_SECRET_KEY,
    keyId: process.env.RAZORPAY_KEY_ID,
    keySecret: process.env.RAZORPAY_KEY_SECRET,
    webhookSecret: process.env.PAYMENT_WEBHOOK_SECRET,
    successUrl: 'https://yourdomain.com/payments/success',
    cancelUrl: 'https://yourdomain.com/payments/cancel',
    afterHook: async ({ gateway, data, status, req, res }) => {
      // Save to DB, send emails, etc.
      console.log(`[${gateway}] Payment status: ${status}`, data);
    },
  })
);

app.listen(3000, () => console.log('Server running on port 3000'));

🧠 Available Routes

MethodRouteDescription
POST/payments/createInitiates a payment session/order
GET/payments/verifyVerifies payment after redirect
POST/payments/webhookHandles payment gateway webhooks

🧩 Supported Gateways

  • ✅ Stripe

  • ✅ Razorpay

  • ⏳ More coming soon...

Driver API

Each driver exports 3 core functions:

export async function create(config, req) { /* ... */ }
export async function verify(config, req) { /* ... */ }
export async function webhook(config, req) { /* ... */ }

To add support for a new gateway, create a file in drivers/ and implement these methods.

🔐 Webhook Security

  • Stripe: uses stripe-signature header

  • Razorpay: uses x-razorpay-signature header with HMAC-SHA256

Make sure you pass the correct webhookSecret when initializing.

📝 License

MIT © Thamilselven
Part of the @api-craft ecosystem.

🤝 Contribute

Want to add more drivers or features? PRs welcome!

Keywords

payments

FAQs

Package last updated on 23 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts