# Checkout

> How a member picks a plan and pays inside the community, by PIX, boleto or card. The details it asks for, installments and interest, coupons, add-ons, the order page, the confirmation and the message for each situation.

The **checkout** is buying inside your community: the member chooses, pays and gets in, with no link to another company and without leaving your address. The same screen sells plans (subscriptions), with their add-ons, and one-off products.

## What it's for

| Community | What the member buys at checkout |
|---|---|
| SaaS | The Growth plan, yearly, in up to 12 installments on the card, with the Coworking extension |
| Online school | The Student plan, monthly, by PIX, with the coupon LANCAMENTO20 |
| Coworking | The Resident plan with a 12-month contract, by card |
| Event | The ticket, by boleto |

## Where it lives

| Address | What it shows |
|---|---|
| `/pricing` | The pricing page: one card per active plan, with "From" and the lowest price per month |
| `/pricing/<plan>` | The plan already selected, to share directly |
| `/products` | The catalog of one-off products with a direct link |

## How it works

### The buyer's path

1. **Picks the plan** at `/pricing`. The screen shows the name, the description and the lowest price per month.
2. **Picks the billing option** under **Choose a billing option**. When there are monthly and yearly options, a **Monthly | Yearly** toggle appears, with the yearly savings worked out (*Save 23%*).
3. **Checks the add-ons**, if the plan has any, under **Add-ons for this plan** (*"Billed with the plan, in the same payment and on the same date."*).
4. **Pays** under **Payment Details**:
   1. **Payment method**: PIX, card or boleto, among the ones the option accepts;
   2. **Your details**: Full name, E-mail, CPF or CNPJ and Mobile phone;
   3. on the card: card number, name on card, expiry date, CVV and **Installments**;
   4. **I have a coupon**, if they have one;
   5. the summary, with each item and the **Total**;
   6. **Subscribe** (or **Buy**, for a product).
5. **Follows the payment** on the order page, `/_/checkout/payment/<id>`, which shows the PIX or boleto code and confirms on its own when the payment comes in.

![The checkout for a yearly plan (interface in Portuguese)](/screens/pricing-plano-anual.png "The option, the add-ons and Payment Details, all on the same page.")

Someone who is not signed in sees *"You need an account in this community to pay."* and signs in or creates the account along the way.

### By payment method

| Method | What the buyer sees | When access is unlocked |
|---|---|---|
| **PIX** | *"Pay with PIX"*: the QR code and the copy-and-paste code, with a countdown (*"This PIX is valid for … more"*). The code is valid for 30 minutes | As soon as the PIX is paid; the page updates on its own |
| **Boleto** | *"Pay the boleto"*: the link and the barcode, with the notice *"Once the boleto clears, your access is unlocked. It can take up to 3 business days."* | When the boleto clears |
| **Card** | The answer right away: *"Payment confirmed"*, or *"Payment not approved"*, and the buyer stays at checkout to try another method | On approval |

### The order page

Every order (PIX, boleto or card) gets a page of its own, `/_/checkout/payment/<id>`. It exists so the buyer doesn't lose the payment: they can reload, go to the bank app and come back, or open it again later, and the PIX or boleto is still there.

| State | What the page shows |
|---|---|
| **Waiting for payment** | The PIX or the boleto, and *"We are following your payment."* The page checks the payment by itself every few seconds |
| **PIX expired** | *"The time to pay this PIX is over and nothing was charged."*, with **Generate a new PIX** |
| **Payment not approved** | *"Nothing was charged. You can try again with another payment method."*, with **Try again** |
| **Payment confirmed** | The confirmation (see below) |

The page only opens for the person who placed the order, signed in to the community: *"Sign in to follow your payment."*

> [!NOTE]
> If the payment processor's confirmation is late, Memberfy goes and fetches the result itself: the order page asks while it is open, and the platform checks open orders up to 7 days old every few minutes. A paid PIX doesn't get stuck as "waiting".

The PIX and the boleto also arrive by email, to pay later. See [Payment emails](/notificacoes/emails-de-pagamento).

### Installments

- **One-off product**: up to 12 installments on the card, up to the maximum set on the product.
- **Monthly plan**: one charge a month, no installments.
- **[Annual in installments](/monetizacao/anual-parcelado)**: the year in up to 12 installments on the card; PIX and boleto pay upfront.
- The card used for a subscription is saved for renewal: *"This card is saved to renew your subscription. You can change it under Billing."*

### Installment interest

Splitting a card payment into 2 or more installments carries **Memberfy's installment interest**, a total percentage on the amount that depends on the number of installments:

