# UPI PSP Project Configuration

## Project Overview
- **Type**: UPI International Payment Service Provider (PSP)
- **Framework**: Phoenix/Elixir
- **Database**: MySQL (MyXQL adapter)
- **Architecture**: UPI International PSP with FX conversion

## Business Model
This is a UPI International PSP where:
1. Indian customers abroad scan QR codes at international merchants
2. NPCI UPI network handles customer debit (₹INR)
3. PSP receives credit request from NPCI
4. PSP converts INR to foreign currency using FX rates
5. PSP credits international partner/merchant in foreign currency

## Database Configuration
- **Adapter**: MyXQL (MySQL)
- **Dev Database**: upi_psp_dev
- **Test Database**: da_product_app_test
- **Default User**: root
- **Tables**: transactions, qr_validations, fx_rates, partners, merchants

## International Corridors
- **Singapore**: SGD conversion
- **UAE**: AED conversion  
- **USA**: USD conversion

## Key Services
- **UpiInternationalService**: Processes NPCI credit requests
- **FxRateService**: Manages currency conversion
- **Partner Adapters**: Handle international partner integration

## API Endpoints
- `/api/v1/international/npci-request` - Process NPCI credit requests
- `/api/v1/international/qr-generate` - Generate international QR codes
- `/api/v1/international/fx-rate/:from/:to` - Get FX rates
- `/api/v1/international/corridors` - List available corridors
- `/api/v1/international/transaction/:id` - Transaction status

## Development Notes
- Use sandbox partners for development
- FX rates can use RBI reference rates or sandbox rates
- Always validate corridor support before processing
- Maintain audit trail for all international transactions

## Migration Status
- ✅ International tables created
- ✅ FX rate management
- ✅ Partner/merchant schemas
- ✅ Enhanced transaction schema with international fields
