doctor
Diagnose PayPal integration issues by scanning your codebase, environment, and API usage patterns — then offer targeted fixes
Show PayPal sandbox test accounts and scenario-specific testing tips
> /plugin marketplace add paypal/AI-Toolkit > /plugin install paypal@paypal-ai-toolkit
How it fires
How this command gets triggered: by you, by Claude, or both.
/test-accountsContext preview
What this command does when you run it.
Show PayPal sandbox test accounts and scenario-specific testing tips
description: Show PayPal sandbox test accounts and scenario-specific testing tips argument-hint: [scenario — e.g. "decline", "BNPL", "Venmo", "subscriptions", "dispute"] allowed-tools: Read, mcp__paypal-sandbox__*
If "$ARGUMENTS" is set, show only the section(s) relevant to that scenario plus the Key Gotchas. If empty, show all sections.
Create test accounts at https://developer.paypal.com/dashboard/accounts. Two types:
| Type | Purpose | |---|---| | **Personal (Buyer)** | Approves payments, Venmo, Pay Later, opens disputes | | **Business (Seller/Merchant)** | Receives payments, creates orders, invoices, subscriptions |
Sandbox base URL: `https://api-m.sandbox.paypal.com`
curl -X POST https://api-m.sandbox.paypal.com/v1/oauth2/token \ -u "$PAYPAL_CLIENT_ID:$PAYPAL_CLIENT_SECRET" \ -d "grant_type=client_credentials"
Use any sandbox buyer account with sufficient balance. Amount: any normal value.
To simulate declines, use sandbox buyer accounts with specific wallet configurations or use these trigger amounts (USD):
| Trigger | How to simulate | |---|---| | Instrument declined | Use a sandbox buyer card set to "Declined" in the sandbox account wallet | | Insufficient funds | Set the sandbox buyer balance below the order amount | | Risk decline | Use amounts configured in your sandbox to trigger TRANSACTION_REFUSED |
1. Create product → create plan (must be `ACTIVE`) → create subscription 2. Approve using a sandbox buyer account 3. Sandbox auto-processes renewal cycles — accelerate via the Developer Dashboard 4. Use the Webhooks Simulator to test `BILLING.SUBSCRIPTION.PAYMENT.FAILED` and other lifecycle events
**Sandbox** buyer email addresses must contain the `whitelistallblock` keyword (e.g. `test-fl@whitelistallblock.com`).
Use any of the following cards as test cards for Fastlane in **Sandbox**:
| Brand | Test Number | |---|---| | Visa | 4005 5192 0000 0004 | | Visa | 4012 0000 3333 0026 | | Visa | 4012 0000 7777 7777 | | Mastercard | 5555 5555 5555 4444 | | American Express | 3782 822463 10005 |
1. Complete a payment with a sandbox buyer account 2. Log in to https://sandbox.paypal.com as the buyer → find the transaction → **Report a problem** 3. Use `GET /v2/customer/disputes` to see open disputes via API
# Expose local server with ngrok
ngrok http 3000
# Register webhook
curl -X POST https://api-m.sandbox.paypal.com/v1/notifications/webhooks \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://YOUR-NGROK-URL/webhooks/paypal",
"event_types": [
{"name": "PAYMENT.CAPTURE.COMPLETED"},
{"name": "BILLING.SUBSCRIPTION.ACTIVATED"},
{"name": "CUSTOMER.DISPUTE.CREATED"}
]
}'Use the [Webhooks Simulator](https://developer.paypal.com/dashboard/webhooksSimulator) for instant mock events without waiting for real transactions.
A Claude Code plugin that integrates PayPal's APIs and MCP server into your development workflow. Get AI-assisted help with PayPal payments, subscriptions, invoices, disputes, and more — directly in your editor.
Repo: paypal/AI-Toolkit
Diagnose PayPal integration issues by scanning your codebase, environment, and API usage patterns — then offer targeted fixes
Explain a PayPal API error code or message and provide actionable solutions
Show PayPal sandbox setup, credentials, and developer dashboard resources
Configure PayPal plugin — verify credentials, test MCP server connection, and show active environment