| Installments | Interest (total on the amount) |
|---|---|
| 1× (upfront) | None |
| 2× to 6× | 4.29% |
| 7× to 12× | 6.00% |

Who pays it is chosen on each product, under **Who pays the installment interest?**:

- **Buyer** (the default): the interest is added to the price, and each installment is a little higher. The community receives the same as in an upfront sale.
- **Organization**: the buyer pays the price split into installments, with nothing added, and the interest comes out of what the community receives.

The platform fee is calculated on the amount **without** interest. PIX, boleto and a 1× card payment carry no interest. Details and examples in [Annual in installments](/monetizacao/anual-parcelado#installment-interest).

On the card, the installment selector shows each installment and the total: *"12× R$ 104.94 (total R$ 1,259.28)"*. The summary gains the line *Installment interest (6.00%)*. When the organization pays the interest, the selector shows *"12× R$ 99.00, interest-free"*, because the buyer pays nothing extra.

### The fee in the total

If the option has **Who Pays the Fees? = Buyer**, the summary shows a **Platform fee** line and it goes into the total. With **Organization**, the buyer pays the advertised price. See [Platform fee](/pagamentos/taxa-da-plataforma).

### Coupon

Under **I have a coupon**, the buyer types the code and clicks **Apply**: *"Coupon LANCAMENTO20 applied · −R$ 25.80"*, with how long the discount lasts. The discount is applied before the fee. See [Coupons](/monetizacao/cupons).

### After payment

1. Access to the plan's (or the product's) spaces is unlocked.
2. The order page becomes the confirmation, **Payment confirmed**:
   - *"Your subscription is active."* (or *"Your purchase is complete."*, for a product);
   - the summary: **Plan**, **Amount paid**, **Payment method**, **Date** and **Next charge**;
   - **What it unlocked**: the plan's benefits and spaces;
   - the product's thank-you message, if there is one;
   - the **Last chance** offer, if there is a [downsell](/monetizacao/downsell) for an add-on they left out.
3. If the product has a redirect address, the page takes the buyer there in 5 seconds (*"Redirecting in 5 seconds…"*, with **Go now**). The countdown waits while an offer is on screen. Without a redirect, **Go to the community** and **See billing** remain.
4. The buyer gets *"Payment confirmed: …"* by email; the community gets the *New sale* notice.
5. The subscription shows up in the member's [Billing](/pagamentos/faturamento-do-membro), with the next charge.
6. The sale goes into the community's [statement](/pagamentos/saldo-e-extrato).

### Someone who already subscribes to the plan

The checkout doesn't sell the same plan twice to the same person. If they already have an active, trialing or past-due subscription to the plan, on any of its billing options, the payment is refused: *"You already subscribe to this plan."* To pay an overdue period, the way is [Pay now](/pagamentos/pagar-agora), not a new purchase.

If they already have an **open** PIX or boleto for the plan, the checkout doesn't generate another one: *"You already have an open payment for this plan. Pay the same PIX or boleto, or cancel it to choose another payment method."* Before refusing, the platform checks the open payment with the payment processor: if it has been paid in the meantime, the subscription is activated; if it has expired, the checkout carries on as normal.

Buying **another** plan from the same community is still possible.

### CPF or CNPJ kept on the account

The buyer's CPF or CNPJ is kept on their account after the first confirmed payment, along with the mobile number if the account didn't have one yet. This data belongs to the account owner only: the community doesn't see it.

Checkout now comes with the saved CPF or CNPJ filled in, along with the account's name, email and mobile number. If the buyer types a different document, **Save this CPF/CNPJ for future purchases** appears; when ticked, the new document becomes the account's. The same applies to **Pay now**, to adding an add-on and to the downsell.

### Before you sell

The checkout only works once the [Business Information and the payout account](/pagamentos/informacao-comercial) are approved. Without approved Business Information, no purchase goes through, not even for a product that was already **Active**: *"Community must have approved business information to enable paid products"*. That also applies when an approved Business Information is edited and goes back to review: sales stop until it's approved again. The same goes for adding an add-on and accepting a downsell offer. Without the payout account: *"Payment configuration has not been set up for this community"*.

### What the community sees of each sale

- In the sales notices email: *New sale: Growth · Monthly (R$ 129.00)*. See [Sales notices](/notificacoes/avisos-de-venda).
- Under **Monetization › Dashboard**: the sale in **Latest Transactions**, and the amount added to **Total Revenue** and to **Pending (Settlement)** until the method's waiting period is over.
- In the billing option's list: the **Subscribers** count goes up.

