Help Docs

Payment Gateways

Payment Gateways

Payment gateways allow students to pay their invoices online through the student portal without finance team involvement. When a gateway is configured and enabled, students are presented with a payment option on their invoice page. Kampus SIS communicates with the gateway to initiate payments, receive confirmation webhooks, and automatically create and allocate receipts when payments succeed.


How Payment Gateways Work

When a student initiates an online payment from the student portal:

  1. Kampus SIS creates a payment intent record linked to the invoice and the configured gateway.
  2. The student is redirected to the gateway’s hosted payment page to complete the transaction securely.
  3. On completion, the gateway sends a webhook notification to Kampus SIS confirming the outcome.
  4. Kampus SIS processes the webhook: if the payment succeeded, a receipt is automatically created and allocated to the invoice. The invoice status updates to Paid or Partially Paid.
  5. The student is redirected back to the portal with a confirmation.

Finance officers can view payment intents and webhook events in Finance → Payment Intents and Finance → Webhooks.


Configure a Gateway

Gateway configuration requires API credentials supplied by your payment gateway provider. Contact your provider to obtain these before beginning configuration.

  1. Go to Finance → Gateways.
  2. Click Add Gateway or select an existing gateway to configure.
  3. Fill in the gateway configuration fields:
    • Gateway: Select the gateway provider from the available list (e.g., Stripe, PayHere, or others your installation supports).
    • Display Name: The name students see on the payment page (e.g., “Pay Online” or “Pay with Card”).
    • API Key / Publishable Key: The public-facing key provided by your gateway. Used to initialise the payment form in the browser.
    • API Secret / Secret Key: The private server-side key for authenticating requests to the gateway API. Keep this confidential.
    • Webhook Secret: A secret string used to verify that incoming webhook notifications are genuinely from your gateway provider. Obtain this from your gateway dashboard when you set up the webhook endpoint.
  4. Set the gateway status to Enabled.
  5. Click Save.

Important: The API Secret and Webhook Secret are sensitive credentials. They are stored encrypted and are not displayed after saving. If you lose access to these values, regenerate them in your gateway provider’s dashboard and update the configuration in Kampus SIS.

Note: Each gateway provider has a unique webhook endpoint URL that you must register in your provider’s dashboard. After saving the gateway configuration, Kampus SIS displays the webhook endpoint URL for that gateway. Copy it and add it to your provider’s webhook settings.


Enable or Disable a Gateway

A gateway must be enabled to be available for student payments. You can disable a gateway temporarily without deleting the configuration — for example, during maintenance or if the gateway provider has an outage.

Enable a Gateway

  1. Open the gateway from Finance → Gateways.
  2. Click Enable. The gateway becomes active and students can use it to pay invoices.

Disable a Gateway

  1. Open the gateway.
  2. Click Disable. Students will no longer see this gateway on the payment page. Existing payment intents already in progress are not affected.

Note: Disabling a gateway does not cancel in-flight payment intents. If a student has already been redirected to the gateway’s payment page, their transaction may still complete and a webhook notification will be received and processed normally.


Set the Default Gateway

If you have multiple gateways configured, you can designate one as the default. The default gateway is pre-selected when initiating payments from the back office.

  1. Open the gateway you want to make the default.
  2. Click Set as Default.

On the student portal, students are presented with all enabled gateways and can choose between them if more than one is active. The default setting primarily affects back-office payment initiation.


Payment Intents

A payment intent is created each time a student or officer initiates an online payment. It tracks the lifecycle of a single payment attempt from initiation through to success, failure, or cancellation.

To view payment intents, go to Finance → Payment Intents. Payment intents have the following statuses:

Status Description
Pending The intent has been created and the student has been redirected to the payment page. Awaiting gateway confirmation.
Processing The gateway has received the payment but has not yet confirmed capture (common for bank transfer methods).
Captured The payment was successfully authorised and captured. A receipt has been created and allocated automatically.
Failed The payment was declined or encountered an error. No receipt was created. The student can try again.
Cancelled The payment was cancelled, either by the student or by the system.
Expired The intent was not completed within the allowed time window and has expired.

Finance officers can retry failed intents, cancel pending intents, or manually resolve intents that are stuck due to webhook delivery issues by using the action buttons on the payment intent detail page.


Webhook Events

Webhook events are notifications sent by your gateway provider to Kampus SIS to report payment outcomes. Kampus SIS logs every received webhook for debugging and auditing.

To view webhook events, go to Finance → Webhooks. Each event record shows the gateway, event type, received timestamp, processing status, and the related payment intent.

If a webhook was not processed successfully (for example, due to a temporary server error), you can retry it:

  1. Open the failed webhook event from Finance → Webhooks.
  2. Click Retry.
  3. Kampus SIS re-processes the event. If the underlying issue is resolved, the payment intent and invoice will be updated accordingly.

Important: If a student reports that their payment was charged but their invoice has not updated, check Finance → Webhooks first for failed events on that payment intent before creating a manual receipt.


Permissions

Permission Actions Allowed
finance.gateways.manage Create, configure, enable, disable, and set default payment gateways
finance.payment_intents.view View payment intent list and intent details
finance.payment_intents.manage Retry, cancel, and manually resolve payment intents; retry webhook events

Permissions are assigned to roles under Settings → Users & Roles.


Next: Back to Invoices Overview

Kampus

Kampus

A collection of components for your startup business or side project.

© 2026 Kampus. All rights reserved.