FloPay Backend Changelog

Client-facing updates for FloPay backend and API releases.

v1.0.4 - Reliable subscription pause scheduling #

Subscription pause requests now persist correctly, validate the requested window, and return a response that matches the saved schedule.

16 May 2026

Bug Fix
Subscriptions
API
Stripe
Webhooks

Pausing a subscription now reliably stores the scheduled pause and returns a response that reflects the requested window. Previously, pausedAt and resumeAt could come back null even after a successful pause request, and repeated pause calls could stack duplicate scheduled jobs against the same subscription.

What changed

  • Pause schedule persistsPOST /subscriptions/:id/pause now writes the scheduled pause job and returns a SubscriptionDto with pausedAt and resumeAt populated from the request body. POST /subscriptions/:id/resume clears both fields on the returned DTO so the response matches the persisted state.
  • No duplicate pause jobs — If an active SubscriptionPause job already exists for the subscription, a new pause request now updates that job's schedule, payload, and retry state in place instead of creating a second one.
  • Easier API usageSubscriptionPauseBodyDto no longer requires any body values. email is depreciated at v1.0.4 as we can collect this locally. When pauseAt is not passed, we assume now() and will instantly pause the subscription. The same happens for any date in the past. When provided, requires resumeAt to be strictly after pauseAt. resumeAt may still be omitted or sent as null to request an indefinite pause. Invalid windows are rejected with a 422 before any scheduling work happens.

Developer notes

  • The deprecated email field on the subscription pause request body is now ignored on scheduled pause payloads and is no longer required. Existing clients that still send it will continue to work, however we recommend removing this as in future releases we may remove this field.