Skip to Content
FluxStore is currently invite-only. Some sections of this documentation are still being written and expanded.
APIWebhooksEventsPayment Failed
POSTsubscription.payment_failed

Sent 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· uuid
The subscription ID.
player_usernamestring
Player in-game name.
player_uuidstring· uuid
Minecraft UUID, if known.
package_idstring· uuid
Package ID of the subscription.
package_namestring
Package name.
renewal_countinteger
Successful renewals so far. Unchanged by a failure.
current_period_endstring· date-time
End of the period already paid for. The subscriber keeps access until then.
payment_providerstring
stripe, paypal, iyzico or terminal3.
already_past_dueboolean
false 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.