Aug 2, 2026
ImprovementsFixes
A reliability round for points, refunds and referrals
Alongside the API we shipped a deep hardening pass over the points ledger and the webhook pipeline. Most of it is invisible by design. The visible part is that edge cases now resolve the way you'd expect:
- Referral rewards convert on fulfilment — shops that award points on fulfilment rather than payment now convert referrals correctly; previously those conversions could be missed entirely
- Cancellations give everything back — cancelling an order now also reverses cashback store credit and the referral reward, not just the order's points
- Partial refunds do the maths right — a second partial refund deducts its fair share, refunds arriving while points are still pending shrink the pending amount, and refunds that arrive before the order webhook are retried instead of silently dropped
- Bonus rules respect the points delay — product bonuses, punch cards and order milestones now honour the "release points after X days" hold instead of being skipped when it's enabled
- Manual adjustments are tier-fair — a negative adjustment reduces lifetime-earned points symmetrically, so repeated +/- cycles can no longer inflate anyone into a VIP tier
- Double-processing is gone at the database level — duplicate webhook deliveries, simultaneous refund + cancellation, and overlapping scheduled jobs each now resolve to exactly one outcome: one deduction, one email, one export
Nothing to configure. Every store has all of this already.