Invoice

data class Invoice(val externalId: String, val amount: String, val currency: String, val validityDuration: String? = null, val intendedPayer: AccountHolder? = null, val payerMessage: String? = null, val payeeNote: String? = null, val description: String? = null)

Represents a Collection invoice request sent to the MTN MOMO Invoice API.

An invoice is a payment request linked to a specific intended payer that expires after validityDuration seconds. The payer is prompted to approve the invoice from their mobile wallet.

Constructors

Link copied to clipboard
constructor(externalId: String, amount: String, currency: String, validityDuration: String? = null, intendedPayer: AccountHolder? = null, payerMessage: String? = null, payeeNote: String? = null, description: String? = null)

Properties

Link copied to clipboard

The invoice amount as a string.

Link copied to clipboard

The ISO 4217 currency code (e.g., "EUR", "UGX"). Use "EUR" on sandbox.

Link copied to clipboard

Human-readable description of the goods or services being invoiced.

Link copied to clipboard

Merchant-assigned reference used to correlate the invoice on the integrator side.

Link copied to clipboard

The AccountHolder that is expected to pay the invoice; optional.

Link copied to clipboard

A note to the payee describing the invoice purpose.

Link copied to clipboard

A short message visible to the payer in their wallet notification.

Link copied to clipboard

Seconds until the invoice expires; defaults to the product's configured TTL when null.