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.
On this page:
How Payment Gateways Work
When a student initiates an online payment from the student portal:
- Kampus SIS creates a payment intent record linked to the invoice and the configured gateway.
- The student is redirected to the gateway’s hosted payment page to complete the transaction securely.
- On completion, the gateway sends a webhook notification to Kampus SIS confirming the outcome.
- 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.
- 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.
- Go to Finance → Gateways.
- Click Add Gateway or select an existing gateway to configure.
- 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.
- Set the gateway status to Enabled.
- 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
- Open the gateway from Finance → Gateways.
- Click Enable. The gateway becomes active and students can use it to pay invoices.
Disable a Gateway
- Open the gateway.
- 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.
- Open the gateway you want to make the default.
- 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:
- Open the failed webhook event from Finance → Webhooks.
- Click Retry.
- 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.