Florilegio de la Fe uses PayPal’s JavaScript SDK to handle subscription checkout. The flow is client-driven: the PayPal JS SDK collects payment and, upon approval, hands back aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/alfonsoolavarria/florilegio/llms.txt
Use this file to discover all available pages before exploring further.
subscription_id. Your frontend then calls this endpoint to record the activated plan on the authenticated user’s UserProfile. The server updates the plan field and returns confirmation — no further redirect or webhook is required to unlock the upgraded limits.
POST /api/paypal/subscription/activate/
Activates apremium or pro subscription plan for the currently authenticated user.
Authentication: Login required (@login_required)
Rate limit: 10 requests / hour per user_or_ip
Method: POST — JSON body, CSRF token required
Request body
The PayPal subscription ID returned by the PayPal JS SDK upon the user’s approval. Example:
"I-1234567890AB". This value is stored on the user’s profile as confirmation of the activated subscription.The plan to activate. Must be exactly
"premium" or "pro". Any other value, or an empty/missing field, returns HTTP 400.Responses
Success — HTTP 200subscription_id is missing or plan is not "premium" or "pro".
Plan effects
| Plan | Study note limit | Description |
|---|---|---|
premium | 100 | Up to 100 personal Bible study notes |
pro | Unlimited | No cap on study notes |
PayPal SDK configuration
The PayPal JS SDK embedded in the plans page (GET /planes/) is initialized using the following environment variables:
| Variable | Purpose |
|---|---|
PAYPAL_CLIENT_ID | PayPal application client ID for the JS SDK |
PAYPAL_PLAN_PREMIUM | PayPal billing plan ID for the premium tier |
PAYPAL_PLAN_PRO | PayPal billing plan ID for the pro tier |
planes view and must be set in the server environment before the subscription flow can be used.