When this fires
Triggered (purchase.new) when a user buys a paid item from a creator. An “item” is one of:
- a paid post, the payload carries
postUuid - a locked (PPV) message, the payload carries
routeUuid - a checkout-link product, neither
postUuidnorrouteUuidis present - a fan experience, the payload carries
experienceUuidandexperienceAppUuid
On-platform refunds and disputes are delivered by the
creator.refund.created / creator.dispute.* events; checkout-link payments use checkout_link.refund.created.Payload
postUuid: UUID of the purchased post/content (included if the purchase was for a post)routeUuid: UUID of the purchased message (included if the purchase was for a message)price: Purchase amount in minor unitsrecipientUuid: UUID of the creator who received the purchasesender: The user who purchased (uuid, handle, displayName, avatarUrl)experienceUuid: UUID of the fan experience the purchase was for. Only on fan-experience purchases, and always paired withexperienceAppUuid. The same UUID your app receives asexperience.uuidwhen a launch token is exchanged, so it joins directly to your own experience records.experienceAppUuid: UUID of the app the experience belongs to. Present wheneverexperienceUuidis.trackingLinkId: Tracking link attributed to the purchaser, if one is set (omitted otherwise)transactionOrderId: The Fanvue transaction/order identifier for this payment, matching thetransactionOrderIdon/insights/earnings. Lets you reconcile the event against earnings without a second call. Included when the payment has settled; omitted otherwise.transactionOrderStatus: Payout state of the transaction at the time of the event,availableForPayout(cleared) orpendingBalance(still in the chargeback/fraud retention window). This is a snapshot at event time and may change as the payment matures. Included alongsidetransactionOrderId.timestamp: ISO 8601 time the event occurred
The experience fields are scoped to the app that owns the experience. The rest of this payload fans out to every app holding the required scope for that creator.
experienceUuid and experienceAppUuid reach only the owning app and the creator’s own connector destinations. Every other consenting app receives the same purchase without them, so a creator-wide fan-out cannot tell app A which experience of app B a fan just bought.Example payloads
Post purchase
Message purchase
Fan experience purchase
A one-off purchase of a paid fan experience. Recurring subscription charges for an experience do not firepurchase.new, see Creator Experience Subscriptions for the access lifecycle and for how to reconcile recurring revenue.
Checkout-link product purchase
A purchase of an off-platform checkout-link product firespurchase.new with neither postUuid nor routeUuid. For link-level detail (product, billing reason) subscribe to checkout_link.payment.succeeded.