Stripe handles subscription billing and payment processing for RapidPM.
See Billing & Pricing for the complete pricing matrix, feature breakdown, and Stripe product mappings.
| Feature | Purpose |
|---|---|
| Subscriptions | Monthly/annual billing |
| Payment Methods | Card storage and processing |
| Invoices | Automatic invoice generation |
| Webhooks | Payment event notifications |
| Customer Portal | Self-service billing management |
| Environment | Version |
|---|---|
| All | 11.6.0 (Python SDK) |
| Server | Status |
|---|---|
| Stripe | Cloud service (stripe.com) |
| Backend | API integration |
STRIPE_SECRET_KEY=sk_live_...
STRIPE_PUBLISHABLE_KEY=pk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...
import stripe
stripe.api_key = os.environ.get('STRIPE_SECRET_KEY')
# Create subscription
subscription = stripe.Subscription.create(
customer=customer_id,
items=[{'price': price_id}]
)
@app.route('/webhook/stripe', methods=['POST'])
def stripe_webhook():
# Handle payment events
pass
| Event | Action |
|---|---|
invoice.paid |
Activate/extend subscription |
invoice.payment_failed |
Notify customer |
customer.subscription.deleted |
Deactivate account |
Type: SaaS (Pay-per-transaction)
Cost: 1.5% + 20p per transaction (UK)
See Licenses for details.
app/
├── controllers/
│ ├── billing.py # Billing endpoints
│ └── webhook.py # Stripe webhooks
└── services/
└── stripe_service.py # Stripe API wrapper
Use Stripe test mode with test API keys:
STRIPE_SECRET_KEY=sk_test_...
Test card numbers:
4242 4242 4242 42424000 0000 0000 0002