# payfast

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/jpbester/payfast-mcp  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/payfast

## Description
MCP server for PayFast — AI assistants interact with South Africa's payment gateway

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "payfast": {
    "command": "npx",
    "args": ["-y","payfast"]
  }
}
```

## Documentation & README

# payfast-mcp

A [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) server for [PayFast](https://www.payfast.co.za/), 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

| Tool | Description | Risk |
|------|-------------|------|
| `ping` | Test API connectivity | Low |
| `transaction_fetch` | Get transaction by ID | Low |
| `transaction_history` | Query transaction history | Low |
| `transaction_charge` | Charge a stored token | Medium |
| `subscription_fetch` | Get subscription details | Low |
| `subscription_pause` | Pause a subscription | High |
| `subscription_unpause` | Resume a subscription | Medium |
| `subscription_cancel` | Cancel a subscription | High |
| `subscription_update` | Update subscription terms | High |
| `subscription_adhoc` | Ad-hoc subscription charge | High |
| `refund_create` | Process a refund | High |
| `refund_fetch` | Get refund details | Low |
| `creditcard_fetch` | Query card transaction | Low |

High-risk operations require human approval before execution.

## Quick Start

### Prerequisites

- Node.js 18+
- A [PayFast merchant account](https://www.payfast.co.za/) (sandbox or production)

### Installation

```bash
npm install -g payfast-mcp
```

Or run directly with npx:

```bash
npx payfast-mcp
```

### Configuration

Set the following environment variables:

| Variable | Required | Description |
|----------|----------|-------------|
| `PAYFAST_MERCHANT_ID` | Yes | Your PayFast Merchant ID |
| `PAYFAST_MERCHANT_KEY` | Yes | Your PayFast Merchant Key |
| `PAYFAST_PASSPHRASE` | Yes | Your PayFast API Passphrase |
| `PAYFAST_ENVIRONMENT` | No | `sandbox` (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`):

```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:

```bash
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):

```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"
      }
    }
  }
}
```

### Codex

Add via the Codex CLI:

```bash
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`:

```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

```bash
# 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

