Skip to main content

Currency API Documentation

Overview

The wallet service supports multiple currencies for transactions and account management. Currency support is integrated across various services including accounts, payments, transfers, and settlements.

Supported Currencies

The system currently supports the following currencies:
  • USD (US Dollar)
  • EUR (Euro)
  • GBP (British Pound)
  • JPY (Japanese Yen)
  • AUD (Australian Dollar)
  • CAD (Canadian Dollar)
  • CHF (Swiss Franc)
  • CNY (Chinese Yuan)
  • INR (Indian Rupee)
  • RUB (Russian Ruble)
  • BRL (Brazilian Real)
  • ZAR (South African Rand)
  • NGN (Nigerian Naira)

Currency Integration

Account Management

  • Each account is associated with a specific currency
  • Multiple accounts in different currencies can be created for a user
  • Currency is specified during account creation
  • Currency cannot be changed after account creation

Payment Processing

  • Card payments support multiple currencies
  • USSD payments support multiple currencies
  • POS card payments support multiple currencies
  • Currency must be compatible with the payment provider

Transfer Operations

  • Intra-wallet transfers require matching currencies
  • Interbank transfers support currency conversion
  • Deposits support multiple currencies
  • Withdrawals support multiple currencies

Currency Validation

  • Currency code must be valid and supported
  • Currency must be compatible with the payment provider
  • Currency must be compatible with the bank for interbank transfers
  • Currency must be compatible with the country for USSD payments

Currency Limits

  • Transaction limits are currency-specific
  • Daily limits are enforced per currency
  • Monthly limits are enforced per currency
  • Tier limits are currency-specific

Currency Conversion

  • Interbank transfers support currency conversion
  • Conversion rates are provider-specific
  • Conversion fees may apply
  • Conversion is handled by the payment provider

Currency Settlement

  • Settlement accounts can be in different currencies
  • Auto-settlement supports multiple currencies
  • Settlement fees may vary by currency
  • Settlement timing may vary by currency

Best Practices

  1. Account Creation:
    • Choose the appropriate currency based on user needs
    • Consider payment provider support
    • Consider bank support for interbank transfers
    • Consider country-specific requirements
  2. Payment Processing:
    • Verify currency support with payment provider
    • Handle currency conversion if needed
    • Consider exchange rates and fees
    • Validate currency compatibility
  3. Transfer Operations:
    • Match currencies for intra-wallet transfers
    • Handle currency conversion for interbank transfers
    • Consider exchange rates and fees
    • Validate currency compatibility
  4. Settlement:
    • Choose appropriate settlement currency
    • Consider exchange rates and fees
    • Handle currency conversion if needed
    • Validate currency compatibility

Error Handling

  • Invalid currency codes are rejected
  • Incompatible currencies are rejected
  • Unsupported currency conversions are rejected
  • Currency-specific errors are handled appropriately

Security Considerations

  • Currency validation is enforced
  • Currency conversion is monitored
  • Currency-specific limits are enforced
  • Currency-specific fees are validated

Monitoring and Reporting

  • Currency usage is tracked
  • Currency conversion rates are monitored
  • Currency-specific errors are logged
  • Currency-specific performance is measured

Future Considerations

  • Support for additional currencies
  • Enhanced currency conversion features
  • Improved currency validation
  • Better currency-specific reporting