feat: add DCB User Service API - Authentication system with KEYCLOAK - Modular architecture with services for each feature

This commit is contained in:
diallolatoile 2025-11-14 18:50:38 +00:00
commit 648511134a
2 changed files with 173 additions and 3 deletions

View File

@ -2,5 +2,90 @@ export const environment = {
production: true, production: true,
localServiceTestApiUrl: "https://backoffice.dcb.pixpay.sn/api/v1", localServiceTestApiUrl: "https://backoffice.dcb.pixpay.sn/api/v1",
iamApiUrl: "https://api-user-service.dcb.pixpay.sn/api/v1", iamApiUrl: "https://api-user-service.dcb.pixpay.sn/api/v1",
apiCoreUrl: 'https://api-core-service.dcb.pixpay.sn/api/v1', dcbApiUrl: 'https://api.paymenthub.com/v2',
// Configuration DCB
dcb: {
// Opérateurs supportés
operators: {
orange: {
endpoint: 'https://api.orange.com/dcb/v2',
timeout: 30000,
retryAttempts: 3,
countries: ['CIV', 'SEN', 'CMR', 'MLI', 'BFA', 'GIN']
},
mtn: {
endpoint: 'https://api.mtn.com/dcb/v2',
timeout: 25000,
retryAttempts: 3,
countries: ['CIV', 'GHA', 'NGA', 'CMR', 'RWA']
},
airtel: {
endpoint: 'https://api.airtel.com/dcb/v2',
timeout: 30000,
retryAttempts: 3,
countries: ['COD', 'TZN', 'KEN', 'UGA', 'RWA']
},
moov: {
endpoint: 'https://api.moov.com/dcb/v2',
timeout: 25000,
retryAttempts: 3,
countries: ['CIV', 'BEN', 'TGO', 'NER', 'BFA']
}
},
// Limitations
limits: {
maxAmount: 50,
minAmount: 0.5,
dailyLimit: 100,
monthlyLimit: 1000
},
// Sécurité
security: {
webhookSecret: 'dcb_wh_secret_2024',
encryptionKey: 'dcb_enc_key_2024',
jwtExpiry: '24h'
},
// Monitoring
monitoring: {
healthCheckInterval: 60000,
alertThreshold: 0.1, // 10% d'erreur
performanceThreshold: 5000 // 5 secondes
}
},
// Configuration Partners
merchants: {
onboarding: {
maxFileSize: 10 * 1024 * 1024,
allowedFileTypes: ['pdf', 'jpg', 'jpeg', 'png'],
autoApproveThreshold: 1000
},
payouts: {
defaultSchedule: 'monthly',
processingDays: [1, 15],
minPayoutAmount: 50,
fees: {
bankTransfer: 1.5,
mobileMoney: 2.0
}
},
kyc: {
requiredDocuments: ['registration_certificate', 'tax_certificate', 'id_document'],
autoExpireDays: 365
}
},
// Configuration générale
app: {
name: 'Payment Aggregation Hub',
version: '2.0.0',
supportEmail: 'support@paymenthub.com',
defaultLanguage: 'fr',
currencies: ['XOF', 'XAF', 'USD', 'EUR', 'TND'],
countries: ['CIV', 'SEN', 'CMR', 'COD', 'TUN', 'BFA', 'MLI', 'GIN', 'NGA', 'GHA']
}
}; };

View File

@ -2,5 +2,90 @@ export const environment = {
production: true, production: true,
localServiceTestApiUrl: "https://backoffice.dcb.pixpay.sn/api/v1", localServiceTestApiUrl: "https://backoffice.dcb.pixpay.sn/api/v1",
iamApiUrl: "https://api-user-service.dcb.pixpay.sn/api/v1", iamApiUrl: "https://api-user-service.dcb.pixpay.sn/api/v1",
apiCoreUrl: 'https://api-core-service.dcb.pixpay.sn/api/v1' dcbApiUrl: 'https://api.paymenthub.com/v2',
// Configuration DCB
dcb: {
// Opérateurs supportés
operators: {
orange: {
endpoint: 'https://api.orange.com/dcb/v2',
timeout: 30000,
retryAttempts: 3,
countries: ['CIV', 'SEN', 'CMR', 'MLI', 'BFA', 'GIN']
},
mtn: {
endpoint: 'https://api.mtn.com/dcb/v2',
timeout: 25000,
retryAttempts: 3,
countries: ['CIV', 'GHA', 'NGA', 'CMR', 'RWA']
},
airtel: {
endpoint: 'https://api.airtel.com/dcb/v2',
timeout: 30000,
retryAttempts: 3,
countries: ['COD', 'TZN', 'KEN', 'UGA', 'RWA']
},
moov: {
endpoint: 'https://api.moov.com/dcb/v2',
timeout: 25000,
retryAttempts: 3,
countries: ['CIV', 'BEN', 'TGO', 'NER', 'BFA']
} }
},
// Limitations
limits: {
maxAmount: 50,
minAmount: 0.5,
dailyLimit: 100,
monthlyLimit: 1000
},
// Sécurité
security: {
webhookSecret: 'dcb_wh_secret_2024',
encryptionKey: 'dcb_enc_key_2024',
jwtExpiry: '24h'
},
// Monitoring
monitoring: {
healthCheckInterval: 60000,
alertThreshold: 0.1, // 10% d'erreur
performanceThreshold: 5000 // 5 secondes
}
},
// Configuration Partners
merchants: {
onboarding: {
maxFileSize: 10 * 1024 * 1024,
allowedFileTypes: ['pdf', 'jpg', 'jpeg', 'png'],
autoApproveThreshold: 1000
},
payouts: {
defaultSchedule: 'monthly',
processingDays: [1, 15],
minPayoutAmount: 50,
fees: {
bankTransfer: 1.5,
mobileMoney: 2.0
}
},
kyc: {
requiredDocuments: ['registration_certificate', 'tax_certificate', 'id_document'],
autoExpireDays: 365
}
},
// Configuration générale
app: {
name: 'Payment Aggregation Hub',
version: '2.0.0',
supportEmail: 'support@paymenthub.com',
defaultLanguage: 'fr',
currencies: ['XOF', 'XAF', 'USD', 'EUR', 'TND'],
countries: ['CIV', 'SEN', 'CMR', 'COD', 'TUN', 'BFA', 'MLI', 'GIN', 'NGA', 'GHA']
}
};