Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Optional: Logging level (debug, info, warn, error). | info |
| PAYFAST_PASSPHRASE | Yes | The passphrase generated in your PayFast security settings. | |
| PAYFAST_ENVIRONMENT | Yes | The environment to use: 'sandbox' for testing or 'production' for live transactions. | sandbox |
| PAYFAST_MERCHANT_ID | Yes | Your PayFast Merchant ID, found in Settings > Integration. | |
| PAYFAST_MERCHANT_KEY | Yes | Your PayFast Merchant Key, found in Settings > Integration. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ping | Test connectivity to the PayFast API and verify credentials are valid |
| transaction.fetch | Fetch details of a specific PayFast transaction by payment ID |
| transaction.history | Get PayFast transaction history with optional date range and pagination |
| transaction.charge | Process a charge on a tokenized card. This creates a real payment. Requires confirmation. |
| subscription.fetch | Fetch details of a PayFast subscription by its token |
| subscription.pause | Pause a PayFast subscription for a specified number of billing cycles. This stops charges temporarily. |
| subscription.unpause | Resume a previously paused PayFast subscription. Billing will resume on the next cycle. |
| subscription.cancel | Permanently cancel a PayFast subscription. This cannot be undone. |
| subscription.update | Update a PayFast subscription's parameters (amount, cycles, frequency, or run date) |
| subscription.adhoc | Process an ad-hoc (one-time) charge on an existing PayFast subscription |
| creditcard.fetch | Query credit card transaction details for a specific PayFast payment |
| refund.create | Create a refund for a PayFast transaction. This will return money to the customer's original payment method. |
| refund.query | Query refund availability for a transaction BEFORE creating a refund. Returns available amounts, refund methods (credit card or bank payout), and required parameters. Use this first to check if a refund is possible. |
| refund.fetch | Fetch refund transaction history and available balance for a payment that has ALREADY been refunded. Returns 404 if no refund exists yet — use refund.query first to check availability. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |