unified-pay-cli

unified-pay-cli

Universal CLI and MCP server providing unified payment links, customer prefilling, expiring checkouts, refund management, fee comparison, and HMAC-verified webhook proxying across Stripe, Razorpay, and LemonSqueezy.

Category
Visit Server

README

<div align="center">

๐Ÿ’ณ unified-pay-cli

The Universal Payment Gateway CLI & Model Context Protocol (MCP) Server for Stripe, Razorpay & LemonSqueezy.

npm version License: MIT MCP Protocol PRs Welcome

<p align="center"> Create checkout links interactively, query live transactions, track and issue refunds, stream & forward webhook payloads with cryptographic signature verification - or let AI agents manage payment workflows autonomously over MCP. </p>

<!-- DEMO PREVIEW --> <p align="center"> <img src="./assets/demo.gif" alt="unified-pay demo" width="750px" /> </p>

</div>


๐Ÿš€ Highlights

  • โšก Zero Installation Required: Run instantly on demand via npx unified-pay-cli.
  • ๐ŸŽฏ Multi-Provider Engine: Standardized interface across Stripe, Razorpay, and LemonSqueezy.
  • ๐Ÿ› ๏ธ Smart Payment Link Generation: Interactive terminal UI prompts or direct scripted CLI flags.
  • ๐Ÿ”„ Full Transaction & Refund Lifecycle: Live status checks, recent transaction listings, partial/full refunds, and dedicated refund progress tracking.
  • ๐Ÿ“ก Webhook Station & Forwarding Proxy: Built-in HTTP listener (pay listen) that intercepts, color-codes, and forwards webhook events directly to your local backend (--forward http://localhost:3000/api/webhooks).
  • ๐Ÿ”’ Cryptographic Signature Verification: Built-in HMAC-SHA256 verification (--secret) protecting your local development from forged or tampered webhook payloads.
  • ๐Ÿค– Native Model Context Protocol (MCP): Connect your payment stack to GitHub Copilot, Cursor, or Claude Desktop so AI can create links, verify signatures, and track invoices from natural language prompts.

โšก Quick Start

1. Installation

Install globally or run on demand via npx:

# Global install (recommended for daily CLI use)
npm install -g unified-pay-cli

# Or run instantly with npx
npx unified-pay-cli --help

2. Configure Credentials

# Stripe
pay config --stripe-key sk_test_51...

# Razorpay
pay config --razorpay-id rzp_test_... --razorpay-secret ...

# LemonSqueezy (Optional)
pay config --lemonsqueezy-key lms_... --lemonsqueezy-store 12345

๐Ÿ’ป CLI Command Reference

1. Create Payment Links (pay link)

# Interactive mode (prompts for provider, amount, description)
pay link

# Scriptable flag mode
pay link --provider razorpay --amount 350000 --currency INR --desc "2-Hour Technical Consultation"
pay link --provider stripe --amount 2500 --currency USD --desc "Pro Tier Subscription"

2. Inspect Transactions (pay txn)

# List recent transactions
pay txn list --provider razorpay --limit 5

# Check specific payment details
pay txn status pay_Oq7Jk8LmNx9 --provider razorpay

3. Issue & Track Refunds (pay refund)

pay handles the separate lifecycle of charges vs. refund entities:

# Issue a refund (full or partial in minor units)
pay refund create pay_Oq7Jk8LmNx9 --provider razorpay --amount 10000

# Track live refund progression
pay refund status rfnd_TRNTRFvhQ6NDKx --provider razorpay

# List all past refunds
pay refund list --provider razorpay

4. Webhook Station, Verification & Proxy (pay listen)

Catch real-time webhook events during local development without complex tunneling setups:

# 1. Basic listener
pay listen --port 4242

# 2. Listener with HMAC-SHA256 signature verification
pay listen --port 4242 --secret my_webhook_signing_secret

# 3. Listener with signature verification + proxy forwarding to local backend
pay listen --port 4242 --secret my_webhook_secret --forward http://localhost:3000/api/webhooks

๐Ÿค– Model Context Protocol (MCP) Integration

Turn your AI assistant into an autonomous billing and payment operator.

1. For Claude Desktop (claude_desktop_config.json) / Cursor (mcp.json)

{
  "mcpServers": {
    "unified-pay": {
      "command": "npx",
      "args": ["-y", "unified-pay-cli"]
    }
  }
}

2. For VS Code Copilot (.vscode/mcp.json)

{
  "servers": {
    "unified-pay": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "unified-pay-cli"]
    }
  }
}

3. Available AI Tools

Tool Name Description
create_payment_link Creates checkout URLs with custom amount, currency, and note.
list_transactions Fetches recent charges and verification statuses.
get_payment_status Inspects lifecycle state for a specific payment ID (pay_xxx, ch_xxx).
create_refund Triggers a full or partial refund.
get_refund_status Tracks the live status of a refund ID (rfnd_xxx, re_xxx).
list_refunds Lists historical refund records.
verify_webhook_signature Verifies HMAC-SHA256 authenticity of incoming Stripe/Razorpay payloads.

4. Example AI Prompts

Use unified-pay to generate a INR 3,500 Razorpay payment link for "2-Hour Technical Consultation" and draft a WhatsApp message for the client.
Check if payment ID pay_Oq7Jk8LmNx9 on Razorpay was successfully captured.
Issue a full refund for Stripe charge ch_3Mtw1234 using unified-pay.
Verify if this incoming Razorpay webhook payload and signature are authentic using my signing secret.

๐Ÿงช Testing & Verification

# Run unit tests
npm test

# Run tests in watch mode
npm run test:watch

๐Ÿ› ๏ธ Development

# 1. Clone the repository
git clone https://github.com/your-username/unified-pay-cli.git
cd unified-pay-cli

# 2. Install dependencies
npm install

# 3. Build TypeScript
npm run build

# 4. Symlink globally for local testing
npm link

๐Ÿ“„ License

Distributed under the MIT License. See LICENSE for details.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured