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

# Online Payments, Student Wallets, Discounts & Exemptions

> Accept online fees via Flutterwave or Paystack, manage student digital wallets, and apply per-student discounts or scholarship exemptions.

Edustream's payments module removes the friction of cash collection by letting parents settle school fees directly from the parent portal using cards or bank transfers. Alongside gateway payments, each student has a digital wallet that parents can top up for day-to-day school spending — covering canteen purchases, uniform shop sales, library fees, and other ancillary charges. This page covers how to configure your payment gateway, how parents pay online, how wallets work in practice, and how to handle discounts and fee exemptions.

<Note>
  Payments & Wallets — including Flutterwave and Paystack integration and the Student Wallet feature — are available on the **Operations plan and above**. Schools on the Core plan can record manual payments but cannot accept online payments or use digital wallets.
</Note>

***

## Configuring Your Payment Gateway

Before parents can pay online, a school administrator must connect at least one payment gateway. Edustream supports **Flutterwave** and **Paystack** natively.

<Steps>
  <Step title="Open Payment Settings">
    In the left navigation, go to **Settings → Payments**. The Payment Gateway panel lists the available providers.
  </Step>

  <Step title="Select a gateway">
    Click **Configure** next to either **Flutterwave** or **Paystack** — or both, if your school wants to offer parents a choice. You can have both gateways active simultaneously.
  </Step>

  <Step title="Enter your API credentials">
    Log in to your Flutterwave or Paystack dashboard and locate your API keys. In Edustream, paste the following:

    | Field           | Where to find it                                                                       |
    | --------------- | -------------------------------------------------------------------------------------- |
    | **Public Key**  | Flutterwave → Settings → API; Paystack → Settings → API Keys & Webhooks                |
    | **Secret Key**  | Same location as above — keep this confidential.                                       |
    | **Webhook URL** | Copy the URL displayed in Edustream and paste it into your gateway's webhook settings. |
  </Step>

  <Step title="Set the webhook in your gateway dashboard">
    Navigate to the webhook settings in your Flutterwave or Paystack dashboard and paste the Edustream-provided Webhook URL. This allows the gateway to notify Edustream instantly when a payment is completed, so invoices and receipts update in real time.
  </Step>

  <Step title="Test the connection">
    Click **Test Connection** in Edustream. The system sends a test ping to the gateway and confirms whether the credentials are valid. A green *Connected* badge means you are ready to go live.
  </Step>

  <Step title="Activate the gateway">
    Toggle the gateway status to **Active**. From this point, parents will see the payment option on the parent portal.
  </Step>
</Steps>

<Tip>
  Configure both Flutterwave and Paystack to give parents flexibility. Some parents may prefer card payments (more readily supported by Flutterwave), while others favour direct bank transfers via Paystack's virtual account feature.
</Tip>

***

## How Parents Pay Online

Once a gateway is active, parents can pay outstanding invoices from their own portal without visiting the school.

<Steps>
  <Step title="Parent logs into the portal">
    The parent navigates to your school's Edustream parent portal URL and signs in with their credentials. The **Dashboard** shows a summary of outstanding invoices for all their children enrolled at the school.
  </Step>

  <Step title="Select the invoice to pay">
    The parent clicks **View Invoices** for the relevant child. The invoice list shows each fee item, the total amount, any partial payments already made, and the remaining balance due.
  </Step>

  <Step title="Choose a payment method">
    The parent clicks **Pay Now** on the invoice. A payment modal opens with two options:

    <Tabs>
      <Tab title="Card Payment">
        The parent enters their debit or credit card number, expiry date, and CVV. The transaction is processed securely through the configured gateway. 3D Secure authentication is triggered automatically where required by the issuing bank.
      </Tab>

      <Tab title="Bank Transfer">
        The parent selects **Bank Transfer**. The gateway generates a dynamic virtual account number specifically for this transaction. The parent initiates a transfer from their banking app to that account. Edustream marks the invoice as paid automatically once the transfer is confirmed by the gateway — usually within a few minutes.
      </Tab>
    </Tabs>
  </Step>

  <Step title="Payment confirmation">
    After a successful transaction, the parent sees a confirmation screen with a receipt number. Edustream simultaneously updates the invoice status, generates a serialised PDF receipt, and sends the receipt to the parent's registered email address.
  </Step>
</Steps>

<Info>
  Parents can make partial payments online. If the invoice total is ₦50,000 and the parent pays ₦25,000, the invoice status updates to **Partially Paid** and the remaining ₦25,000 balance stays visible on their portal. They can return later to pay the remainder.
</Info>

***

## Digital Student Wallets

Every student in Edustream has a digital wallet. The wallet functions as a prepaid balance that parents load in advance; school staff deduct from it at point of sale for approved spending categories — canteen, the uniform shop, the library, or other ancillary charges approved by your school.

