# App NODE_ENV=development PORT=4000 # Database (Prisma) DATABASE_URL=postgresql://edr:edr_secret@localhost:5432/edr_passenger?schema=edr_passenger # CORS FRONTEND_URL=http://localhost:5174 BACK_OFFICE_URL=http://localhost:5184 # JWT JWT_SECRET=edr-platform-secret-change-in-production JWT_EXPIRES_IN=7d # SendGrid SENDGRID_API_KEY= SENDGRID_FROM_EMAIL=noreply@edr-platform.com # SMS Configuration SMS_PROVIDER=twilio SMS_API_KEY= # Twilio (if SMS_PROVIDER=twilio) TWILIO_ACCOUNT_SID= TWILIO_AUTH_TOKEN= TWILIO_FROM_NUMBER= # Africa's Talking (if SMS_PROVIDER=africastalking) AFRICASTALKING_USERNAME= AFRICASTALKING_FROM= # Telebirr TELEBIRR_BASE_URL= TELEBIRR_WEB_BASE_URL= TELEBIRR_FABRIC_APP_ID= TELEBIRR_APP_SECRET= TELEBIRR_MERCHANT_APP_ID= TELEBIRR_MERCHANT_CODE= TELEBIRR_NOTIFY_URL= TELEBIRR_RETURN_URL= TELEBIRR_TIMEOUT_EXPRESS=15m TELEBIRR_PRIVATE_KEY= TELEBIRR_PUBLIC_KEY= TELEBIRR_INSECURE_TLS=false # CBE Birr CBE_BASE_URL= CBE_MERCHANT_ID= CBE_SECRET_KEY= CBE_NOTIFY_URL= CBE_RETURN_URL= # eBirr EBIRR_BASE_URL= EBIRR_MERCHANT_CODE= EBIRR_SECRET_KEY= EBIRR_NOTIFY_URL= EBIRR_RETURN_URL= # Card Gateway (Stripe-like) CARD_BASE_URL= CARD_API_KEY= CARD_WEBHOOK_SECRET= CARD_WEBHOOK_URL= CARD_RETURN_URL= # Waafi (Djibouti Mobile Money — Hosted Payment Page) # Sandbox: https://sandbox.waafipay.net | Production: https://api.waafipay.net WAAFI_BASE_URL=https://sandbox.waafipay.net WAAFI_MERCHANT_UID= WAAFI_STORE_ID= WAAFI_HPP_KEY= # HMAC secret returned once by WEBHOOK_REGISTER — verifies inbound webhooks WAAFI_WEBHOOK_SECRET= WAAFI_PAYMENT_METHOD=MWALLET_ACCOUNT # Waafi has no ETB; overrides booking currency (USD/DJF/SLSH) WAAFI_CURRENCY=DJF WAAFI_HPP_SUCCESS_URL= WAAFI_HPP_FAILURE_URL= # 1 = POST, 2 = GET, 4 = Result Token WAAFI_HPP_RESP_FORMAT=1 # Registered webhook URL (registration done out-of-band) WAAFI_NOTIFY_URL= # DEV ONLY — disable TLS cert verification (sandbox serves a *.waafi.com cert). Never true in prod. WAAFI_INSECURE_TLS=false # Payment Configuration PAYMENT_PROVIDERS_ENABLED=TELEBIRR,CBE_BIRR,EBIRR,CARD,WALLET,WAAFI # Session Configuration SESSION_INACTIVITY_MINUTES=30 # i18n Configuration DEFAULT_LOCALE=en SUPPORTED_LOCALES=en,am,fr,om # Corporate IAM Configuration (for back-office authentication) IAM_ENABLED=false IAM_API_URL=https://iam.tria-plc.com/api IAM_API_KEY= # --- VeriFayda 2.0 (eSignet) OIDC integration --- FAYDA_ENABLED=true FAYDA_CLIENT_ID= FAYDA_AUTHORIZATION_ENDPOINT= FAYDA_TOKEN_ENDPOINT= FAYDA_USERINFO_ENDPOINT= # Base64 of the RSA private JWK (JSON). Secret — never commit a real value. FAYDA_PRIVATE_KEY_BASE64= FAYDA_REDIRECT_URI= # Optional (defaults shown) FAYDA_SCOPE=openid profile email FAYDA_ACR_VALUES=mosip:idp:acr:generated-code FAYDA_CLAIMS_LOCALES=en am FAYDA_SESSION_TTL_MINUTES=10 GITHUB_PACKAGE_TOKEN=