# PayPal MCP

> PayPal MCP manages your entire e-commerce payment lifecycle through AI actions. You can programmatically create orders, authorize funds, capture payments, issue refunds, and manage complex recurring subscriptions—all without leaving your chat interface. It gives your agent the power to handle everything from initial checkout flows to final ledger adjustments using secure PayPal API tools.

## Overview
- **Category:** money-moves
- **Price:** Free
- **Tags:** checkout, refunds, subscription-billing, transaction-management, pci-compliance, api-integration

## Description

This MCP lets you control every step of an e-commerce transaction directly through your AI client. Need to process a refund because something was wrong with shipping? You can execute that immediately, provided you have the correct capture ID. Want to check if a customer's monthly billing cycle is active before sending a service reminder? This connection pulls the exact details on recurring subscriptions and their next billing date. It handles payment creation, authorizing funds up front, capturing them later, or voiding the whole thing if the order never ships. Because Vinkius hosts this connector, you get access to all these capabilities in one place—you just tell your agent what needs fixing, and it runs the correct financial command.

## Tools

### authorize_order
Creates a temporary hold on funds for an order, confirming the customer has paid before shipping goods.

### capture_order
Completes a payment by moving the authorized funds from the holding status to active merchant revenue.

### create_order
Sets up a brand new, structured PayPal checkout order ready for authorization and payment.

### cancel_subscription
Immediately stops an active recurring billing cycle when a customer requests account closure.

### capture_authorization
Activates funds that were previously authorized on an order, moving them into the final payment status.

### get_order_details
Retrieves all historical and current details for a specific order ID.

### get_subscription
Pulls the full metadata, status, and next billing date for any recurring subscription plan.

### refund_capture
Issues a refund against a payment that has already been processed (captured) using its unique ID.

### suspend_subscription
Temporarily pauses an active subscription service, useful for maintenance or account holds.

### void_authorization
Reverses a payment hold that was placed on an order but never converted into a final capture.

## Prompt Examples

**Prompt:** 
```
Create a strictly bounded new order array configuring explicit amounts totaling 50.00 USD.
```

**Response:** 
```
Invoked natively checking payload bounds. Operation success encapsulating order explicitly. Returned native Order ID is '98xx23'. Financial bounds verified natively gracefully awaiting further capture processes explicitly.
```

**Prompt:** 
```
Execute native limits to capture order logically tracking specific Order ID 'xy2z9'.
```

**Response:** 
```
Mapped explicit endpoints requesting execution. Payload captured parameters successfully. Final 'COMPLETED' native limit returned. The Capture ID logged is explicitly 'zz9xx82'. Check JSON array structurally if needed.
```

**Prompt:** 
```
Verify explicit details mapping boundaries for the active subscribed model ID 's99a'.
```

**Response:** 
```
Commanded tracking parameters hitting structural bounds `get_subscription`. Payload bounds returned efficiently. Current logical profile natively sits actively running ('ACTIVE'). Next mapped explicitly invoice limits generate safely on Sep 14.
```

## Capabilities

### Creating new payment orders
You can initiate a checkout process by creating a structured order record before any money moves.

### Managing payments and captures
The MCP allows you to authorize funds against an order, capture them later, or void the authorization entirely.

### Processing refunds
You can issue a refund for any payment that has already been captured, requiring only the correct transaction ID.

### Handling subscriptions
The tool lets you fetch details about recurring billing setups, and even suspend or cancel active plans.

### Retrieving order data
You can pull full details for any specific order using its unique identifier.

## Use Cases

### Processing a late return payment
A customer returns an item and needs money back. Instead of emailing finance with the transaction ID, they ask their agent: 'Refund capture for Order 98xx23.' The agent runs `refund_capture` instantly, confirming the credit.

### Validating a pilot program rollout
A software engineer needs to test subscription logic. They use `get_subscription` and then run `suspend_subscription` on a test account ID to ensure the suspension process works before deploying it widely.

### Handling abandoned carts with pre-paid holds
A user authorized funds but left the site. The team needs to confirm if they should proceed with payment or cancel the hold. They run `void_authorization` against the order ID, safely releasing the money.

### Diagnosing recurring billing issues
A customer calls about a failed charge. The agent runs `get_order_details` to check payment history and then uses `get_subscription` to see if the account status is correctly marked as 'Active' or suspended.

## Benefits

- Don't manually check statuses. Use `get_subscription` to instantly verify if a customer’s billing cycle is 'Active' or what their next invoice date will be.
- Eliminate payment bottlenecks by using `create_order` first, then running `authorize_order`, and finally `capture_order`—all in one chat session, simulating the entire checkout flow.
- When things go wrong, use `refund_capture` to issue refunds directly against a specific capture ID. This replaces needing to jump into the web portal just to process a return.
- Stop losing time on failed orders. If you authorize funds but realize nothing is happening, run `void_authorization` to safely release those held funds.
- Manage account changes by using `suspend_subscription` or `cancel_subscription`, allowing your agent to handle service deactivation immediately when needed.

## How It Works

The bottom line is that you use your AI agent to translate natural language commands into secure, structured payment API calls.

1. First, you subscribe to the PayPal MCP and input your Sandbox or Live Client ID along with your secret credentials.
2. Next, you instruct your AI agent on the specific financial action needed—for example, 'Capture payment for order XYZ' or 'Cancel subscription ABC'.
3. The MCP sends the request to PayPal, which executes the command and returns a confirmation status and any necessary transaction IDs.

## Frequently Asked Questions

**How do I check the current status of an active subscription using PayPal MCP?**
Use the `get_subscription` tool. This pulls all metadata, letting you see if the account is 'ACTIVE', suspended, or what day its next billing cycle starts.

**Can I refund payments with PayPal MCP if they are already captured?**
Yes. You must use `refund_capture` and provide the specific Capture ID for the payment you want to reverse. This ensures the funds come from the correct source.

**What is the difference between authorize_order and create_order?**
`create_order` sets up the empty container (the order record). `authorize_order` uses that container to place a temporary hold on funds, which is the first step toward payment.

**Do I need to use PayPal MCP for every type of refund?**
If the payment was processed through PayPal and has been captured, yes. The `refund_capture` tool is designed specifically to manage these financial adjustments.

**How does void_authorization work in PayPal MCP?**
`void_authorization` reverses a temporary hold on funds. Use this if you authorized the payment but then decided the transaction should never happen and need to release the money back to the customer.