mcpField
P
payfast

payfast

Local
github.com/jpbesterFinance1Updated 38w ago

About payfast

payfast is an MCP server for AI assistants working with PayFast merchant accounts. It covers transaction, subscription, and refund operations, with high-risk actions requiring human approval.

Key features

  1. 01Fetch transactions and query history
  2. 02Charge stored payment tokens
  3. 03Manage subscriptions
  4. 04Create and check refunds
  5. 05Query card transactions
  6. 06Sandbox mode and approval gates

Use cases

  1. 01Review merchant transaction history
  2. 02Pause or update a subscription
  3. 03Issue a full or partial refund
  4. 04Test payment operations in sandbox

MCP support

Exposes PayFast transaction, subscription, refund, and card-query tools to MCP clients. High-risk operations require human approval.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"jpbester-payfast": {
"command": "npx",
"args": [
"-y",
"payfast-mcp"
],
"env": {
"PAYFAST_MERCHANT_ID": "<PAYFAST_MERCHANT_ID>",
"PAYFAST_MERCHANT_KEY": "<PAYFAST_MERCHANT_KEY>",
"PAYFAST_PASSPHRASE": "<PAYFAST_PASSPHRASE>",
"PAYFAST_ENVIRONMENT": "<PAYFAST_ENVIRONMENT>"
}
}
}
}
Run commandnpx -y payfast-mcp
Environment variables to set
PAYFAST_MERCHANT_IDYour PayFast merchant ID
PAYFAST_MERCHANT_KEYSecretYour PayFast merchant key
PAYFAST_PASSPHRASESecretYour PayFast API passphrase
PAYFAST_ENVIRONMENTPayFast environment: 'sandbox' or 'production' (defaults to sandbox)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmpayfast-mcp1.0.1

Tools

14

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project README

payfast-mcp

A Model Context Protocol (MCP) server for PayFast, South Africa's leading payment gateway. Enables AI assistants like Claude to securely interact with your PayFast merchant account.

Features

  • Transaction management — fetch transaction details, query history, process tokenized charges
  • Subscription management — fetch, pause, unpause, cancel, update, and ad-hoc charge subscriptions
  • Refund processing — create refunds (full or partial) and query refund status
  • Credit card queries — look up credit card transaction details
  • Sandbox support — defaults to sandbox mode for safe testing
  • Secure by design — credentials via environment variables only, sensitive data never logged

Available Tools

ToolDescriptionRisk
pingTest API connectivityLow
transaction_fetchGet transaction by IDLow
transaction_historyQuery transaction historyLow
transaction_chargeCharge a stored tokenMedium
subscription_fetchGet subscription detailsLow
subscription_pausePause a subscriptionHigh
subscription_unpauseResume a subscriptionMedium
subscription_cancelCancel a subscriptionHigh
subscription_updateUpdate subscription termsHigh
subscription_adhocAd-hoc subscription chargeHigh
refund_createProcess a refundHigh
refund_fetchGet refund detailsLow
creditcard_fetchQuery card transactionLow

High-risk operations require human approval before execution.

Quick Start

Prerequisites
Installation
npm install -g payfast-mcp

Or run directly with npx:

npx payfast-mcp
Configuration

Set the following environment variables:

VariableRequiredDescription
PAYFAST_MERCHANT_IDYesYour PayFast Merchant ID
PAYFAST_MERCHANT_KEYYesYour PayFast Merchant Key
PAYFAST_PASSPHRASEYesYour PayFast API Passphrase
PAYFAST_ENVIRONMENTNosandbox (default) or production

You can also create a .env file in your working directory.

Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "payfast": {
      "command": "npx",
      "args": ["-y", "payfast-mcp"],
      "env": {
        "PAYFAST_MERCHANT_ID": "your-merchant-id",
        "PAYFAST_MERCHANT_KEY": "your-merchant-key",
        "PAYFAST_PASSPHRASE": "your-passphrase",
        "PAYFAST_ENVIRONMENT": "sandbox"
      }
    }
  }
}
Claude Code

Add to your Claude Code settings:

claude mcp add payfast \
  -e PAYFAST_MERCHANT_ID=your-merchant-id \
  -e PAYFAST_MERCHANT_KEY=your-merchant-key \
  -e PAYFAST_PASSPHRASE=your-passphrase \
  -e PAYFAST_ENVIRONMENT=sandbox \
  -- npx -y payfast-mcp
Cursor

Add to your Cursor MCP config (.cursor/mcp.json for project-level, or ~/.cursor/mcp.json for global):

{
  "mcpServers": {
    "payfast": {
      "command": "npx",
      "args": ["-y", "payfast-mcp"],
      "env": {
        "PAYFAST_MERCHANT_ID": "your-merchant-id",
        "PAYFAST_MERCHANT_KEY": "your-merchant-key",
        "PAYFAST_PASSPHRASE": "your-passphrase",
        "PAYFAST_ENVIRONMENT": "sandbox"
      }
    }
  }
}
Codex

Add via the Codex CLI:

codex mcp add payfast \
  --env PAYFAST_MERCHANT_ID=your-merchant-id \
  --env PAYFAST_MERCHANT_KEY=your-merchant-key \
  --env PAYFAST_PASSPHRASE=your-passphrase \
  --env PAYFAST_ENVIRONMENT=sandbox \
  -- npx -y payfast-mcp

Or add directly to ~/.codex/config.toml:

[mcp_servers.payfast]
command = "npx"
args = ["-y", "payfast-mcp"]

[mcp_servers.payfast.env]
PAYFAST_MERCHANT_ID = "your-merchant-id"
PAYFAST_MERCHANT_KEY = "your-merchant-key"
PAYFAST_PASSPHRASE = "your-passphrase"
PAYFAST_ENVIRONMENT = "sandbox"

Development

# Clone the repo
git clone https://github.com/jpbester/payfast-mcp.git
cd payfast-mcp

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run with MCP Inspector
npm run inspect

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.