# Pontos na Loja

> Os pontos do engajamento viram moeda na Loja. O saldo de cada pessoa, o preço em pontos, o resgate, o estorno, o que nunca acontece com os pontos e o aviso fiscal.

Com **pontos na Loja**, os pontos que a pessoa ganha participando passam a valer algo concreto: uma mentoria, um ingresso, uma camiseta, um curso. A equipe dá a um produto um **preço em pontos**, além do preço em dinheiro ou no lugar dele, e a pessoa **resgata** com o saldo dela.

| Onde | O quê |
|---|---|
| **Membros › Gamificação**, card **Saldo de pontos** | Ligar, **O nome da moeda** e **Como o saldo começa** (**Com os pontos que cada um já tem hoje** ou **Do zero**), com o total em circulação; **Salvar saldo**. Proprietário e administrador |
| O produto, em **Como é pago** | **Dinheiro**, **Pontos** ou **Pontos ou dinheiro**, e o **Preço em pontos** |
| A Loja | O cartão mostra *"ou N pontos"* e o botão **Resgatar com pontos**; sem saldo suficiente, *"Faltam N pontos"*. A janela de resgate mostra **Seu saldo** e **Saldo depois** |
| **Minha Conta › Meus pontos** | O saldo, os pontos, o nível e o extrato de ganhos e gastos |
| A página do membro, no menu | **Extrato de pontos** de outra pessoa, para o proprietário e o administrador |

## Pontos e saldo

Cada pessoa passa a ter duas contas:

| | O que é | O que muda |
|---|---|---|
| **Pontos** | Tudo o que a pessoa já ganhou na [gamificação](/membros/gamificacao) | Ranking, nível, acesso por nível e badges. **Gastar nunca diminui os pontos** |
| **Saldo** | A parte dos pontos que ainda pode ser gasta | Todo ponto ganho entra no saldo; uma compra tira; um estorno devolve |

Tudo o que tira pontos (descurtir, apagar um post, um ajuste negativo) tira saldo junto, então **o saldo pode ficar negativo**. Com saldo negativo, a pessoa não resgata nada até voltar a ficar positivo.

**Ajuste da equipe em si mesma.** Um ajuste positivo de pontos que alguém da equipe dá a si mesmo conta nos pontos, mas **não no saldo**: ninguém da equipe se dá pontos para esvaziar a Loja. O ajuste feito por um workflow não conta como "em si mesma".

## Ligar

O recurso nasce **desligado**, e só o proprietário e o administrador ligam. Ao ligar pela primeira vez, você escolhe:

- **O nome da moeda**: *pontos* (o padrão), *moedas*, *PapoCoins*…
- **Como o saldo começa**: com os pontos que cada pessoa **já tem hoje**, ou **do zero** (a partir dali, só o que for ganho). A escolha vale uma vez: desligar e religar não reabre o saldo, ele continua de onde estava.

Antes de salvar, a prévia mostra quantos pontos estão em circulação. Com a [gamificação](/membros/gamificacao) desligada, os pontos e o saldo congelam, e um produto só em pontos fica indisponível.

## O preço em pontos

Cada produto escolhe como se paga:

| Forma | O que a pessoa vê |
|---|---|
| **Dinheiro** (o padrão) | Como sempre |
| **Pontos** | Só o preço em pontos |
| **Pontos ou dinheiro** | As duas formas; a pessoa escolhe |

- **Aceitam pontos** os produtos de pagamento único: digital (mentoria, hotseat, experiência), físico, ingresso de [evento](/espacos/eventos) (o preço é por tipo de ingresso), [curso](/espacos/cursos) e [download](/espacos/downloads).
- **Não aceitam:** assinatura, parcelado, reserva (que tem os [créditos](/monetizacao/creditos)), [adicionais](/monetizacao/adicionais) e opções de plano.
- Não há pagamento misto (parte em pontos e parte em dinheiro). Cupom não vale no preço em pontos, e uma empresa não compra com pontos: os pontos são da pessoa.
- Estoque, vagas, lote de ingresso e "1 por pessoa" valem como na compra em dinheiro.
- Em **Monetização › Produtos**, a lista mostra um produto só em pontos pelo preço em pontos (*"2.000 pontos"*, com o nome que a comunidade deu à moeda), e um produto em **Pontos ou dinheiro** com *"ou 2.000 pontos"* embaixo do preço. Ao editar, o formulário abre com a forma escolhida (**Pontos**, por exemplo) e o preço em pontos.

## O resgate

- A pessoa vê o preço em pontos e, quando não tem o bastante, **quanto falta**.
- Cada resgate é **uma unidade**. Um produto físico pede o endereço de entrega.
- O resgate segue as mesmas regras de acesso da compra em dinheiro: um produto de uma Loja que a pessoa não abre, ou um curso, evento ou download de um espaço fechado para ela, não pode ser resgatado.
- A compra fica **concluída na hora**, com o acesso liberado como numa compra grátis. Ela **não passa pelo processador de pagamento**, não tem taxa da plataforma e não entra na receita, no saldo a receber nem nos saques.
- A pessoa recebe o e-mail de compra, com *"N pontos"* no lugar do valor. Nas vendas da comunidade, a compra aparece como **paga com pontos**.

