Claude Code, Plugin
paypal
PayPal development plugin for Claude — integrate payments, subscriptions, invoices, disputes, and more using PayPal's APIs and MCP server
Compatibility: Not stated.
Grade C
One Medium finding. Read the findings before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit 1401791aca82, unchanged since the check below.
INSTALL_LIFECYCLE_HOOK
Why this grade
- INSTALL_LIFECYCLE_HOOK Medium
A package install hook (preinstall, install, postinstall or prepare) runs a script.
package.json, line 26
prepare
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Pass
No shell or command call was found in the code. This check does not read permissions an entry declares. A permission line to run shell commands, write or edit files and fetch web content was found in this repository, and it may apply to this entry.
Install and update
Concern
runs a script at install time.
INSTALL_LIFECYCLE_HOOK
package.json, line 26
prepare
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
commands/setup.md, line 79
curl -X POST https://api-m.sandbox.paypal.com/v1/oauth2/token \
commands/test-accounts.md, line 23
curl -X POST https://api-m.sandbox.paypal.com/v1/oauth2/token \
commands/test-accounts.md, line 91
curl -X POST https://api-m.sandbox.paypal.com/v1/notifications/webhooks \
Show more
skills/paypal-best-practices/references/fastlane.md, line 67
const response = await fetch("https://api-m.sandbox.paypal.com/v1/oauth2/token", {
skills/paypal-best-practices/references/fastlane.md, line 187
const orderResponse = await fetch(`${PAYPAL_API_BASE_URL}/v2/checkout/orders`, {
skills/paypal-best-practices/references/js-sdk-v6.md, line 122
const capture = await fetch(`/api/orders/${data.orderId}/capture`, { method: "POST" });
skills/paypal-best-practices/references/js-sdk-v6.md, line 134
const res = await fetch(`/api/orders/${data.orderId}/shipping`, {
skills/paypal-best-practices/references/js-sdk-v6.md, line 195
await fetch(`/api/orders/${data.orderId}/capture`, { method: "POST" });
skills/paypal-best-practices/references/js-sdk-v6.md, line 312
await fetch(`/api/orders/${data.orderId}/capture`, { method: "POST" });
skills/paypal-best-practices/references/js-sdk-v6.md, line 523
const response = await fetch("https://api-m.sandbox.paypal.com/v1/oauth2/token", {
skills/paypal-best-practices/references/js-sdk-v6.md, line 619
await fetch(`${PAYPAL_API_BASE_URL}/v2/checkout/orders`, {
skills/paypal-best-practices/references/webhook-sandbox.md, line 35
curl -s -X POST https://api-m.sandbox.paypal.com/v1/oauth2/token \
skills/paypal-best-practices/references/webhook-sandbox.md, line 61
curl -s -X POST https://api-m.sandbox.paypal.com/v1/notifications/webhooks \
skills/paypal-best-practices/references/webhook-sandbox.md, line 75
curl -s -X GET https://api-m.sandbox.paypal.com/v1/notifications/webhooks \
skills/paypal-best-practices/references/webhook-sandbox.md, line 271
RESP=$(curl -s -w "\n%{http_code}" -X GET "$URL" -H "Authorization: Bearer $ACCESS_TOKEN")
skills/paypal-best-practices/references/webhook-sandbox.md, line 320
RESP=$(curl -s --connect-timeout 5 --max-time 15 -w "\n%{http_code}" -X GET \
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
commands/setup.md, line 113
ls .env .env.sample .env.example 2>/dev/null
commands/setup.md, line 128
Found .env.sample but no .env file.
commands/setup.md, line 131
cp .env.sample .env
Show more
commands/setup.md, line 145
grep -q "^PAYPAL_CLIENT_ID=.\+" .env && echo "PAYPAL_CLIENT_ID: set" || echo "PAYPAL_CLIENT_ID: missing"
commands/setup.md, line 146
grep -q "^PAYPAL_CLIENT_SECRET=.\+" .env && echo "PAYPAL_CLIENT_SECRET: set" || echo "PAYPAL_CLIENT_SECRET: missing"
commands/setup.md, line 155
v6 SDK integration detected but no .env file found.
commands/setup.md, line 157
Create a .env file in the project root with these variables.
commands/setup.md, line 177
[✓] .env - PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET set
skills/paypal-best-practices/references/fastlane-braintree.md, line 66
publicKey: process.env.BRAINTREE_PUBLIC_KEY,
skills/paypal-best-practices/references/fastlane-braintree.md, line 67
privateKey: process.env.BRAINTREE_PRIVATE_KEY,
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Pass
No encoded or minified payload found.
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 1401791aca82. runs a script at install time. can reach a host that is not written as a fixed address. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: 1401791aca82568525bd60aa40aaeb3e9a9615d0
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.