> ## Documentation Index
> Fetch the complete documentation index at: https://faq.exode.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Checkout page

> What the buyer sees on a course checkout page, how payment works and what happens after it

The checkout page opens when a student selects a course tariff. On it, the student sees what they are buying and the total amount, enters a promo code, chooses a payment method and goes on to pay. After payment, Exode grants access to the course on its own and shows the student the result.

For payment methods to appear on the page, connect at least one cash register in **My school → Payment acceptance**. The [Payment acceptance](https://faq.exode.biz/en/online-schools/sales-payments/accepting-payments) article explains how.

## How the buyer gets to the checkout page

* **From the course page.** The student clicks **Select** on a tariff card.
* **Through a direct tariff link.** In the course tariff settings, each tariff has a **Copy payment link** button. You can send the link in a messenger, put it on a landing page or in a mailing. Tariffs with the **Access by link only** setting turned on are also sold through such a link — they are not visible on the course page.
* **Through a link with a promo code.** Add the `?promo=CODE` parameter to the tariff link, and the promo code is applied automatically. See [Promo codes and discounts](https://faq.exode.biz/en/online-schools/sales-payments/promocodes-discounts.md) for details.

If the tariff's **External link** field is filled in, the student follows that link when selecting the tariff, and the Exode checkout page does not open.

## What the buyer sees

| Block | What it contains |
| - | - |
| **Payment details** | The course and the selected tariff. For an installment — the **Payment schedule** with dates and amounts. For a subscription — the terms: free period, amount per period, payment day |
| Login details | Only for guests without an account: **Phone for receiving password** or **Email for password retrieval**, or login via Telegram |
| Amount | **Total amount** for a one-time purchase or **Total payments** for an installment. Under the amount there is an **Enter promo code** link |
| **Discount amount** | Appears if a promo code was applied |
| Payment methods | First the student's saved cards, then the school's cash registers in the order you set |
| Consent to documents | For guests — consent checkboxes for the school's legal documents. Under the button — the line **By proceeding to payment, you agree with** and links to the documents |
| Payment button | Its text depends on the purchase type, see the table below |

Each cash register is shown under its own name and description. If you have not filled them in, the buyer sees the provider name and a standard caption, for example **Uzcard • Humo** or **Pay in the app**.

If a provider commission is set for a cash register, the caption **Payment provider commission may apply** appears under the list of payment methods.

### Payment button text

| Button | When it is shown |
| - | - |
| **Pay** | A one-time purchase with an amount greater than zero |
| **Get access** | A one-time purchase for 0, for example with a 100% discount |
| **Pay in installments** | A tariff with an installment plan |
| **Subscribe** | A tariff with a subscription |
| **Start for free** | The installment or subscription schedule has a payment of 0 |

## How payment works

**1. The buyer clicks the payment button**

Exode creates an invoice for the amount including the discount. The invoice amount is fixed at this moment.

**2. The buyer pays**

Depending on the cash register, they go to the provider's page or app, enter card details right on the school's website, or pay in a payment form. If a saved card is selected, the money is charged immediately, without leaving the page. See [Payment methods and statuses](https://faq.exode.biz/en/online-schools/sales-payments/payment-types.md) for details.

**3. Exode receives the bank's response**

Until there is a response, the invoice page says **Processing payment** and **Awaiting response from the bank...**. The page updates the status on its own.

**4. The student gets access**

Exode opens access to the course and adds the student to the tariff's group. While this is happening, the page says **One moment - we're almost done**. Then the **Congratulations on your purchase!** screen appears with a button to go to the course.

After a successful payment:

* the student receives the **Payment completed** notification and, if they have an email address, an email about the payment;
* if the account was created during payment, the student is sent their login details;
* school staff with the **School sales** permission receive the **New payment for products** notification with the course and tariff names, as well as an email;
* the payment appears in **Sales → Payments**. See [Payments and invoices](https://faq.exode.biz/en/online-schools/sales-payments/invoices.md) for details.

For providers that issue a fiscal receipt, the successful payment screen has a **Your receipt** link.

### Invoice page screens

| Screen | When it is shown |
| - | - |
| **Processing payment** | Payment has started, Exode is waiting for confirmation from the provider |
| **One moment - we're almost done** | Payment went through, Exode is granting access |
| **Congratulations on your purchase!** | A one-time purchase is complete |
| **Installment plan is arranged**, **Subscription activated** | An installment plan or a subscription has been set up |
| **Payment successful**, **Subscription renewed** | The next installment or subscription payment has been paid |
| **You've gained access!** | A free purchase |
| **Payment failed** | The provider declined the payment. If the provider passed a reason, it is shown in the **Reason for error** block. The **Retry** button starts the payment again for the same invoice |

## Buying without an account

A guest can buy a course without signing up. They enter a phone number or email, and Exode creates an account in your school with that login. If an account with this login already exists, the payment is linked to it.

* The sign-up method must be turned on in the [registration settings](https://faq.exode.biz/en/general/school-setup/registration-settings.md). If sign-up by phone or email is turned off, an account cannot be created during payment.
* Before paying, the guest confirms consent to the school's legal documents.
* After payment, Exode sends the login details for the new account.
* If the account was created less than 10 minutes ago and nobody has logged in to it yet, Exode logs in to it automatically after a successful payment.

In a closed school, the checkout page opens only after logging in to an account.

## Telegram for a tariff

If the tariff's group requires a connected Telegram, the checkout page asks:

* a guest to log in via Telegram (**To continue — log in via Telegram**);
* a student with an account to connect Telegram (**To continue — connect Telegram**).

Until Telegram is connected, the payment button is inactive.

## Redirect after payment

The tariff settings have a **Redirect after payment** field. If it is filled in, after payment the student goes to the page you specified, for example a thank-you page on your website. The UTM tags the student came to the checkout with are added to this link.

## If the student already has an installment plan or subscription

If the student already has an active installment plan or subscription for this course, or the subscription can still be restored, they see their payments for the course instead of the payment form. To buy the tariff again anyway, the student clicks **Pay again**. If the student selected a higher-tier subscription tariff, the page shows the calculation for switching to the new tariff. See [Installments and subscriptions](https://faq.exode.biz/en/online-schools/sales-payments/installments.md) for details.

## Rules and limits

* A tariff can be paid for only while it is on sale: the tariff is turned on, its validity dates have not passed and the course launch is open for sales. Otherwise the page says **Course not found**.
* If the school has no active cash register, the student sees **Payment methods not found :(**, and school staff see the hint **The school's checkout is not set up** with a link to the settings.
* For installments and subscriptions, only cash registers that can link a card are shown. The exception is tariffs with **One-time payment** turned on.
* When a student starts a new payment attempt for an invoice, all unfinished attempts for that invoice are canceled.
* The invoice amount does not change after the invoice is created. If you change the tariff price, invoices already created keep the old amount.

## Frequently asked questions

> **Why doesn't the student see any payment methods?**
>
> The school has no active cash register suitable for this tariff. In **My school → Payment acceptance**, check that the cash register is connected and has the **Active** status. Installments and subscriptions need a cash register that links a card, unless **One-time payment** is turned on in the tariff.

> **The student paid, but access didn't appear. What should I do?**
>
> Open the invoice in **Sales → Payments** and check its status. If it says **Awaiting payment**, Exode has not yet received confirmation from the provider. The most common cause is that the notification link from the cash register settings is not set in the provider's account. If the status is **Paid**, access is granted automatically within a few seconds.

> **The payment link says “Course not found”. Why?**
>
> The tariff is not on sale right now: it is turned off, its validity dates have ended or the course launch is closed for sales. Check the [launch and tariff settings](https://faq.exode.biz/en/online-schools/sales-payments/launches-and-pricing.md).

> **Can someone buy a course without signing up?**
>
> Yes. A guest enters a phone number or email, and the account is created automatically. After payment, they receive their login details. The sign-up method must be turned on in the school's login settings.

> **The payment failed. Was the money charged?**
>
> If the page says **Payment failed**, the provider declined the payment. The student sees the reason in the **Reason for error** block if the provider passed it. The student can click **Retry** and choose another payment method. If the student is unsure whether the money was charged, they should check their bank statement before paying again: if they pay again, the money will be charged twice.

> **How do I send a student a ready-made payment link?**
>
> Copy the tariff link with the **Copy payment link** button in the course tariff settings. To apply a discount right away, add `?promo=CODE` to the end of the link. You can copy the link to an invoice that already exists in the invoice card in **Sales → Payments**.

> **Can I redirect the student to my website after payment?**
>
> Yes. Fill in the **Redirect after payment** field in the tariff settings. After payment, the student goes to that page, and the purchase's UTM tags are added to the link.

> **The student opened the checkout but sees their subscription instead of the form. Why?**
>
> The student already has an active subscription or installment plan for this course, or the subscription can still be restored. To buy the tariff again, the student needs to click **Pay again**.

> **Will the invoice amount change if I change the tariff price?**
>
> No. The amount is fixed when the invoice is created. The new price applies to new purchases.

***

*Updated: 2026-10-15 18:32 UTC*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.