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
root
c5995f7b39
Merge pull request 'feat/payment-link-flow' ( #13 ) from feat/payment-link-flow into main
...
Reviewed-on: #13
2025-11-24 13:36:36 +00:00
Tengku Achmad
b98c50cea8
refactor(payments): remove indomaret support and update navigation
2025-11-24 20:22:01 +07:00
Tengku Achmad
5034ecf1e4
feat: replace demo store with initial page and improve payment UI
2025-11-24 09:53:20 +07:00
root
18513b5968
Merge pull request 'feat/payment-link-flow' ( #12 ) from feat/payment-link-flow into main
...
Reviewed-on: #12
2025-11-22 05:01:17 +00:00
Tengku Achmad
c6b17bfab6
feat: update favicon and page title for branding
2025-11-22 11:58:37 +07:00
Tengku Achmad
ec96b71161
feat(payments): extend payment link expiration to 24 hours
...
Update default payment link TTL from 30 minutes to 24 hours across frontend and backend. Also modify countdown display to show hours in addition to minutes and seconds.
2025-11-22 11:54:46 +07:00
root
2494f3cedd
Merge pull request 'feat(server): support multiple ERP notification URLs (ERP_NOTIFICATION_URLS)\n\n- Add env ERP_NOTIFICATION_URLS (comma-separated) with fallback to ERP_NOTIFICATION_URL\n- Update' ( #11 ) from feat/payment-link-flow into main
...
Reviewed-on: #11
2025-11-17 06:40:53 +00:00
CIFO Dev
96c4cd3aba
feat(server): support multiple ERP notification URLs (ERP_NOTIFICATION_URLS)\n\n- Add env ERP_NOTIFICATION_URLS (comma-separated) with fallback to ERP_NOTIFICATION_URL\n- Update
...
otifyERP to broadcast payload to all endpoints and aggregate results\n- Log per-endpoint result and summary via erp.notify.success and erp.notify.summary\n- Add dev endpoint /api/echo2 for local multi-URL testing\n\nThis ensures signature is included in body for all endpoints and improves visibility in logs.
2025-11-17 13:33:03 +07:00
root
9a4e14575b
Merge pull request 'ERP: gunakan ERP_CLIENT_SECRET untuk signature; perbaiki fallback; tambah log detail HTTP request/response; endpoint GET /api/logs untuk akses log via browser; log payload ERP dengan signature length dan presence' ( #10 ) from feat/payment-link-flow into main
...
Reviewed-on: #10
2025-11-17 06:08:55 +00:00
CIFO Dev
8c42768ec3
ERP: gunakan ERP_CLIENT_SECRET untuk signature; perbaiki fallback; tambah log detail HTTP request/response; endpoint GET /api/logs untuk akses log via browser; log payload ERP dengan signature length dan presence
2025-11-17 10:58:44 +07:00
root
11197bf3c7
Merge pull request 'refactor(erp): make computeErpSignature async and improve signature handling' ( #9 ) from feat/payment-link-flow into main
...
Reviewed-on: #9
2025-11-14 10:47:32 +00:00
Tengku Achmad
e1dbe911c9
refactor(erp): make computeErpSignature async and improve signature handling
2025-11-14 16:43:31 +07:00
root
33df1b326c
Merge pull request 'refactor: remove unused Link import from AppLayout' ( #8 ) from feat/payment-link-flow into main
...
Reviewed-on: #8
2025-11-14 08:47:56 +00:00
Tengku Achmad
b234556f92
refactor: remove unused Link import from AppLayout
2025-11-14 15:47:17 +07:00
root
e4c81dce78
Merge pull request 'feat: implement toast notifications and update UI components' ( #7 ) from feat/payment-link-flow into main
...
Reviewed-on: #7
2025-11-14 08:45:08 +00:00
root
f4e0ca4741
Merge pull request 'feat/payment-link-flow' ( #6 ) from feat/payment-link-flow into main
...
Reviewed-on: #6
2025-11-14 08:42:08 +00:00
Tengku Achmad
e1f989447b
feat: implement toast notifications and update UI components
...
refactor: remove dark mode styles and simplify UI components
style: update color scheme and branding to new blue theme
feat(toast): add toast notification system for user feedback
fix: correct merchant name and update payment sheet styling
docs: update comments and remove unused code
2025-11-14 15:13:46 +07:00
CIFO Dev
9edcd6191a
notify erp
2025-11-14 10:07:11 +07:00
CIFO Dev
80fb683dcc
Remove dev-only status mock; always query Midtrans API. Add helper script to compute Midtrans webhook signature for local tests.
2025-11-14 10:04:53 +07:00
root
d430e82d3f
Merge pull request 'fixing merchant id' ( #5 ) from feat/payment-link-flow into main
...
Reviewed-on: #5
2025-11-12 05:24:48 +00:00
CIFO Dev
6472e95310
fixing merchant id
2025-11-12 10:29:37 +07:00
root
9b8a62f1d8
Merge pull request 'feat/payment-link-flow' ( #4 ) from feat/payment-link-flow into main
...
Reviewed-on: #4
2025-11-11 08:55:06 +00:00
CIFO Dev
4b43c61365
update merchat order id
2025-11-11 15:11:22 +07:00
CIFO Dev
92ec715632
QA: Update Postman Create Transaction body to ERP schema (mercant_id,timestamp,deskripsi,nominal,nama,no_telepon,email,item[])
2025-11-11 13:53:20 +07:00
root
ef4dcb8795
Merge pull request 'Align PayPage flow and update /createtransaksi schema' ( #3 ) from feat/payment-link-flow into main
...
Reviewed-on: #3
2025-11-11 06:09:03 +00:00
CIFO Dev
baed44ecd7
Align PayPage flow and update /createtransaksi schema
2025-11-11 10:19:50 +07:00
root
11ca3f5117
Merge pull request 'feat/payment-link-flow' ( #2 ) from feat/payment-link-flow into main
...
Reviewed-on: #2
2025-11-10 10:02:10 +00:00