plugin stripe pro - nself-org/cli GitHub Wiki

Stripe Pro Plugin

Advanced Stripe integration with full webhook coverage, customer portal, and 24-table Hasura GraphQL access. 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 stripe-pro
nself build

The license is validated against ping.nself.org/license/validate. Tier is checked server-side; insufficient tier returns an error.

Description

Stripe Pro extends the standard stripe plugin (port 3070) with full webhook coverage, the Stripe customer portal, checkout session API, and 24 synced tables. Webhooks are signature-verified, persisted, and fanned out to downstream tables so your application has a complete local replica of billing activity without hitting the Stripe API.

The plugin tracks customers, subscriptions, invoices, payment intents, products, prices, refunds, disputes, coupons, trials, tax rates, and more. With 24 synced tables, you can query all billing data directly via Hasura GraphQL for custom dashboards, billing portals, and reconciliation reports.

Configuration

Env Var Default Description
STRIPE_PORT 3070 Stripe pro service port
STRIPE_SECRET_KEY Stripe secret key (sk_live_... or sk_test_...)
STRIPE_WEBHOOK_SECRET Webhook endpoint signing secret
STRIPE_PORTAL_RETURN_URL Customer portal return URL

Ports

Port Purpose
3070 Stripe pro REST API and webhook receiver

Database Schema

24 tables prefixed np_stripe_. Key tables:

  • np_stripe_customers, customer records
  • np_stripe_subscriptions, subscription state
  • np_stripe_invoices, invoice history
  • np_stripe_payment_intents, payment records
  • np_stripe_products, product catalog
  • np_stripe_prices, pricing tiers
  • np_stripe_refunds, refund records
  • np_stripe_disputes, dispute and chargeback records
  • np_stripe_coupons, discount coupons
  • np_stripe_tax_rates, tax rate definitions
  • np_stripe_webhook_events, raw incoming webhook payloads

Plus 13 more tables for trials, payment methods, charges, transfers, and balance transactions.

Nginx Routes

Route Target
/stripe/webhook Stripe event webhook receiver
/stripe/portal/session Customer portal session creation
/stripe/checkout/session Checkout session creation

Examples

Create a checkout session

curl -X POST http://localhost/stripe/checkout/session \
  -H "Content-Type: application/json" \
  -d '{"price_id": "price_1234", "customer_id": "cus_5678", "success_url": "https://example.com/success"}'

Query active subscriptions via Hasura

query ActiveSubscriptions {
  np_stripe_subscriptions(where: {status: {_eq: "active"}}) {
    id
    customer_id
    current_period_end
    items
  }
}

Open the customer portal

curl -X POST http://localhost/stripe/portal/session \
  -H "Content-Type: application/json" \
  -d '{"customer_id": "cus_5678"}'

Source

Source-available (license required to run): plugins-pro/paid/stripe/

Note: plugins-pro is a private repository. Source access is granted to ɳSelf+ subscribers and Enterprise customers.

See Also

Plugin-Overview | Home