## Estorno

Só a equipe estorna uma compra com pontos, como uma compra em dinheiro (ver [Reembolsos e contestações](/pagamentos/reembolsos-e-contestacoes)). O estorno é **total**: devolve todos os pontos ao saldo, tira o acesso e devolve a unidade ao estoque. Não há estorno parcial.

## O que nunca acontece com os pontos

Pontos **não se compram** com dinheiro, **não viram dinheiro** e **não se transferem** entre pessoas. São um programa de engajamento da comunidade, não um meio de pagamento.

> [!WARNING]
> **Aviso fiscal.** A compra com pontos tem valor em dinheiro zero: a Memberfy não emite documento fiscal por ela. Entregar um produto físico ou um serviço em troca de pontos é uma obrigação da comunidade (como uma nota de remessa ou de brinde, quando couber). Consulte o seu contador: a Memberfy não orienta sobre regra fiscal.

## Exemplos

**Mentoria por pontos.** A comunidade cria o produto *Hotseat de 30 min* (digital, 1 por pessoa, estoque 10), só em pontos: 2.000. A Ana tem 3.400 pontos e saldo 3.400; resgata. O saldo vai para 1.400, e os pontos e o nível continuam 3.400.

**Ingresso com as duas formas.** O *Meetup SP* custa R$ 40 ou 800 pontos. O Bruno, com saldo 300, vê que faltam 500 pontos e paga com PIX.

## Quem pode

| Ação | Quem |
|---|---|
| Ligar, dar nome à moeda, escolher como o saldo começa | Proprietário e administrador |
| Dar preço em pontos a um produto | Quem cria e edita produtos |
| Resgatar | Membro, com saldo |
| Ver o saldo e o extrato de outra pessoa | Proprietário e administrador |
| Estornar | A equipe, como numa compra em dinheiro |

## Na API

- `GET` e `PUT /api/points/settings` (proprietário e administrador): `enabled`, `currencyName` e o começo do saldo (`current`, os pontos de hoje, ou `zero`), com a circulação e a prévia.
- `GET /api/points/me` e `GET /api/points/members/{memberId}` (a própria pessoa, ou proprietário e administrador): saldo, pontos, nível e o extrato de ganhos, gastos, estornos, aberturas e ajustes excluídos.
- Produto: `pricingMode` (`MONEY`, o padrão, `POINTS` ou `POINTS_OR_MONEY`) e `pointsPrice`; fora dos tipos aceitos, `400` em `pricingMode`. Um produto só em pontos fica com `price` 0.
- `POST /api/storefront/products/{productId}/redeem` (o membro; `Idempotency-Key` opcional, a mesma chave devolve a mesma compra): a compra `COMPLETED` com `paymentMethod: "POINTS"` e `pointsPaid`. Saldo insuficiente: `400` `points.insufficient`, com `data.missing`; recurso ou gamificação desligados: `409`. Fora das regras de acesso, `403` `monetization.purchase.notPurchasable`.
- O checkout em dinheiro, a compra grátis e o cupom recusam um produto só em pontos.
- A vitrine traz `pricingMode`, `pointsPrice`, `free`, `pointsAvailable` e `pointsShortfall`; as compras, `paidWithPoints` e `pointsPaid`. O estorno de uma compra com pontos responde `source: "POINTS"` e `pointsReturned`.
- Webhooks: `purchase.completed` com `pointsPaid` e `purchase.refunded` com `paymentMethod: "POINTS"` e `pointsReturned`, só nas compras com pontos. Ver [Webhooks](/api/webhooks).

## Pelo assistente (MCP)

Peça para ligar os pontos como moeda (*"ligue os pontos como moeda, com o nome moedas"*, [`update_points_settings`](/mcp/ferramentas-conteudo#update-points-settings)), dar preço em pontos a um produto (`pricing_mode` e `points_price` em [`create_product`](/mcp/ferramentas-vendas#create-product)), ver o saldo de alguém ([`get_member_points`](/mcp/ferramentas-conteudo#get-member-points)) ou o seu ([`get_my_points`](/mcp/ferramentas-conteudo#get-my-points)), e resgatar um produto ([`redeem_product_with_points`](/mcp/ferramentas-vendas#redeem-product-with-points), com confirmação). O reembolso de uma compra com pontos é [`refund_purchase`](/mcp/ferramentas-financeiro#refund-purchase).

## Relacionados

- [Gamificação](/membros/gamificacao)
- [Produtos](/monetizacao/produtos)
- [Loja](/espacos/loja)
- [Reembolsos e contestações](/pagamentos/reembolsos-e-contestacoes)
