Skip to content

A subscription starts when a payment for a plan settles, runs for the days that payment bought, and ends when those days run out. Buying the same plan again adds days to the running subscription; buying a different plan replaces it and converts the days you had left. Expiry is noticed the next time you do something that needs an active subscription, not at the minute it falls due.

Payment is by cryptocurrency. Choosing a plan and a term creates an invoice with a checkout link, and AFP re-checks that invoice with the payment provider until the provider reports a final result.

StateApplies toWhat it meansLeaves this state when
PendingInvoiceCreated, checkout link issued, no payment confirmed yetPayment is confirmed, you cancel it, or you start another payment
ConfirmedInvoicePaid for the amount asked, or over itNever — confirmation is what starts or extends a subscription
CancelledInvoiceClosed without payment, by you or by a newer invoiceNever
FailedInvoiceThe payment provider reported a failure resultNever
ActiveSubscriptionThe one subscription in force on the accountIts days run out, a different plan replaces it, or it is transferred away
ExpiredSubscriptionIts days ran out and an access check noticedNever — a payment creates a new subscription instead of reviving this one
Pick a plan and a termInvoice created, pendingcheckout link issuedAFP re-checks the invoicewith the payment providerInvoice confirmedInvoice cancelledInvoice failedIs a subscriptionalready active?New subscription startswith the days you boughtDays added to therunning subscriptionRemaining days converted,old subscription deactivatedComments that failed whileinactive are re-attempted paid, or overpaid you cancel, or re-pay provider failure No Yes, same plan Yes, different plan
  • Created by: choosing a plan and a term
  • Holds: the amount, the network the payment arrives on, and a checkout link
  • Open for: as long as it takes — no timer closes it

One invoice can be pending per account. Starting a payment cancels every earlier pending invoice on the account, so the checkout link you opened most recently is the only one that can still settle.

An invoice you never pay stays pending until you cancel it from your payment history, until you start another payment, or until the payment provider moves it to a final result of its own.

  • Confirmed by: a payment matching the amount asked, or exceeding it
  • Effect: creates or extends the subscription, and links the invoice to it
  • Also: records the payment towards the commission of the account that referred yours

Confirmation is the only event that starts or lengthens a subscription, and the re-checks run without you, so the subscription appears whether or not you are watching the app when the payment settles.

Comments that failed while the subscription was inactive are re-attempted as part of confirmation, so a lapse in coverage does not quietly lose them.

  • Cancelled by: you, from payment history, while the invoice is still pending; or by a newer invoice
  • Failed by: a failure result from the payment provider
  • Effect on the subscription: none

Cancelling is refused once the invoice has reached a final result: an invoice confirmed moments earlier cannot be cancelled, and neither can one already cancelled. Both refusals are reported rather than accepted silently. The invoice stays in your payment history either way, with the plan it was raised for.

  • How many: one per account
  • Runs: from its start date, for the days it holds
  • Shown: with your account details, together with its plan

An active subscription is what every gated action checks: creating a campaign, linking pages, starting a cleaner job, moderating comments by hand, and processing comments that arrive on your pages. Plan quotas lists those checks and the allowance each applies.

Expiry is the start date plus the days held, so adding days moves the end date outward instead of restarting the clock.

  • Detected by: an access check, not a timetable
  • Effect: the subscription is marked inactive, and the action that triggered the check is refused
  • Recovery: a confirmed payment creates a new subscription

AFP compares the expiry date against the current time whenever something needs an active subscription, and marks the subscription inactive at that moment. An account nobody touches keeps a subscription marked active past its end date until the next check runs.

Automation stops with the subscription. For up to five days either side of the expiry date, comments arriving on a connected page are recorded as subscription errors instead of being processed — Moderate comments covers finding those and retrying them.

  • Applies when: the plan you buy is the plan your active subscription is already on
  • Days: the purchased days are added to the running subscription
  • Subscription: the same one, with the same start date and a later end date

A purchase grants the plan’s duration multiplied by the months in the term, and extending adds that figure to whatever the subscription still holds. Plans and billing covers choosing the term and paying for it.

  • Remaining days: converted, not discarded
  • Conversion: the days you have left, multiplied by the cost of the plan you are leaving, divided by the cost of the plan you are joining, rounded to whole days
  • Old subscription: deactivated, while a new one starts with the converted days added to the days you bought

Moving to a more expensive plan carries fewer days across, because a day on a cheaper plan is worth less than a day on a costlier one. Moving to a cheaper plan carries more days across for the same reason.

Switching away from the trial plan is the exception: nothing is converted, and the new subscription holds only the days the purchase granted.

  • Identified by: a transfer code on the source account, in the form AFPM-XXXX-XXXX
  • Redeemed by: the receiving account, in its settings
  • Requires: an active, non-expired subscription on the source account, and two different accounts

The receiving account redeems the code, and the subscription moves across with the days it has left. A subscription already active on the receiving account is deactivated, and its remaining days are converted onto the arriving subscription by the same cost ratio a plan switch uses.

Redeeming regenerates the source account’s code, so each code works once, and the source account is left with no active subscription. Manage profiles under one account covers where the code lives.

  • Raised when: an access check finds seven days or fewer remaining
  • Carries: the number of days left
  • Repeats: once per day, and once per remaining-days value

The warning rides on the same access check that detects expiry, so it arrives the next time you use AFP inside the final seven days rather than on a fixed schedule. Notification catalogue covers the channels it reaches.

  • A confirmed invoice is linked to the subscription it paid for, which ties a plan switch back to the payment that caused it.
  • Days are whole days throughout, and conversions on a switch or a transfer are rounded, so a converted balance can sit a day away from your own arithmetic.
  • A new account begins with a trial subscription on the default plan, which is granted rather than bought and leaves no invoice in your payment history.
  • Plan quotas — what each plan governs, and which action each allowance blocks.
  • Plans and billing — buying a plan, cancelling an invoice, and reading your payment history.
  • Notification catalogue — the subscription-expiring warning and where it is delivered.
  • Moderate comments — retrying comments that errored while a subscription was inactive.