All articles

Gift registries: a list people give towards together

6 min readTicketRoyality

A wedding list, a baby shower, a leaving collection for someone retiring: a set of named gifts, each with a cost, that a group of people give towards. It sounds like the simplest feature on the platform, and it is the one where a lazy implementation does the most damage — because the damage is a couple thanking someone for a gift the list forgot to record, or two guests paying for a mixer that was already bought. Those are the mistakes people remember, and they are precisely the ones a careless total or a double-counted payment creates.

The running total cannot drift

Each gift carries a running total, and that total only ever moves inside the same transaction that writes the contribution itself. Summing every contribution on each page load is correct but slow on a page a hundred guests are refreshing; incrementing the total outside a transaction is fast but loses contributions when two guests give at the same instant. Tested with simultaneous gifts, both count. And because the increment is idempotent by the payment event id, a redelivered payment never shows a guest as having given twice.

Fully funded means closed

A £400 mixer that has been paid for is not something two more guests should be able to buy, so a fully funded gift closes — and the check sits inside the same transaction as the increment, so a race cannot push it past its cost. More than the remaining balance is refused rather than quietly trimmed: taking £80 towards a £30 balance and keeping the difference is not a decision to make on a guest’s behalf. Part payments are allowed by default, because that is how a large item gets bought at all, and the unfunded gifts sort to the top so the list never looks finished when it is not.

How a guest gives

A guest opens the list, picks a gift and gives towards it — the whole amount if it is small, or a part of a larger one — through the same checkout the platform uses for everything else, with the same card handling and the same confirmation. There is nothing new for a guest to learn and nothing new for you to reconcile afterwards: a contribution is just a payment against a named item, recorded the moment it clears. Because part payments are on by default, a £300 item is reachable by six people giving £50 rather than waiting for one person willing to cover the lot.

What guests see, and what you get

Each contribution can carry a message, and the people the list is for get a who-gave-what list for the thank-you letters — the one piece of admin that actually matters afterwards. Guests, meanwhile, see only the totals, never each other’s names or amounts: a registry is shared about progress and private about people, which is the same principle the rest of the platform follows everywhere else it holds names and amounts.

No platform fee, and not a donation

Contributions ride the same checkout as everything else and carry no platform fee at all — a present should arrive whole, and skimming a percentage off a wedding gift is not a line anyone wants to defend. And a present is not a charitable donation: no Gift Aid is claimed, and registry money never reaches the donation path. It is a genuinely separate thing from fundraising, kept separate on purpose, so neither one quietly behaves like the other — a registry collects for a person, a donation gives to a cause, and the arithmetic and the rules behind each are different for good reason.

Common questions

Can guests give towards a shared gift on a registry?
Yes — each named gift has a cost and guests give towards it, part-payments allowed by default. The running total only moves inside the transaction that records the contribution, so two guests giving at once both count and a gift cannot be overfunded.
Is there a fee on gift-registry contributions?
No platform fee at all — a present should arrive whole. A registry contribution is also not a charitable donation: no Gift Aid is claimed, and the money never touches the donation path.

Keep reading

Written and edited by people. Nothing on this blog is generated and published automatically — see our editorial approach.