subscription.payment_failedSent every time a recurring payment attempt fails, including each gateway retry.
Payment gateways retry a failed renewal several times before giving up: Stripe clusters its attempts,
PayPal spaces them roughly a day apart. Each of those attempts sends this event, so a subscription can
produce several before it either recovers with subscription.renewed or terminates with
subscription.ended. That makes this the right event for an audit log, and the wrong one for
triggering a player-facing alert. Use subscription.past_due for that,
which fires once on the state change.
data
subscription_idstring· uuidThe subscription ID.
player_usernamestringPlayer in-game name.
player_uuidstring· uuidMinecraft UUID, if known.
package_idstring· uuidPackage ID of the subscription.
package_namestringPackage name.
renewal_countintegerSuccessful renewals so far. Unchanged by a failure.
current_period_endstring· date-timeEnd of the period already paid for. The subscriber keeps access until then.
payment_providerstringstripe, paypal, iyzico or terminal3.already_past_duebooleanfalse on the first failure of a billing cycle, true on each subsequent retry. Lets you tell a new problem from an ongoing one without tracking state yourself.FluxStore sends this payload as an HTTP POST to your configured webhook URL.