### Topping Up a Wallet

<Steps>
  <Step title="Navigate to the wallet top-up screen">
    The parent logs into the parent portal and clicks **Wallet** in the top navigation bar. The wallet screen displays the student's current balance and a full transaction history.
  </Step>

  <Step title="Enter the top-up amount">
    Click **Top Up Wallet**, enter the amount to add, and click **Proceed to Payment**. The same gateway payment modal used for invoice payments opens. The parent completes the transaction by card or bank transfer.
  </Step>

  <Step title="Confirm the balance update">
    Once the payment is confirmed, the new balance appears immediately on both the parent portal and within the Edustream school admin dashboard. Wallet top-ups also generate a receipt.
  </Step>
</Steps>

### Using Wallet Funds

Wallet funds are spent at school through staff-initiated deductions, not by the parent directly. Below are the approved spending categories and how each works:

<CardGroup cols={2}>
  <Card title="Canteen" icon="utensils">
    Canteen staff open **Finance → Wallet → Canteen Deduction**, search for the student, enter the meal cost, and confirm. The amount is deducted instantly and the balance updates in real time.
  </Card>

  <Card title="Uniform Shop" icon="shirt">
    The school store operator follows the same deduction flow under **Finance → Wallet → Uniform Shop** when a student collects a uniform item charged to their wallet.
  </Card>

  <Card title="Library Fees" icon="book">
    Library staff can deduct fines or borrowing fees from a student's wallet via **Finance → Wallet → Library**. This eliminates the need for cash handling in the library.
  </Card>

  <Card title="Ancillary Charges" icon="receipt">
    For any other school-approved charge category, staff use **Finance → Wallet → Ancillary**. Each deduction records the category, amount, staff member, and timestamp for audit purposes.
  </Card>
</CardGroup>

<Warning>
  Wallet balances cannot go below zero. If a deduction would exceed the available balance, the system blocks the transaction and prompts the staff member to notify the parent to top up. Never override this restriction manually.
</Warning>

***

## Applying Discounts

Edustream lets you apply per-student discounts to accommodate staff children, siblings, scholarship holders, or any other scenario where a student should pay a reduced amount.

<Steps>
  <Step title="Open the student's invoice">
    Go to **Finance → Invoices**, search for the student, and open their invoice. Click **Apply Discount**.
  </Step>

  <Step title="Choose the discount type">
    Select either a **Percentage Discount** or a **Fixed Amount Discount**:

    * **Percentage**: Enter a percentage (e.g., *20*). Edustream calculates and deducts 20% from the invoice total automatically.
    * **Fixed Amount**: Enter a specific monetary amount (e.g., *₦5,000*) to subtract from the invoice total.
  </Step>

  <Step title="Add a discount reason">
    Enter a reason for the discount (e.g., *Staff child — 20% tuition reduction*). This reason is stored on the invoice for audit and reporting purposes.
  </Step>

  <Step title="Save the discount">
    Click **Apply**. The invoice total updates immediately. The parent will see the revised amount on the parent portal along with the discount line item for transparency.
  </Step>
</Steps>

<Tip>
  If your school has a standard discount that applies to many students (for example, a 15% sibling discount), contact Edustream support to set up a **Discount Rule** — a pre-configured discount that can be applied in bulk across a class or group rather than student by student.
</Tip>

***

## Scholarship and Fee Exemptions

For students on full or partial scholarships, or those exempted from specific charges by school policy, Edustream supports invoice-level and fee-item-level exemptions.

<Steps>
  <Step title="Locate the student record">
    Go to **Students → \[Student Name] → Finance Profile**. Click **Manage Exemptions**.
  </Step>

  <Step title="Mark the exemption">
    You can exempt the student from:

    * **Specific fee items only** — for example, exempt from the *Development Levy* but still billed for Tuition. Toggle off each fee item the student is exempt from.
    * **Full invoice exemption** — toggle on **Full Scholarship** to mark the student as exempt from all fees for the selected term. Invoices will still be generated for record-keeping, but their payable balance will be set to zero.
  </Step>

  <Step title="Record the exemption basis">
    Enter a note explaining the basis for the exemption (e.g., *State Government Scholarship — SS2 2024/25*). This is mandatory for audit compliance.
  </Step>

  <Step title="Save and confirm">
    Click **Save Exemption**. The change applies to the current and future invoices within the scope you defined. Previously paid invoices are not affected.
  </Step>
</Steps>

<Info>
  Exemptions and discounts are recorded in the Master Ledger with clear labels, so your finance reports always reconcile correctly. See [Receipts & Ledger](/features/receipts-and-ledger) for details on how these entries appear in the ledger.
</Info>
