Version 1.6.0
This commit is contained in:
172
CHANGELOG.md
172
CHANGELOG.md
@@ -1,7 +1,7 @@
|
||||
# IGNY8 Change Log
|
||||
|
||||
**Current Version:** 1.4.0
|
||||
**Last Updated:** January 6, 2026
|
||||
**Current Version:** 1.6.0
|
||||
**Last Updated:** January 8, 2026
|
||||
|
||||
---
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
| Version | Date | Summary |
|
||||
|---------|------|---------|
|
||||
| 1.6.0 | Jan 8, 2026 | **Major** - Payment System Refactor Complete: Stripe, PayPal, Bank Transfer flows finalized; Simplified signup (no payment redirect); Country-based payment rules; Webhook security; PDF invoices |
|
||||
| 1.5.0 | *Planned* | Image Generation System Overhaul, Quality Tier Refinements, Credit Service Enhancements |
|
||||
| 1.4.0 | Jan 5, 2026 | **Major** - AI Model Architecture Overhaul, IntegrationProvider Model, AIModelConfig with Credit System, SystemAISettings, Django Admin Reorganization |
|
||||
| 1.3.2 | Jan 3, 2026 | **Major** - Publishing Scheduler, Onboarding Wizard, Content Calendar, Design System Consolidation, Site Dashboard redesign |
|
||||
@@ -36,6 +37,173 @@
|
||||
|
||||
---
|
||||
|
||||
## v1.6.0 - January 8, 2026
|
||||
|
||||
### Major Release: Payment System Refactor Complete
|
||||
|
||||
This release completes the comprehensive refactoring of the payment system, including all three payment gateways (Stripe, PayPal, Bank Transfer), simplified signup flow, and enhanced security.
|
||||
|
||||
---
|
||||
|
||||
### 💳 Payment Gateway Integration
|
||||
|
||||
**Stripe Integration:**
|
||||
- Subscription checkout sessions
|
||||
- Credit package checkout
|
||||
- Billing portal for subscription management
|
||||
- Webhook processing with idempotency
|
||||
- Signature verification enforced
|
||||
|
||||
**PayPal Integration:**
|
||||
- One-time orders for credit packages
|
||||
- Subscription orders for plans
|
||||
- Order capture flow
|
||||
- Webhook signature verification enabled
|
||||
- Amount validation on capture
|
||||
|
||||
**Bank Transfer (Pakistan):**
|
||||
- Manual payment submission
|
||||
- File upload for payment proof
|
||||
- Admin approval workflow
|
||||
- Email notifications on approval/rejection
|
||||
|
||||
---
|
||||
|
||||
### 🔄 Simplified Signup Flow
|
||||
|
||||
**Before:** Payment gateway redirect from signup page
|
||||
**After:** Signup creates account only, payment on /account/plans
|
||||
|
||||
**Changes:**
|
||||
- Removed Stripe/PayPal checkout creation from registration
|
||||
- Account created with `status='pending_payment'` for paid plans
|
||||
- User redirected to Plans & Billing page to complete payment
|
||||
- Single `/signup` route (removed `/signup/pk` variant)
|
||||
|
||||
---
|
||||
|
||||
### 🌍 Country-Based Payment Rules
|
||||
|
||||
**Global Users (non-PK):**
|
||||
- Stripe (Credit/Debit Card) ✅
|
||||
- PayPal ✅
|
||||
- Bank Transfer ❌
|
||||
|
||||
**Pakistan Users (PK):**
|
||||
- Stripe (Credit/Debit Card) ✅
|
||||
- PayPal ❌ (not available in Pakistan)
|
||||
- Bank Transfer ✅
|
||||
|
||||
---
|
||||
|
||||
### 🎨 Frontend Components
|
||||
|
||||
**New Components:**
|
||||
- `PendingPaymentView` - Full-page payment interface for new users
|
||||
- `BankTransferForm` - Bank transfer submission with proof upload
|
||||
- `PaymentGatewaySelector` - Gateway selection UI
|
||||
|
||||
**Updated Components:**
|
||||
- `PlansAndBillingPage` - Conditional rendering based on user state
|
||||
- `PendingPaymentBanner` - Alert for pending payments
|
||||
- `PayInvoiceModal` - Invoice payment modal
|
||||
|
||||
---
|
||||
|
||||
### 🔒 Security Enhancements
|
||||
|
||||
- **Webhook Idempotency:** `WebhookEvent` model tracks processed events
|
||||
- **PayPal Signature Verification:** Enabled and enforced
|
||||
- **Stripe Signature Verification:** Already enforced
|
||||
- **Amount Validation:** PayPal capture validates amount matches expected
|
||||
- **Manual Reference Uniqueness:** Database constraint prevents duplicates
|
||||
|
||||
---
|
||||
|
||||
### 📄 PDF Invoice Generation
|
||||
|
||||
- Added `reportlab` for professional PDF generation
|
||||
- Logo integration from frontend assets
|
||||
- Proper formatting (no HTML tags in output)
|
||||
- Clean layout with company info, line items, totals
|
||||
- Payment information section for paid invoices
|
||||
|
||||
---
|
||||
|
||||
### 🗄️ Database Changes
|
||||
|
||||
**New Migration:** `0029_add_webhook_event_and_manual_reference_constraint`
|
||||
|
||||
**New Model:** `WebhookEvent`
|
||||
```python
|
||||
class WebhookEvent(models.Model):
|
||||
provider = models.CharField(choices=['stripe', 'paypal'])
|
||||
event_id = models.CharField(max_length=255)
|
||||
event_type = models.CharField(max_length=100)
|
||||
payload = models.JSONField()
|
||||
status = models.CharField() # pending, processed, failed
|
||||
processed_at = models.DateTimeField(null=True)
|
||||
```
|
||||
|
||||
**Updated Model:** `Payment`
|
||||
- Added unique constraint on `manual_reference`
|
||||
|
||||
---
|
||||
|
||||
### 📚 Documentation
|
||||
|
||||
**Consolidated:** Three payment documentation files merged into one:
|
||||
- `PAYMENT-SYSTEM-ARCHITECTURE.md` → Removed
|
||||
- `PAYMENT-SYSTEM-AUDIT-REPORT.md` → Removed
|
||||
- `PAYMENT-SYSTEM-REFACTOR-PLAN.md` → Removed
|
||||
|
||||
**New:** `90-REFERENCE/PAYMENT-SYSTEM.md`
|
||||
- Complete payment system documentation
|
||||
- All flows, endpoints, models in one file
|
||||
- Current state only (no planning artifacts)
|
||||
|
||||
---
|
||||
|
||||
### 📦 Backend Files Changed
|
||||
|
||||
| File | Changes |
|
||||
|------|---------|
|
||||
| `billing/views/stripe_views.py` | Idempotency, enhanced logging |
|
||||
| `billing/views/paypal_views.py` | Signature verification, amount validation, idempotency |
|
||||
| `billing/views/refund_views.py` | Fixed imports |
|
||||
| `billing/services/stripe_service.py` | Full service implementation |
|
||||
| `billing/services/paypal_service.py` | Full service implementation |
|
||||
| `billing/services/pdf_service.py` | Professional PDF generation with logo |
|
||||
| `billing/services/email_service.py` | Payment notification emails |
|
||||
| `billing/models.py` | WebhookEvent model, payment method choices |
|
||||
| `auth/serializers.py` | Removed checkout creation from registration |
|
||||
| `auth/urls.py` | Added country list endpoint |
|
||||
|
||||
---
|
||||
|
||||
### 📱 Frontend Files Changed
|
||||
|
||||
| File | Changes |
|
||||
|------|---------|
|
||||
| `SignUpFormUnified.tsx` | Simplified, removed payment selection |
|
||||
| `PlansAndBillingPage.tsx` | Conditional views, state handling |
|
||||
| `PendingPaymentView.tsx` | New component for new user payments |
|
||||
| `BankTransferForm.tsx` | New component for bank transfers |
|
||||
| `PaymentGatewaySelector.tsx` | New component for gateway selection |
|
||||
| `billing.api.ts` | Country-based gateway availability |
|
||||
| `authStore.ts` | Removed checkout URL handling |
|
||||
|
||||
---
|
||||
|
||||
### 🗑️ Removed
|
||||
|
||||
- `/signup/pk` route (consolidated into `/signup`)
|
||||
- `SignUpPK.tsx` page component
|
||||
- Payment gateway redirect from signup
|
||||
- Three separate payment documentation files
|
||||
|
||||
---
|
||||
|
||||
## v1.5.0 - Planned
|
||||
|
||||
### Upcoming Release: Image Generation System Overhaul
|
||||
|
||||
Reference in New Issue
Block a user