## Test before you share it

*Role: owner or admin, with a test member account.*

1. Sign in with a member account (not your owner account) and open `/pricing`.
2. Check the plans, the prices, the yearly savings and the add-ons.
3. Choose PIX and go as far as the code: that confirms the payout setup is approved and the option has a payment method. Don't pay.
4. Apply the coupon you are going to promote and check the total.
5. Go back to the dashboard: an unpaid PIX doesn't become a sale.

## Examples with numbers

**Growth Monthly + Coworking Extension, PIX.** Summary: *Growth · Monthly R$ 129.00*, *+ Coworking Extension R$ 450.00*, **Total R$ 579.00**. The community receives R$ 579.00 − R$ 42.96 in fees = R$ 536.04.

![A monthly plan with an add-on](/screens/pricing-mensal-com-adicional.png "Growth Monthly + Coworking Extension: a single payment of R$ 579.00.")

**Student Monthly (R$ 49) with the fee paid by the buyer.** The summary shows *Platform fee R$ 5.92* and **Total R$ 54.92**. The community receives R$ 49.00.

**Growth Yearly on the card, in 12 installments, with the interest paid by the buyer.** The upfront price is R$ 1,188.00. The interest for 12× is 6.00%, R$ 71.28: **Total R$ 1,259.28**, in 12 installments of about R$ 104.94. By PIX, the same plan costs R$ 1,188.00.

## Messages the buyer may see

| Message | What it means |
|---|---|
| *Enter your CPF or CNPJ. The payment provider requires it.* | The document is required |
| *This CPF is not valid. Check the digits.* | A typo in the document |
| *Enter the area code and the number, e.g. (11) 99999-9999.* | Incomplete mobile number |
| *This card number is not valid.* | Wrong card number |
| *The payment was not accepted* — *"Nothing was charged…"* | The bank declined it; try another card or another method |
| *Payment under review* | The payment processor is still checking it; the notice arrives when it is approved |
| *This product has no payment method enabled. Contact the community.* | The option has no payment method |
| *This add-on requires an active plan…* | They tried to buy an add-on without the plan |
| *Join the community before buying* | They need an account in the community |
| *We could not complete the payment. Nothing was charged.* | A temporary failure; try again |
| *You already subscribe to this plan.* | The person already has the plan; see **Billing** |
| *You already have an open payment for this plan…* | There is an unpaid PIX or boleto for the plan; pay that one |
| *PIX expired* | The 30 minutes are over; **Generate a new PIX** |

## Common community mistakes

| Situation | What to do |
|---|---|
| The plan doesn't show up at `/pricing` | Activate at least one of the plan's billing options |
| The total shows higher than the price | **Who Pays the Fees?** is set to **Buyer** |
| The buyer paid the PIX and didn't get in | Ask them to open the order page, which confirms the payment right away. If the PIX expired before it was paid (30 minutes), they generate another one |
| The boleto was paid and access wasn't unlocked | Clearing takes up to 3 business days |

## Frequently asked questions

**Does the buyer need an account first?**
Yes, an account in the community. If they don't have one, they create it along the way.

**Can I send the link to a specific plan?**
Yes: `/pricing/<plan-address>`.

**Does the checkout accept debit cards?**
It accepts credit cards, PIX and boleto.

**What if the person closes the screen before paying the PIX?**
The code stays on the order page and also arrives by email, and it is valid until it expires.

**Do installments carry interest?**
Yes, from 2 installments on the card: 4.29% in total from 2× to 6×, 6.00% from 7× to 12×. By default, the buyer pays it. See [Installment interest](#installment-interest).

**Does the checkout charge in dollars?**
In the plan's currency, normally the Brazilian real.

## In the API

`GET /api/checkout/subscription-groups` (the catalog, with `addOns`), `POST /api/checkout/calculate-price` (the total, with coupon and add-ons) and `POST /api/checkout` (`productId`, `paymentMethod`, `installments`, `couponCode`, `addOnProductIds`, `customerData`, `saveDocument`). With card installments, the responses include `installmentInterestPayer`, `installmentInterestPercent`, `installmentInterest`, `totalWithInterest` and `installmentAmount`, and `calculate-price` includes `installmentOptions`. The order page uses `POST /api/checkout/purchases/{id}/refresh`. See [Checkout](/api/referencia/checkout).

## Related

- [PIX, boleto and card](/pagamentos/metodos-de-pagamento)
- [Renewal](/pagamentos/renovacao)
- [Plans](/monetizacao/planos)
- [Coupons](/monetizacao/cupons)
