Skip to main content

🚀 PayBuildr 💸✨

A powerful Django application that integrates Stripe payments, Kong API Gateway management, and page building capabilities using GrapeJS and Puck.

💥 What is PayBuildr?

PayBuildr is the all-in-one solution for Django developers who need:

  • 💳 Payment processing with Stripe
  • 🌉 API gateway management with Kong
  • 🎨 Visual page building with GrapeJS & Puck

Built for Django 5.0+ and Python 3.12+, PayBuildr is the modern way to build payment-enabled web apps!

✨ Features

  • 💰 Stripe Integration: Process payments, manage subscriptions, and handle webhooks like a boss!
  • 🔌 Kong API Management: Configure and manage API services, routes, and rate limiting without breaking a sweat
  • 🏗️ Page Builder: Create and customize stunning pages with GrapeJS or Puck.js without writing a single line of HTML
  • 🧠 Smart Admin Interface: Comprehensive Django admin integration that just works™
  • 🔄 API Access: RESTful endpoints for plans, subscriptions, and pages
  • 🛠️ Customizable: Plug it into your project and extend it however you want!

📋 Requirements

  • 🐍 Python 3.12+
  • 🎸 Django 5.0+
  • 🌐 Django REST Framework 3.14+
  • 💵 Stripe Python SDK 7.0+
  • 🦍 Kong API Gateway
  • 📦 Node.js (for building frontend assets)

🚀 Installation

pip install paybuildr  # It's that simple!

Add to your INSTALLED_APPS (so easy your cat could do it):

INSTALLED_APPS = [
    # ... your other cool apps
    'rest_framework',  # gotta have this!
    'paybuildr',       # 💥 BOOM!
    # ... maybe more apps here
]

Add to your urls.py (copy & paste, you got this!):

urlpatterns = [
    # ... other URLs
    path('paybuildr/', include('paybuildr.urls')),  # 🎯 Plug and play!
    # ... more URLs maybe?
]

⚙️ Configuration

💳 Stripe Configuration

Add these settings to your settings.py:

# 🔑 Your secret keys (don't commit these to git!)
STRIPE_SECRET_KEY = 'your-stripe-secret-key'
STRIPE_PUBLIC_KEY = 'your-stripe-publishable-key'
STRIPE_WEBHOOK_SECRET = 'your-stripe-webhook-secret'
STRIPE_SUCCESS_URL = 'https://your-site.com/success/'  # 🎉
STRIPE_CANCEL_URL = 'https://your-site.com/cancel/'    # 😢

🦍 Kong Configuration

KONG_ADMIN_URL = 'http://localhost:8001'
KONG_SYNC_ENABLED = True  # Set to False if you're feeling rebellious

🗄️ Migrations

Run migrations (database tables don't create themselves... yet):

python manage.py migrate paybuildr
# ✅ Database tables created like magic!

🧩 Usage

🎛️ Admin Interface

The admin interface is where the magic happens:

  • 📊 Plans: Create and manage subscription plans
  • 💼 Subscriptions: View and manage user subscriptions
  • 🔗 API Services: Configure Kong API services
  • 🛣️ API Routes: Set up routes for your Kong services
  • ⏱️ API Plans: Configure rate limiting for different plans
  • 📄 Pages: Create and edit pages with the built-in page builders

🔧 Management Commands

# 🦍 Sync services to Kong
python manage.py setup_kong

# 📥 Import services from Kong to Django
python manage.py sync_from_kong

# 💰 Sync Stripe plans
python manage.py sync_stripe_plans

🔌 API Endpoints

RESTful goodness at your fingertips:

  • /api/plans/ - List available plans 📋
  • /api/plans/{id}/checkout/ - Create a checkout session 💸
  • /api/subscriptions/ - List user subscriptions 📊
  • /api/pages/ - Access pages created with the page builder 📄

🎨 Page Building

Build pages like you're designing in Figma:

  1. 🏁 Create pages in the admin interface
  2. 🖌️ Use the visual page builder to design like a pro
  3. 🚀 Publish and make available via the API or direct URL

💻 Development

🎭 Frontend Assets

To build the frontend assets:

cd paybuildr/static/paybuildr/js/puck
npm install    # 📦 Get the packages
npm run build  # 🔨 Build the assets

🧪 Running Tests

python manage.py test paybuildr  # 🧠 Because testing is smart

📜 License

MIT (Go wild! Just don't blame us if something breaks 😉)

🤝 Contributing

We 💖 contributions! Let's build something awesome together:

  1. 🍴 Fork the repository
  2. 🌱 Create your feature branch (git checkout -b feature/amazing-feature)
  3. 💾 Commit your changes (git commit -m 'Add some amazing feature')
  4. 📤 Push to the branch (git push origin feature/amazing-feature)
  5. 🔄 Open a Pull Request

📋 Development Status & Roadmap

✅ Completed Features

  • ✅ Stripe payment integration with plans and subscriptions
  • ✅ Kong API Gateway service and route management
  • ✅ Rate limiting for API services based on subscription plans
  • ✅ GrapeJS page builder integration
  • ✅ Django admin interface customization
  • ✅ RESTful API endpoints for plans and subscriptions
  • ✅ Management commands for Kong synchronization
  • ✅ Signal handlers for Stripe and Kong events

🚧 In Progress & Planned Features

  • 🚧 Comprehensive test suite
  • 🚧 Documentation and examples
  • 🚧 Puck page builder integration
  • 📝 User dashboard for managing subscriptions
  • 📝 Webhook handler improvements
  • 📝 Additional page templates
  • 📝 Analytics integration
  • 📝 Multi-tenant support
  • 📝 Docker setup for development
  • 📝 CI/CD pipeline
  • 📝 i18n/l10n support

💡 Want to help? Pick one of these items and submit a PR!

🙏 Acknowledgements

  • Kudos to the Django community
  • High-fives to the Stripe and Kong teams
  • Virtual hugs to all contributors!

Made with ❤️ by a developer, for whoever.

Metadata

Release files for paybuildr 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paybuildr 0.1.0
File Size Uploaded Provenance
paybuildr-0.1.0.tar.gz 66.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for paybuildr 0.1.0
File Interpreter ABI Platform
paybuildr-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 142.0 kB

Release files / paybuildr-0.1.0.tar.gz

Download URL paybuildr-0.1.0.tar.gz
Size 66.9 kB
Tags Source
SHA-256 checksum
How to use checksums
26d6d7d1cf8a5dec7770dca59778056e950c5713a7a12b398a509a8a972f2d33
BLAKE2b-256 checksum
How to use checksums
845b39a65e10094798c7d38b93916055924a5352014b212a0a4c1f400ae88e80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.6

Release files / paybuildr-0.1.0-py3-none-any.whl

Download URL paybuildr-0.1.0-py3-none-any.whl
Size 75.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fee1b2614ae1ae13b8794cb8d7b21cbb218da68d53f609c5dee965b8d7f71d11
BLAKE2b-256 checksum
How to use checksums
41c8b57fec3125f3858f9affe792f82e5d3f67fc0882177599f4af55c35cac0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.6

Security for paybuildr 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page