feat: implement advanced test provider with interactive UI and multiple scenarios

- Add comprehensive test provider with configurable payment outcomes (paid, failed, cancelled, expired, pending)
- Support multiple payment methods (iDEAL, Credit Card, PayPal, Apple Pay, Bank Transfer)
- Interactive test payment UI with responsive design and real-time processing simulation
- Test mode indicators including warning banners, badges, and console warnings
- React components for admin UI integration (TestModeWarningBanner, TestModeBadge, TestPaymentControls)
- API endpoints for test payment processing and status polling
- Configurable scenarios with custom delays and outcomes
- Production safety mechanisms and clear test mode indicators
- Complete documentation and usage examples

Implements GitHub issue #20 for advanced test provider functionality.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-19 10:34:55 +02:00
parent 83251bb404
commit 8e6385caa3
6 changed files with 1025 additions and 3 deletions

View File

@@ -19,6 +19,26 @@ export interface TestProviderConfig {
simulateFailures?: boolean
}
export interface AdvancedTestProviderConfig {
enabled: boolean
scenarios?: Array<{
id: string
name: string
description: string
outcome: 'paid' | 'failed' | 'cancelled' | 'expired' | 'pending'
delay?: number
method?: 'ideal' | 'creditcard' | 'paypal' | 'applepay' | 'banktransfer'
}>
customUiRoute?: string
testModeIndicators?: {
showWarningBanners?: boolean
showTestBadges?: boolean
consoleWarnings?: boolean
}
defaultDelay?: number
baseUrl?: string
}
// Customer info extractor callback type
export interface CustomerInfoExtractor {
(customer: any): {