# Points in the Store

> Engagement points become a currency in the Store. Each person's balance, the points price, redeeming, reversals, what never happens with points and the tax notice.

With **points in the Store**, the points a person earns by taking part become worth something concrete: a mentoring session, a ticket, a T-shirt, a course. The team gives a product a **points price**, on top of the money price or instead of it, and the person **redeems** it with their balance.

| Where | What |
|---|---|
| **Members › Gamification**, **Points balance** card | Turning it on, **The currency name** and **How the balance starts** (**With the points each member already has today** or **From zero**), with the total in circulation; **Save balance**. Owner and admin |
| The product, in **How it is paid** | **Money**, **Points** or **Points or money**, and the **Points price** |
| The Store | The card shows *"or N points"* and the **Redeem with points** button; without enough balance, *"N points missing"*. The redeem window shows **Your balance** and **Balance after** |
| **My Account › My points** | The balance, the points, the level and the statement of gains and spends |
| The member's page, in the menu | Someone else's **Points statement**, for the owner and the admin |

## Points and balance

Each person now has two accounts:

| | What it is | What it changes |
|---|---|---|
| **Points** | Everything the person has ever earned in [gamification](/membros/gamificacao) | Ranking, level, level-based access and badges. **Spending never lowers the points** |
| **Balance** | The part of the points that can still be spent | Every point earned goes into the balance; a purchase takes some out; a reversal gives it back |

Anything that takes points away (unliking, deleting a post, a negative adjustment) takes balance along with it, so **the balance can go negative**. With a negative balance, the person cannot redeem anything until it is positive again.

**A team member's adjustment to themselves.** A positive points adjustment that someone on the team gives themselves counts in the points, but **not in the balance**: nobody on the team gives themselves points to empty the Store. An adjustment made by a workflow does not count as "to themselves".

## Turning it on

The feature starts **off**, and only the owner and the admin turn it on. When turning it on for the first time, you choose:

- **The currency name**: *points* (the default), *coins*, *PapoCoins*…
- **How the balance starts**: with the points each person **already has today**, or **from zero** (from then on, only what is earned). The choice applies once: turning it off and on again does not reopen the balance, it carries on from where it was.

Before saving, the preview shows how many points are in circulation. With [gamification](/membros/gamificacao) off, points and balance freeze, and a points-only product becomes unavailable.

## The points price

Each product chooses how it is paid:

| Option | What the person sees |
|---|---|
| **Money** (the default) | As always |
| **Points** | Only the points price |
| **Points or money** | Both options; the person chooses |

- **Points are accepted** on one-time payment products: digital (mentoring, hotseat, experience), physical, an [event](/espacos/eventos) ticket (the price is per ticket type), [course](/espacos/cursos) and [download](/espacos/downloads).
- **Not accepted:** subscriptions, installments, bookings (which have [credits](/monetizacao/creditos)), [add-ons](/monetizacao/adicionais) and plan options.
- There is no mixed payment (part in points and part in money). Coupons do not apply to the points price, and a company does not buy with points: the points belong to the person.
- Stock, seats, ticket batch and "1 per person" apply as in a money purchase.
- In **Monetization › Products**, the list shows a points-only product by its points price (*"2,000 points"*, with the name the community gave the currency), and a **Points or money** product with *"or 2,000 points"* under the price. On edit, the form opens with the chosen option (**Points**, for example) and the points price.

## Redeeming

- The person sees the points price and, when they do not have enough, **how many are missing**.
- Each redemption is **one unit**. A physical product asks for the delivery address.
- Redeeming follows the same access rules as a money purchase: a product from a Store the person cannot open, or a course, event or download from a space closed to them, cannot be redeemed.
- The purchase is **completed right away**, with access granted as in a free purchase. It **does not go through the payment processor**, has no platform fee and does not enter revenue, the balance to receive or payouts.
- The person gets the purchase e-mail, with *"N points"* in place of the amount. In the community's sales, the purchase shows as **paid with points**.

