MPP.Methods.Tempo.Subscription (mpp v0.15.0)

Copy Markdown View Source

Tempo recurring-subscription activation and renewal.

Activation verifies the root-signed key authorization, provisions the server-held access key, and settles the first period atomically in one Tempo transaction. A reverted first-period transfer releases the activation credential so the client can retry; an ambiguous broadcast or a confirmed transfer that missed the recipient keeps the claim held. Later renew/2 calls reuse that access key within the exact periodic token and recipient scope persisted at activation, with the same settlement policy: a confirmed revert releases the in-flight period claim, while an ambiguous broadcast or a confirmed transfer that missed the recipient keeps the period claimed.

Summary

Functions

After application-level authentication, return the current receipt and renew an overdue period.

Return the public Tempo subscription challenge fields.

Charge the current overdue billing period for a persisted subscription.

Validate Tempo subscription-only method configuration.

Verify a subscription credential and atomically activate its first charge.

Functions

authorize(subscription_id, config)

@spec authorize(String.t(), map()) ::
  {:ok, MPP.Receipt.t()} | {:error, MPP.Errors.t()}

After application-level authentication, return the current receipt and renew an overdue period.

challenge_method_details(subscription)

@spec challenge_method_details(MPP.Intents.Subscription.t()) :: map()

Return the public Tempo subscription challenge fields.

renew(subscription_id, config)

@spec renew(String.t(), map()) :: {:ok, MPP.Receipt.t()} | {:error, MPP.Errors.t()}

Charge the current overdue billing period for a persisted subscription.

validate_config!(config)

@spec validate_config!(map()) :: :ok

Validate Tempo subscription-only method configuration.

verify(arg1, subscription)

@spec verify(map(), MPP.Intents.Subscription.t()) ::
  {:ok, MPP.Receipt.t()} | {:error, MPP.Errors.t()}

Verify a subscription credential and atomically activate its first charge.