plugin paypal pro - nself-org/cli GitHub Wiki
PayPal Pro Plugin
Advanced PayPal integration with full webhook processing, dispute automation, and recurring subscription management. Pro plugin, requires license.
Tier required
| Tier | Monthly | Annual | Includes this plugin? |
|---|---|---|---|
| Free | $0 | $0 | No |
| Basic | $0.99/mo | $9.99/yr | Yes |
| Pro | $1.99/mo | $19.99/yr | Yes |
| Elite | $4.99/mo | $49.99/yr | Yes |
| Business | $9.99/mo | $99.99/yr | Yes |
| Business+ | $49.99/mo | $499.99/yr | Yes |
| Enterprise | $99.99/mo | $999.99/yr | Yes |
Minimum tier: Basic (this is a tier: pro plugin per F07-PRICING-TIERS).
Bundle membership
Not currently in a named bundle. Purchase any tier subscription (Basic and up) for access.
Or get all bundles + all apps via ɳSelf+ ($49.99/yr).
Install
nself license set nself_pro_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
nself plugin install paypal-pro
nself build
The license is validated against ping.nself.org/license/validate. Tier is checked server-side; insufficient tier returns an error.
Description
PayPal Pro extends the standard paypal plugin (port 3071) with full webhook signature validation, automated dispute response workflows, and recurring subscription lifecycle management. Incoming PayPal webhooks are verified, persisted, and fanned out to downstream tables so your application has a complete local replica of payment activity without polling the PayPal REST API.
The plugin tracks orders, captures, refunds, disputes, subscriptions, plans, payouts, and invoices. With 14 synced tables, you can query all PayPal data directly via Hasura GraphQL for custom dashboards, billing portals, and reconciliation reports.
Configuration
| Env Var | Default | Description |
|---|---|---|
PAYPAL_PORT |
3071 |
PayPal pro service port |
PAYPAL_CLIENT_ID |
— | PayPal REST API client ID |
PAYPAL_CLIENT_SECRET |
— | PayPal REST API client secret |
PAYPAL_MODE |
sandbox |
Mode: sandbox or live |
PAYPAL_WEBHOOK_ID |
— | PayPal webhook ID for signature verification |
Ports
| Port | Purpose |
|---|---|
| 3071 | PayPal pro REST API and webhook receiver |
Database Schema
14 tables prefixed np_paypal_:
np_paypal_orders, order recordsnp_paypal_captures, payment capturesnp_paypal_authorizations, payment authorizationsnp_paypal_refunds, refund recordsnp_paypal_disputes, dispute and chargeback recordsnp_paypal_subscriptions, subscription statenp_paypal_subscription_plans, subscription plan definitionsnp_paypal_products, product catalognp_paypal_payouts, payout recordsnp_paypal_invoices, invoice historynp_paypal_payers, payer (customer) recordsnp_paypal_balances, account balance snapshotsnp_paypal_transactions, transaction lognp_paypal_webhook_events, raw incoming webhook payloads
Nginx Routes
| Route | Target |
|---|---|
/paypal/webhook |
PayPal webhook receiver |
/paypal/orders/ |
Order creation and capture |
/paypal/subscriptions/ |
Subscription management |
Examples
Create a PayPal order
curl -X POST http://localhost/paypal/orders \
-H "Content-Type: application/json" \
-d '{"amount": "29.99", "currency": "USD", "description": "Pro subscription"}'
Query subscriptions via Hasura
query ActiveSubscriptions {
np_paypal_subscriptions(where: {status: {_eq: "ACTIVE"}}) {
id
payer_id
plan_id
next_billing_time
}
}
Source
Source-available (license required to run): plugins-pro/paid/paypal/
Note: plugins-pro is a private repository. Source access is granted to ɳSelf+ subscribers and Enterprise customers.
See Also
- plugin-stripe-pro, Stripe billing integration
- plugin-shopify-pro, Shopify store sync
- plugin-donorbox-pro, Donorbox donation sync
- Plugin-Overview, full plugin index
- Plugin-Licensing, tier comparison
← Plugin-Overview | Home →