Skip to main content

Integrations

Overviewโ€‹

Third-party integrations extend your school management system with powerful capabilities:

  • Payment Gateways - Accept online fee payments
  • Email Services - Deliver email notifications at scale
  • SSO Providers - Enable single sign-on (Google, Microsoft)

๐Ÿ’ณ Payment Gateway Integrationโ€‹

Enable parents to pay school fees online through secure payment gateways.

Supported Payment Gatewaysโ€‹

Nigeria:

  • Paystack (Recommended)
  • Flutterwave
  • Razorpay
  • Stripe (International)

India:

  • Razorpay
  • Instamojo
  • Paytm

Global:

  • Stripe
  • PayPal

Paystack Integration (Nigeria)โ€‹

Step 1: Create Paystack Account

  1. Go to paystack.com
  2. Sign up for a business account
  3. Complete KYC verification
  4. Navigate to Settings โ†’ API Keys & Webhooks

Step 2: Get API Keys

  1. Copy your Public Key (starts with pk_)
  2. Copy your Secret Key (starts with sk_)
  3. For testing, use Test Keys first
  4. For production, use Live Keys after verification

Step 3: Configure in School System

  1. Log in as School Admin
  2. Go to Settings โ†’ Payment Settings (or Fees โ†’ Payment Gateway)
  3. Select Paystack from provider dropdown
  4. Enter:
    • Public Key - Paste your Paystack public key
    • Secret Key - Paste your Paystack secret key
    • Mode - Select "Test" or "Live"
  5. Click Save

