dev #21

Merged
root merged 29 commits from dev into main 2025-12-08 04:09:50 +00:00

29 Commits

Author SHA1 Message Date
root b03806fae6 Merge pull request 'feat: add endpoints to list and read log files; enhance log retrieval functionality' (#20) from epic-6-snap-hybrid-complete into dev
Reviewed-on: #20
2025-12-05 08:29:20 +00:00
Tengku Achmad 164e62c234 feat: add endpoints to list and read log files; enhance log retrieval functionality 2025-12-05 15:28:14 +07:00
root ea2fb9ca61 Merge pull request 'epic-6-snap-hybrid-complete' (#19) from epic-6-snap-hybrid-complete into dev
Reviewed-on: #19
2025-12-05 08:26:02 +00:00
Tengku Achmad 405f150724 feat: add fs and path dependencies; update server logging and webhook handling 2025-12-05 15:05:51 +07:00
Tengku Achmad e70fd7be81 fix: comment out unused DemoStorePage imports in router 2025-12-04 23:02:31 +07:00
Tengku Achmad c32ac1882d feat: update global styles and Tailwind configuration with Inter font; remove obsolete test files and add server documentation
- Added 'Inter' font to global CSS and Tailwind config for improved typography.
- Deleted unused test files related to payment link creation and Snap token testing.
- Created comprehensive README for server setup, API endpoints, and payment flow.
- Added testing documentation for easier integration and usage of the payment system.
2025-12-04 22:57:38 +07:00
root 9d4d2f1ea8 Merge pull request 'epic-6-snap-hybrid-complete' (#18) from epic-6-snap-hybrid-complete into dev
Reviewed-on: #18
2025-12-04 10:11:22 +00:00
CIFO Dev 29b28a389e Fix UX 2025-12-04 17:09:57 +07:00
CIFO Dev 6aa9a0658b fix build 2025-12-04 17:06:02 +07:00
root a9bb11f080 Merge pull request 'UX FIX' (#17) from epic-6-snap-hybrid-complete into dev
Reviewed-on: #17
2025-12-04 10:01:03 +00:00
CIFO Dev e9016d507d UX FIX 2025-12-04 16:47:31 +07:00
root 01179d646e Merge pull request 'fix ux' (#16) from epic-6-snap-hybrid-complete into dev
Reviewed-on: #16
2025-12-04 08:49:07 +00:00
CIFO Dev 7ebb5faa2f fix ux 2025-12-04 15:47:52 +07:00
root 5976f8e088 Merge pull request 'epic-6-snap-hybrid-complete' (#15) from epic-6-snap-hybrid-complete into dev
Reviewed-on: #15
2025-12-04 08:25:49 +00:00
CIFO Dev 3512fa4a4d fix ux 2025-12-04 14:56:53 +07:00
CIFO Dev c6225e3d35 feat: Add customer name display and improve Snap payment UX
- Add customerName prop to PaymentSheet component
- Display customer name in payment summary below Order ID
- Pass customer name from CheckoutPage form to PaymentSheet
- Fix TypeScript build errors (remove unused variables)
- Improve error logging in API interceptor
- Clean up snapLoader (remove unused snapLoading variable)
- Clean up PayPage (remove unused allowedMethods, runtimeCfg)
- Move lockOrder call to onSuccess callback in PayPage
- Add BOM handling in test-create-payment-link script
- Update test payment data (REFNO-002, TKG-2512041)
2025-12-04 12:45:05 +07:00
CIFO Dev 1f1393be30 Fix auto-payment trigger: wait for valid orderId before triggering Snap
- Add guard in AutoSnapPayment to only trigger when orderId and amount are valid
- Show loading state while waiting for payment data to resolve
- Prevent premature Snap token creation with empty/invalid data
- Fix PayPage and CheckoutPage auto-payment flow
2025-12-04 10:39:54 +07:00
CIFO Dev 386c84a26f Auto-trigger Snap payment: remove manual 'Bayar Sekarang' button click
- Add AutoSnapPayment component that auto-triggers Snap popup on mount
- Update CheckoutPage: auto-open Snap payment after form submission
- Update PayPage: auto-open Snap payment on page load
- Remove manual button clicks for smoother UX
- Add loading states and error handling for auto-payment flow
2025-12-04 10:35:32 +07:00
CIFO Dev 4bca71aeb3 Fix Snap payment flow: direct to payment UI in step 2 and add customer/item details to API request
- Remove intermediate payment method selection step in PayPage and CheckoutPage
- Update PayPage: direct step 2 payment interface (no wizard)
- Update CheckoutPage: 2-step wizard (form → payment)
- Add customer details (name, email, phone) to SnapPaymentTrigger
- Add item_details to Snap token request (required by Midtrans API)
- Fix 400 error from /api/payments/snap/token endpoint
- Clean up unused imports and variables
- Create payment link generation script (scripts/create-test-payment.mjs)
2025-12-03 17:01:12 +07:00
CIFO Dev d051c46ac4 feat: Epic 6 Stories 6.1-6.5 - Snap Hybrid Payment Strategy
Implemented comprehensive Snap integration with hybrid Core/Snap payment strategy:

Story 6.1 - Environment Switching:
- Added PAYMENT_GATEWAY_MODE env variable (CORE/SNAP)
- Created paymentMode.ts utilities for mode detection
- Added startup validation in main.tsx
- Implemented mode-aware logging with [CORE]/[SNAP] prefixes

Story 6.2 - Snap Payment Flow:
- Created /api/payments/snap/token endpoint
- Implemented SnapPaymentTrigger component with conditional rendering
- Added Snap.js script loading for SNAP mode
- Integrated hosted payment interface

Story 6.3 - Unified Webhook Handler:
- Enhanced /api/payments/notification for Core & Snap
- Implemented mode detection from payload structure
- Added unified signature verification
- Created shared status mapping and ledger updates

Story 6.4 - Shared Backend Logic:
- Created TransactionLogger for unified mode-aware logging
- Implemented OrderManager for shared validation logic
- Added CustomerDataHandler for consistent data sanitization
- Integrated shared utilities across payment endpoints

Story 6.5 - Code Organization:
- Reorganized into core/, snap/, shared/, lib/ structure
- Moved Core components to payments/core/
- Created PaymentAdapter for factory pattern routing
- Added SnapTokenService for token management
- Updated all import paths for new structure

Key Benefits:
✅ Instant rollback via environment variable
✅ Infrastructure offloading to Midtrans hosted interface
✅ Clean separation of Core vs Snap implementations
✅ Unified webhook processing for both modes
✅ Shared utilities eliminate code duplication

Technical Details:
- TypeScript compilation successful (549KB bundle)
- All payment methods work in both CORE and SNAP modes
- Dynamic component loading for Core components
- Mode-aware logging throughout payment flow
- Backwards compatible with existing Core API implementation
2025-12-03 15:33:22 +07:00
Ariq 34ee97848d adding ecosystem 2025-11-28 07:24:50 +00:00
root 7dce250966 Merge pull request 'feat/payment-ux-story-1-1' (#14) from feat/payment-ux-story-1-1 into dev
Reviewed-on: #14
2025-11-28 01:14:24 +00:00
CIFO Dev 4e36c42136 chore: remove .bmad, .trae, and docs folders from Git tracking 2025-11-28 08:06:53 +07:00
CIFO Dev 9754232d4c chore: update .gitignore to exclude .bmad, .trae folders and docs folder 2025-11-28 06:16:18 +07:00
CIFO Dev dd975ad222 new improvement 2025-11-25 16:24:52 +07:00
CIFO Dev d08b0bd312 feat(payments): complete Story 1.1 - Add loading overlay and error messages to all payment panels
- Updated GoPayPanel with LoadingOverlay and mapErrorToUserMessage
- Updated CStorePanel with LoadingOverlay and mapErrorToUserMessage
- All 3 payment methods now show user-friendly Bahasa Indonesia error messages
- Full-screen loading overlay prevents duplicate payment code generation

Story: 1.1 - Prevent Duplicate VA/QR/Code Generation & Improve Feedback
Status: Complete
2025-11-25 14:24:54 +07:00
CIFO Dev 4eccff2c03 feat(payments): implement Story 1.1 - Add error messages utility, loading overlay, and update BankTransferPanel
- Created src/lib/errorMessages.ts for user-friendly Bahasa Indonesia error messages
- Created src/components/LoadingOverlay.tsx with Framer Motion animations
- Updated BankTransferPanel with LoadingOverlay and mapErrorToUserMessage
- All 4 error catch blocks now use user-friendly messages
- GoPayPanel imports restored (ready for next iteration)

Story: 1.1 - Prevent Duplicate VA/QR/Code Generation & Improve Feedback
Status: Partial (BankTransferPanel complete, GoPayPanel & CStorePanel pending)
2025-11-25 14:04:41 +07:00
CIFO Dev 9a0f6d85f8 Merge remote-tracking branch 'origin/feat/payment-link-flow' 2025-11-25 13:52:49 +07:00
CIFO Dev 90923de3bd docs: Add Phase 1 Payment UX Improvements planning (problem-solution, tech-spec, epic, stories) 2025-11-25 13:51:14 +07:00