## Reversal

Only the team reverses a points purchase, as with a money purchase (see [Refunds and disputes](/pagamentos/reembolsos-e-contestacoes)). The reversal is **full**: it gives all the points back to the balance, removes access and returns the unit to stock. There is no partial reversal.

## What never happens with points

Points **cannot be bought** with money, **do not turn into money** and **cannot be transferred** between people. They are the community's engagement program, not a means of payment.

> [!WARNING]
> **Tax notice.** A points purchase has a money value of zero: Memberfy does not issue a tax document for it. Delivering a physical product or a service in exchange for points is the community's obligation (such as a shipping or gift invoice, where applicable). Check with your accountant: Memberfy does not advise on tax rules.

## Examples

**Mentoring for points.** The community creates the product *30-min Hotseat* (digital, 1 per person, stock 10), points only: 2,000. Ana has 3,400 points and a balance of 3,400; she redeems it. The balance goes to 1,400, and the points and the level stay at 3,400.

**A ticket with both options.** *Meetup SP* costs R$ 40 or 800 points. Bruno, with a balance of 300, sees that 500 points are missing and pays with PIX.

## Who can

| Action | Who |
|---|---|
| Turn it on, name the currency, choose how the balance starts | Owner and admin |
| Give a product a points price | Whoever creates and edits products |
| Redeem | Member, with balance |
| See another person's balance and statement | Owner and admin |
| Reverse | The team, as with a money purchase |

## In the API

- `GET` and `PUT /api/points/settings` (owner and admin): `enabled`, `currencyName` and the balance start (`current`, today's points, or `zero`), with the circulation and the preview.
- `GET /api/points/me` and `GET /api/points/members/{memberId}` (the person themselves, or owner and admin): balance, points, level and the statement of earnings, spending, reversals, openings and excluded adjustments.
- Product: `pricingMode` (`MONEY`, the default, `POINTS` or `POINTS_OR_MONEY`) and `pointsPrice`; outside the accepted types, `400` on `pricingMode`. A points-only product has `price` 0.
- `POST /api/storefront/products/{productId}/redeem` (the member; optional `Idempotency-Key`, the same key returns the same purchase): the `COMPLETED` purchase with `paymentMethod: "POINTS"` and `pointsPaid`. Insufficient balance: `400` `points.insufficient`, with `data.missing`; feature or gamification off: `409`. Outside the access rules, `403` `monetization.purchase.notPurchasable`.
- Money checkout, free purchase and coupons refuse a points-only product.
- The storefront returns `pricingMode`, `pointsPrice`, `free`, `pointsAvailable` and `pointsShortfall`; purchases, `paidWithPoints` and `pointsPaid`. Reversing a points purchase answers `source: "POINTS"` and `pointsReturned`.
- Webhooks: `purchase.completed` with `pointsPaid` and `purchase.refunded` with `paymentMethod: "POINTS"` and `pointsReturned`, only on points purchases. See [Webhooks](/api/webhooks).

## Through the assistant (MCP)

Ask to turn points on as currency (*"turn on points as currency, called coins"*, [`update_points_settings`](/mcp/ferramentas-conteudo#update-points-settings)), to give a product a points price (`pricing_mode` and `points_price` in [`create_product`](/mcp/ferramentas-vendas#create-product)), to see someone's balance ([`get_member_points`](/mcp/ferramentas-conteudo#get-member-points)) or yours ([`get_my_points`](/mcp/ferramentas-conteudo#get-my-points)), and to redeem a product ([`redeem_product_with_points`](/mcp/ferramentas-vendas#redeem-product-with-points), with confirmation). Refunding a points purchase is [`refund_purchase`](/mcp/ferramentas-financeiro#refund-purchase).

## Related

- [Gamification](/membros/gamificacao)
- [Products](/monetizacao/produtos)
- [Store](/espacos/loja)
- [Refunds and disputes](/pagamentos/reembolsos-e-contestacoes)