Step 4: Set Up Webhook

  1. Copy the Webhook URL shown in your payment settings (e.g., https://yourschool.com/api/paystack/webhook)
  2. Go back to Paystack Dashboard โ†’ Settings โ†’ API Keys & Webhooks
  3. Click Add Webhook
  4. Paste your webhook URL
  5. Save webhook

Step 5: Test Payment

  1. Go to a parent account
  2. Navigate to Fees โ†’ Pay Fees
  3. Select an amount and click Pay Online
  4. Use Paystack test card:
    • Card Number: 4084084084084081
    • Expiry: Any future date
    • CVV: 408
    • PIN: 0000
  5. Verify payment shows as successful in admin dashboard

Paystack Fees:

  • 1.5% + โ‚ฆ100 capped at โ‚ฆ2,000 per transaction
  • No setup fees or monthly charges
Paystack Documentation

For detailed Paystack API docs, visit: paystack.com/docs


Flutterwave Integration (Nigeria)โ€‹

Step 1: Create Flutterwave Account

  1. Go to flutterwave.com
  2. Sign up and complete verification
  3. Go to Settings โ†’ API Keys

Step 2: Get API Credentials

  1. Copy Public Key
  2. Copy Secret Key
  3. Copy Encryption Key

Step 3: Configure in School System

  1. Go to Settings โ†’ Payment Settings
  2. Select Flutterwave
  3. Enter:
    • Public Key
    • Secret Key
    • Encryption Key
    • Mode - Test or Live
  4. Click Save

Step 4: Webhook Setup

  1. Copy webhook URL from payment settings
  2. In Flutterwave Dashboard โ†’ Settings โ†’ Webhooks
  3. Add your webhook URL
  4. Save

Test Cards:

  • Card: 5531886652142950
  • CVV: 564
  • Expiry: Any future date
  • OTP: 12345

Flutterwave Fees:

  • 1.4% local cards
  • 3.8% international cards
  • No hidden charges

Razorpay Integration (India)โ€‹

Step 1: Create Razorpay Account

  1. Go to razorpay.com
  2. Sign up and complete KYC
  3. Navigate to Settings โ†’ API Keys

Step 2: Generate API Keys

  1. Click Generate Test Keys (for testing)
  2. Click Generate Live Keys (for production, after activation)
  3. Copy Key ID and Key Secret

Step 3: Configure in School System

  1. Go to Settings โ†’ Payment Settings
  2. Select Razorpay
  3. Enter:
    • Key ID
    • Key Secret
    • Mode - Test or Live
  4. Click Save

Step 4: Webhook Configuration

  1. Copy webhook URL from settings
  2. Go to Razorpay Dashboard โ†’ Settings โ†’ Webhooks
  3. Click Add New Webhook
  4. Enter webhook URL
  5. Select events: payment.captured, payment.failed
  6. Save

Test Details:

  • Use any card details for test mode
  • Razorpay provides a test card number generator

Razorpay Fees:

  • 2% per transaction (negotiable for schools)
  • No setup or annual fees

Stripe Integration (International)โ€‹

Step 1: Create Stripe Account

  1. Go to stripe.com
  2. Sign up and complete verification
  3. Go to Developers โ†’ API Keys

Step 2: Get API Keys

  1. Copy Publishable Key (starts with pk_)
  2. Copy Secret Key (starts with sk_)
  3. Use test keys for testing, live keys for production

Step 3: Configure in School System

  1. Go to Settings โ†’ Payment Settings
  2. Select Stripe
  3. Enter:
    • Publishable Key
    • Secret Key
    • Mode - Test or Live
  4. Click Save

Step 4: Webhook Setup

  1. Copy webhook URL
  2. Go to Stripe Dashboard โ†’ Developers โ†’ Webhooks
  3. Click Add Endpoint
  4. Paste webhook URL
  5. Select events: payment_intent.succeeded, payment_intent.payment_failed
  6. Save

Test Card:

  • Number: 4242 4242 4242 4242
  • Expiry: Any future date
  • CVC: Any 3 digits

Stripe Fees:

  • 2.9% + $0.30 per transaction (US)
  • Varies by country

๐Ÿ“ง Email Service Provider Integrationโ€‹

For high-volume email sending (newsletters, bulk notifications), use dedicated email services instead of regular SMTP.

Supported Email Providersโ€‹

  • SendGrid (Recommended for bulk)
  • Mailgun
  • Amazon SES
  • Mailchimp (for newsletters)

SendGrid Integrationโ€‹

Step 1: Create SendGrid Account

  1. Go to sendgrid.com
  2. Sign up (free tier: 100 emails/day)
  3. Complete sender verification
  4. Go to Settings โ†’ API Keys

Step 2: Create API Key

  1. Click Create API Key
  2. Name it (e.g., "School System")
  3. Select Full Access or Restricted Access (choose Mail Send permissions)
  4. Copy the API Key (you won't see it again!)

Step 3: Verify Sender Domain

  1. Go to Settings โ†’ Sender Authentication
  2. Click Verify a Single Sender (for quick start) or
  3. Authenticate Your Domain (for production - recommended)
  4. Follow verification steps

Step 4: Configure in School System

  1. Go to Settings โ†’ Email Settings
  2. Select SendGrid or configure as SMTP:
    • Mail Host: smtp.sendgrid.net
    • Mail Port: 587
    • Mail Username: apikey
    • Mail Password: [Your SendGrid API Key]
    • Mail Encryption: TLS
    • Mail From Address: noreply@yourschool.com
    • Mail From Name: Your School Name
  3. Click Save

Step 5: Test

  1. Send test email
  2. Check delivery in SendGrid Dashboard โ†’ Activity

SendGrid Pricing:

  • Free: 100 emails/day
  • Essentials: $19.95/month (50,000 emails)
  • Pro: $89.95/month (100,000 emails)
Domain Authentication

Authenticate your domain (not just single sender) to improve deliverability and avoid spam filters. This requires adding DNS records.


Mailgun Integrationโ€‹

Step 1: Create Mailgun Account

  1. Go to mailgun.com
  2. Sign up (free tier: 5,000 emails/month for 3 months)
  3. Add and verify your domain

Step 2: Get SMTP Credentials

  1. Go to Sending โ†’ Domain Settings
  2. Select your domain
  3. Note SMTP credentials:
    • SMTP Hostname: smtp.mailgun.org
    • Port: 587 (TLS) or 465 (SSL)
    • Username: postmaster@yourdomain.com
    • Password: (shown in dashboard)

Step 3: Configure in School System

  1. Go to Settings โ†’ Email Settings
  2. Enter Mailgun SMTP details
  3. Save and test

Mailgun Pricing:

  • Free: 5,000 emails/month (first 3 months)
  • Foundation: $35/month (50,000 emails)
  • Growth: $80/month (100,000 emails)

Amazon SES Integrationโ€‹

Step 1: Create AWS Account

  1. Go to aws.amazon.com
  2. Sign up and navigate to SES (Simple Email Service)
  3. Verify email addresses or domain

Step 2: Create SMTP Credentials

  1. In SES Console โ†’ SMTP Settings
  2. Click Create My SMTP Credentials
  3. Download credentials (username and password)

Step 3: Request Production Access

  1. By default, SES is in sandbox mode (can only send to verified emails)
  2. Request production access via Account Dashboard
  3. Wait for approval (usually 24 hours)

Step 4: Configure in School System

  1. Go to Settings โ†’ Email Settings
  2. Enter:
    • Mail Host: email-smtp.[region].amazonaws.com (e.g., email-smtp.us-east-1.amazonaws.com)
    • Mail Port: 587
    • Mail Username: [SMTP username from step 2]
    • Mail Password: [SMTP password from step 2]
    • Mail Encryption: TLS
  3. Save and test

Amazon SES Pricing:

  • $0.10 per 1,000 emails
  • Very cost-effective for high volumes
  • Free tier: 62,000 emails/month if sending from EC2

๐Ÿ” Troubleshooting Integrationsโ€‹

Payment Gateway Issuesโ€‹

Problem: Payments not processing

Solutions:

  1. Check API keys - Ensure correct public and secret keys
  2. Verify mode - Test keys in test mode, live keys in live mode
  3. Check webhook URL - Must be publicly accessible (not localhost)
  4. Review gateway logs - Check provider dashboard for error messages
  5. Verify KYC - Account must be fully verified for live mode
  6. Check currency - Ensure currency matches gateway support (e.g., NGN for Paystack)

Email Delivery Issuesโ€‹

Problem: Emails going to spam or not delivered

Solutions:

  1. Authenticate domain - Set up SPF, DKIM, DMARC records
  2. Use dedicated email service - Don't use Gmail for bulk sending
  3. Warm up IP - Gradually increase sending volume
  4. Clean email list - Remove bounced/invalid addresses
  5. Avoid spam words - Don't use "FREE", "WINNER", excessive caps in subject
  6. Include unsubscribe link - Required for bulk emails


Summary Checklistโ€‹

Payment Gateway Setup:

  • โœ… Create account with payment provider
  • โœ… Complete KYC verification
  • โœ… Get API keys (public and secret)
  • โœ… Configure in school system
  • โœ… Set up webhook URL
  • โœ… Test with test cards/credentials
  • โœ… Switch to live mode after testing

Email Service Setup:

  • โœ… Create account with email provider
  • โœ… Verify sender domain/email
  • โœ… Get SMTP credentials or API key
  • โœ… Configure in school system
  • โœ… Set up SPF/DKIM records
  • โœ… Send test email
  • โœ… Monitor deliverability

Third-party integrations unlock powerful capabilities for your school. Take time to set them up correctly, and they'll serve you reliably for years! ๐Ÿ”—โœจ