-
-
Notifications
You must be signed in to change notification settings - Fork 65
Feature/paypal & stripe integration #463
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
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