Skip to content

Payment Providers

Payment Providers

Configure payment gateways to accept online fee payments from students and parents.

Time Required: 20 minutes Module: Fees (openeducat_fees), Payment Provider modules User Role: System Administrator


Table of Contents

  1. Overview
  2. Supported Payment Providers
  3. Provider Configuration
  4. Testing Payments
  5. Security Considerations
  6. Troubleshooting

Overview

Payment provider integration enables:

  • Online fee collection
  • Multiple payment methods (cards, bank transfer, wallets)
  • Automatic payment reconciliation
  • Payment notifications
  • Transaction records

Supported Payment Providers

Global Providers

ProviderCardBankWalletSetup
StripeYesYesNoEasy
PayPalYesNoYesEasy
RazorpayYesYesYesMedium
PayUYesYesYesMedium
Authorize.netYesNoNoMedium

Regional Providers

ProviderRegionFeatures
PaytmIndiaUPI, Wallet, Cards
CCAvenueIndiaNetBanking, Cards
MollieEuropeCards, iDEAL, SEPA
Mercado PagoLATAMLocal methods
FlutterwaveAfricaMobile money, Cards

Provider Configuration

  1. Go to Invoicing > Configuration > Payment Providers
  2. Or Settings > Payment Providers

General Setup Steps

  1. Click on provider name
  2. Set State to “Test” initially
  3. Enter credentials
  4. Configure options
  5. Save and test
  6. Change to “Enabled” when ready

Stripe Configuration

FieldWhere to FindDescription
Publishable KeyStripe Dashboard > API KeysPublic key for frontend
Secret KeyStripe Dashboard > API KeysPrivate key for backend
Webhook SecretStripe Dashboard > WebhooksFor event notifications

Steps:

  1. Create Stripe account at stripe.com
  2. Get API keys from Dashboard
  3. Enter keys in OpenEduCat
  4. Configure webhook endpoint
  5. Test with test cards

PayPal Configuration

FieldWhere to FindDescription
Client IDPayPal Developer > ApplicationsApplication identifier
Client SecretPayPal Developer > ApplicationsSecret key
Mode-Sandbox/Production

Steps:

  1. Create PayPal business account
  2. Create app in Developer Dashboard
  3. Get credentials
  4. Enter in OpenEduCat
  5. Test with sandbox account

Razorpay Configuration

FieldWhere to FindDescription
Key IDRazorpay Dashboard > Settings > API KeysPublic key
Key SecretRazorpay Dashboard > Settings > API KeysSecret key

Steps:

  1. Create Razorpay account
  2. Complete KYC verification
  3. Generate API keys
  4. Enter in OpenEduCat
  5. Configure webhook

Payment Options

Configure Payment Methods

For each provider, set available methods:

MethodProvider Support
Credit CardMost providers
Debit CardMost providers
Net BankingRegional providers
UPIIndia providers
WalletSelect providers
Bank TransferSelect providers

Currency Settings

SettingDescription
Default CurrencyInstitution’s primary currency
Supported CurrenciesAdditional accepted currencies
Exchange RateManual or automatic

Transaction Limits

SettingPurpose
Minimum AmountPrevent micro-transactions
Maximum AmountRisk management
Daily LimitPer-student limit

Fee Integration

Linking to Fee Structure

  1. Go to OpenEduCat > Fees > Fee Structures
  2. Edit fee structure
  3. Enable Online Payment
  4. Select available payment providers
  5. Save

Student Portal Payment

Students can pay fees:

  1. Login to student portal
  2. Go to Fees section
  3. View pending invoices
  4. Click Pay Now
  5. Select payment method
  6. Complete transaction

Payment Reconciliation

After successful payment:

  1. Transaction recorded automatically
  2. Invoice marked as paid
  3. Receipt generated
  4. Email sent to student/parent
  5. Finance team notified

Testing Payments

Test Mode

Always test before going live:

  1. Set provider to Test Mode
  2. Use test credentials
  3. Test with test cards/accounts
  4. Verify all flows work
  5. Check error handling

Test Card Numbers

ProviderTest CardResult
Stripe4242 4242 4242 4242Success
Stripe4000 0000 0000 0002Decline
PayPalSandbox accountSuccess
RazorpaySee documentationVarious

Test Checklist

  • Successful payment flow
  • Failed payment handling
  • Refund processing
  • Email notifications
  • Invoice status update
  • Transaction records

Security Considerations

PCI Compliance

RequirementImplementation
No card storageUse tokenization
HTTPSSSL certificate required
Access controlLimit who sees credentials
Audit logsTrack all transactions

Credential Security

PracticeDescription
Secure storageUse environment variables
Access restrictionAdmin-only access
Regular rotationChange keys periodically
MonitoringWatch for suspicious activity

Data Protection

DataHandling
Card numbersNever stored locally
Transaction IDsStored for reference
Payment amountsRecorded in system
Student infoProtected per privacy policy

Troubleshooting

Payment Fails

ErrorPossible CauseSolution
Invalid credentialsWrong API keysVerify keys in provider dashboard
Connection errorNetwork issueCheck server connectivity
Currency mismatchUnsupported currencyEnable currency in provider
Amount too lowBelow minimumCheck provider minimums

Webhook Issues

SymptomSolution
Status not updatingVerify webhook URL
Duplicate notificationsCheck webhook configuration
Missing eventsEnsure events are enabled

Common Errors

Error CodeDescriptionAction
400Bad requestCheck request format
401UnauthorizedVerify credentials
403ForbiddenCheck permissions
500Server errorCheck provider status

Provider-Specific Notes

Stripe

  • Supports 135+ currencies
  • Automatic receipt emails
  • Dispute handling built-in
  • Detailed analytics

PayPal

  • Buyer protection
  • International payments
  • Express checkout option
  • Seller protection

Razorpay

  • UPI support
  • EMI options
  • Indian bank integration
  • QR code payments


Last updated: January 2026