AirtelMoney.Utils (airtel_money v0.1.1)

Copy Markdown View Source

Utility functions for validation and formatting.

Summary

Functions

Formats MSISDN for Airtel Money API.

Formats MSISDN for specific country requirements.

Validates MSISDN format for Airtel Money.

Functions

format_msisdn(msisdn, country)

@spec format_msisdn(String.t(), String.t()) :: String.t()

Formats MSISDN for Airtel Money API.

Parameters

  • msisdn - Phone number string
  • country - Country code (e.g., "CD")

Returns

Formatted MSISDN string

Examples

iex> AirtelMoney.Utils.format_msisdn("243900000000", "CD")
"243900000000"

format_msisdn_for_country(msisdn, country)

@spec format_msisdn_for_country(String.t(), String.t()) :: String.t()

Formats MSISDN for specific country requirements.

For Kenya (KE), removes leading zero from MSISDN. For other countries, returns cleaned MSISDN.

Parameters

  • msisdn - Phone number string
  • country - Country code (e.g., "KE", "CD")

Returns

Formatted MSISDN string

Examples

iex> AirtelMoney.Utils.format_msisdn_for_country("0731732829", "KE")
"731732829"

iex> AirtelMoney.Utils.format_msisdn_for_country("243900000000", "CD")
"243900000000"

validate_msisdn(msisdn)

@spec validate_msisdn(String.t()) :: :ok | {:error, String.t()}

Validates MSISDN format for Airtel Money.

Parameters

  • msisdn - Phone number string

Returns

:ok if valid, {:error, reason} if invalid

Examples

iex> AirtelMoney.Utils.validate_msisdn("243900000000")
:ok

iex> AirtelMoney.Utils.validate_msisdn("invalid")
{:error, "Invalid MSISDN format"}