Conversation
* **Stripe Integration:**
* Implemented full payment flow for paid invites using Stripe Checkout.
* Added Price and Currency fields to Invites in backend and frontend.
* Updated api-stripe.go to handle callbacks correctly.
* Added PaymentStatus verification in api-users.go.
* **UI/UX Improvements:**
* Refactored Admin Create Invite form with aligned Price/Currency inputs.
* Added Payment Required modal to user registration flow.
* Improved Setup Wizard URL handling.
* **Fixes:**
* Corrected price handling (dollars vs cents).
* Fixed setup wizard redirection bugs.
…json:"labels". migrations.go: Updated the ombi.NotificationPref struct literals to use explicit keys (Agent:, UserID:, etc.). jf_activity_test.go: Updated the mediabrowser.Time struct literal to use the explicit key Time:. Dockerfile: Reverted to agnostic format.
- Implemented public store page (html/store.html) matched to system theme - Added Stripe checkout integration for invite generation - Updated webhook handler to process metadata (target_email, plan) - Refactored Docker build process and added .dockerignore - Fixed various struct literals and types for build stability
- Added 'Monthly Access' plan (.00/mo) to store page with shared email input - Implemented 'invoice.payment_succeeded' webhook to extend user expiry on renewal - Configured monthly invites to have strict 30-day expiry for auto-churn - Refactored HandleWebhook to return raw events for flexibility - Added cleanup for jfa-go binary in .gitignore
Adds an admin tab to set monthly price/currency and updates the store page UI to match. Removes the one-time 'Standard' plan entirely. Fixes a type assertion panic when saving config.
- Implemented full PayPal Monthly Subscription flow with webhooks. - Implemented Stripe Monthly Subscription flow with webhooks. - Added 'Store' tab to Admin UI for configuring both providers. - Redesigned Store Page for better UI/UX. - HARDENING: Added Idempotency checks (LastTransactionID) to prevent double-credit on retries. - HARDENING: Added Auto-Cancel logic for PayPal to prevent double-billing. - HARDENING: Added Smart Prevention to block active users from re-subscribing. - HARDENING: Added Re-enable logic for both providers to instantly unban disabled users upon payment.
👷 Deploy request for jfa-go pending review.Visit the deploys page to approve it
|
🛒 Store Configuration & Setup GuideThis update introduces dynamic pricing and a complete UI overhaul (tacking shit onto what is already functional) for the "Pay-to-Generate" feature, focusing exclusively on Monthly Subscriptions. 🎨 Store Redesign Overview
|
SummaryWe encountered some stability issues requiring a local rollback, but we have successfully re-implemented and hardened the integration. Status UpdateStripe (🟢 Fully Functional):
PayPal (🟡 Functional / Passive Mode):
i can see paypal being gutted entirely though. stripe works well UI/UX Notes
Ready for review. |
|
This is very big and I want to rework it to fit the style of the rest of the code so it'll take a long time. |
|
Also, don't worry about the review notes, those are for me. |
noted, congrats, new grad. |












📦 Consolidated Update: Subscriptions & Store Overhaul
#460
#462
🚀 Overview
This PR implements PayPal Subscriptions, hardens our Stripe integration, and introduces a completely redesigned Storefront.
✨ Key Features
Storetab to set price and new Settings to manage API keys for PP and Stripe🛡️ Security & Hardening (Idempotency)
LastTransactionIDtracking to prevent duplicate account credits from retried webhooks.⚡ Stripe Enhancements
🛠 Technical Breakdown
View detailed changes
PAYMENT.SALE.COMPLETED)LastTransactionIDcolumn to enforce idempotency🧪 Testing Plan