{"_id":"@api-craft/payments","name":"@api-craft/payments","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@api-craft/payments","version":"1.0.0","description":"Platform-agnostic payment router with multi-gateway driver support for Express","main":"./index.js","type":"module","keywords":["payments","express","stripe","razorpay","webhooks","api-craft"],"author":{"name":"P.Thamilselven"},"license":"MIT","dependencies":{"express":"^4.18.4"},"peerDependencies":{"stripe":"^12.17.0","razorpay":"^2.9.0"},"_id":"@api-craft/payments@1.0.0","_integrity":"sha512-nEyBUWOSSnFb2LT2kXiueYI0KBasgvqLs9eLIylt+IuzSssMqmNqQb82XQGD8k0MF6pquHINskOsTI2n2LB6aQ==","_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\64113aeefa610e184a478c0a94e60204\\api-craft-payments-1.0.0.tgz","_from":"file:api-craft-payments-1.0.0.tgz","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-nEyBUWOSSnFb2LT2kXiueYI0KBasgvqLs9eLIylt+IuzSssMqmNqQb82XQGD8k0MF6pquHINskOsTI2n2LB6aQ==","shasum":"2babbb11d9b1773f190486ef15d18874902460f8","tarball":"https://registry.npmjs.org/@api-craft/payments/-/payments-1.0.0.tgz","fileCount":7,"unpackedSize":9365,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCL4qMWW5FISIsEyz/QXQuZR0o8dPRLkbFtPear5+1zUgIhANk0pVqQqqqjNltTvlLf8hP/6+oYH5C4/5dHB6gSZjuh"}]},"_npmUser":{"name":"tselven_me","email":"tselven13@gmail.com","actor":{"name":"tselven_me","email":"tselven13@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"tselven_me","email":"tselven13@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/payments_1.0.0_1750656862958_0.9148931953467141"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-23T05:34:22.851Z","1.0.0":"2025-06-23T05:34:23.143Z","modified":"2025-06-23T05:34:23.465Z"},"maintainers":[{"name":"tselven_me","email":"tselven13@gmail.com"}],"description":"Platform-agnostic payment router with multi-gateway driver support for Express","keywords":["payments","express","stripe","razorpay","webhooks","api-craft"],"author":{"name":"P.Thamilselven"},"license":"MIT","readme":"# @api-craft/payments\r\n\r\nA platform-agnostic payment router plugin for Express.js that supports multiple gateways like Stripe and Razorpay with automatic route handling and powerful after-hooks.\r\n\r\n---\r\n\r\n## ✨ Features\r\n\r\n- 🔌 Plug & play payment routes (`/create`, `/verify`, `/webhook`)\r\n- 🧩 Multi-gateway support (Stripe, Razorpay)\r\n- ⚙️ Custom `afterHook` for post-payment actions\r\n- 🔐 Secure signature verification for webhooks\r\n- 🧠 Intelligent structure for extensibility\r\n\r\n---\r\n\r\n## 🚀 Installation\r\n\r\n```bash\r\nnpm install @api-craft/payments\r\n```\r\n> Dpendecies like stripe, razorpay are peer deps you need to only install needed driver\r\n\r\n## 🧰 Usage\r\n\r\n``` js\r\n// server.js\r\nimport express from 'express';\r\nimport { createPaymentRouter } from '@api-craft/payments';\r\n\r\nconst app = express();\r\napp.use(express.json());\r\n\r\napp.use(\r\n  '/payments',\r\n  createPaymentRouter({\r\n    gateway: 'stripe', // or 'razorpay'\r\n    apiKey: process.env.STRIPE_SECRET_KEY,\r\n    keyId: process.env.RAZORPAY_KEY_ID,\r\n    keySecret: process.env.RAZORPAY_KEY_SECRET,\r\n    webhookSecret: process.env.PAYMENT_WEBHOOK_SECRET,\r\n    successUrl: 'https://yourdomain.com/payments/success',\r\n    cancelUrl: 'https://yourdomain.com/payments/cancel',\r\n    afterHook: async ({ gateway, data, status, req, res }) => {\r\n      // Save to DB, send emails, etc.\r\n      console.log(`[${gateway}] Payment status: ${status}`, data);\r\n    },\r\n  })\r\n);\r\n\r\napp.listen(3000, () => console.log('Server running on port 3000'));\r\n```\r\n\r\n## 🧠 Available Routes\r\n\r\n| Method | Route               | Description                       |\r\n| ------ | ------------------- | --------------------------------- |\r\n| POST   | `/payments/create`  | Initiates a payment session/order |\r\n| GET    | `/payments/verify`  | Verifies payment after redirect   |\r\n| POST   | `/payments/webhook` | Handles payment gateway webhooks  |\r\n\r\n## 🧩 Supported Gateways\r\n- ✅ Stripe\r\n\r\n- ✅ Razorpay\r\n\r\n- ⏳ More coming soon...\r\n\r\n# Driver API\r\nEach driver exports 3 core functions:\r\n``` js\r\nexport async function create(config, req) { /* ... */ }\r\nexport async function verify(config, req) { /* ... */ }\r\nexport async function webhook(config, req) { /* ... */ }\r\n```\r\nTo add support for a new gateway, create a file in `drivers/` and implement these methods.\r\n\r\n## 🔐 Webhook Security\r\n- Stripe: uses stripe-signature header\r\n\r\n- Razorpay: uses x-razorpay-signature header with HMAC-SHA256\r\n\r\nMake sure you pass the correct webhookSecret when initializing.\r\n\r\n## 📝 License\r\nMIT © Thamilselven  \r\nPart of the `@api-craft` ecosystem.\r\n\r\n## 🤝 Contribute\r\nWant to add more drivers or features? PRs welcome!\r\n\r\n\r\n","readmeFilename":"README.md","_rev":"1-87f169413a0de401cbf08aee569ab869"}