Title: Aims Infosoft LMS
Author: Aims Infosoft
Published: <strong>September 18, 2026</strong>
Last modified: September 18, 2026

---

Search plugins

![](https://ps.w.org/aims-infosoft-lms/assets/banner-772x250.png?rev=3702079)

![](https://ps.w.org/aims-infosoft-lms/assets/icon-128x128.png?rev=3702079)

# Aims Infosoft LMS

 By [Aims Infosoft](https://profiles.wordpress.org/aimsinfosofts/)

[Download](https://downloads.wordpress.org/plugin/aims-infosoft-lms.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/aims-infosoft-lms/#description)
 * [Reviews](https://wordpress.org/plugins/aims-infosoft-lms/#reviews)
 *  [Installation](https://wordpress.org/plugins/aims-infosoft-lms/#installation)
 * [Development](https://wordpress.org/plugins/aims-infosoft-lms/#developers)

 [Support](https://wordpress.org/support/plugin/aims-infosoft-lms/)

## Description

Aims Infosoft LMS turns WordPress into a paid-course platform:

 * Course catalog and curriculum builder (sections and lessons)
 * Secure, per-user video and PDF lesson delivery
 * Sequential lesson unlocking with per-student progress tracking
 * Checkout with Stripe, PayPal, and Razorpay
 * Order history and downloadable invoices
 * Auto-generated, verifiable completion certificates
 * Student accounts with login, registration, and a My Account dashboard

#### Payments

Stripe, PayPal, and Razorpay are supported for one-time course purchases. Configure
API keys and webhook secrets under **Aims Infosoft LMS  Settings  Payments**.

#### Certificates

Students can download a certificate once a course reaches 100% completion. Every
issued certificate gets a unique, stored certificate ID that can be checked at `/?
aimslms_verify_certificate=1&certificate_id=YOUR-ID`.

### External services

This plugin connects to the following third-party services. Each connection is described
below, including what data is sent, when, and links to that service’s terms and 
privacy policy.

This plugin relies on Stripe, PayPal, and Razorpay to process course payments; only
whichever gateway(s) you configure and a customer actually chooses at checkout are
contacted.

 * **Stripe** – used to process card payments. When a customer opens the checkout
   page, the plugin loads the Stripe.js library from Stripe’s servers (`https://
   js.stripe.com/v3/`) to securely collect payment details. When a customer submits
   payment, the order amount, currency, and payment details are sent to Stripe’s
   API to create and confirm the charge; no card numbers are handled by this plugin.
   If enabled, refunds are also sent to Stripe. [Terms of Service](https://stripe.com/legal/consumer)
   | [Privacy Policy](https://stripe.com/privacy)
 * **PayPal** – used to process PayPal payments. When a customer chooses PayPal 
   at checkout, the plugin sends the order amount, currency, and a description to
   PayPal’s API (`api-m.paypal.com` or, in sandbox/test mode, `api-m.sandbox.paypal.
   com`) to create and capture the order. PayPal also sends payment status updates
   back to this site via webhook. [Terms of Service](https://www.paypal.com/us/legalhub/useragreement-full)
   | [Privacy Policy](https://www.paypal.com/us/legalhub/privacy-full)
 * **Razorpay** – used to process payments (primarily for INR/India-based checkout).
   When a customer chooses Razorpay at checkout, the plugin loads Razorpay’s checkout
   script (`https://checkout.razorpay.com/v1/checkout.js`) and sends the order amount,
   currency, and a receipt reference to Razorpay’s API to create the order. [Terms of Service](https://razorpay.com/terms/)
   | [Privacy Policy](https://razorpay.com/privacy/)
 * **Frankfurter** (`api.frankfurter.app`) – a free currency-exchange-rate API used
   only when a course is purchased through Razorpay and its listed price needs converting
   to INR. The source and target currency codes are sent; no personal or payment
   data is sent. The response is cached for an hour to minimize requests. [About/Terms](https://www.frankfurter.app/docs)(
   Frankfurter is an open-source project with no separate privacy policy; it does
   not require or process personal data.)
 * **Gravatar** – WordPress core’s built-in avatar service. If a student hasn’t 
   uploaded a custom profile picture, their account dashboard requests an avatar
   image from Gravatar using a hash of their email address. [Terms of Service](https://automattic.com/en/legal/terms-of-service/)
   | [Privacy Policy](https://automattic.com/en/privacy/)

## Screenshots

[[

[[

[[

[[

[[

[[

[[

[[

[[

[[

## Installation

 1. Upload the plugin files to `/wp-content/plugins/aims-infosoft-lms`, or install 
    the plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the “Plugins” screen in WordPress.
 3. Configure payment gateways and certificate design under the **Aims Infosoft LMS**
    admin menu.
 4. Add courses under **Aims Infosoft LMS  Add New Course**.

## FAQ

### What happens if I deactivate the plugin?

The plugin’s front-end pages (My Account, Courses, Checkout, etc.) show a “plugin
is not available” notice instead of a broken page. No course data, orders, or pages
are deleted. Reactivating the plugin restores those pages automatically.

### Which payment gateways are supported?

Stripe, PayPal, and Razorpay, each configurable independently with sandbox/live 
modes.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Aims Infosoft LMS” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Aims Infosoft ](https://profiles.wordpress.org/aimsinfosofts/)

[Translate “Aims Infosoft LMS” into your language.](https://translate.wordpress.org/projects/wp-plugins/aims-infosoft-lms)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/aims-infosoft-lms/),
check out the [SVN repository](https://plugins.svn.wordpress.org/aims-infosoft-lms/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/aims-infosoft-lms/)
by [RSS](https://plugins.trac.wordpress.org/log/aims-infosoft-lms/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release: course catalog and curriculum builder, secure video/PDF lesson
   delivery, sequential progress tracking, Stripe/PayPal/Razorpay checkout, order
   history and invoices, student accounts, and downloadable completion certificates(
   3 selectable designs).
 * Security: Stripe webhook signatures are verified; secure lesson file links expire;
   CSRF nonce checks on bulk order/student admin actions; the manual cron-reconciliation
   endpoint is capability-gated; a duplicate, unauthenticated PayPal cancel-order
   handler was removed in favor of the existing ownership-checked one; the secure
   lesson-file download path is resolved and verified against the uploads directory;
   nonce and login checks were added to the admin chart-data and profile-update 
   endpoints.
 * Performance: PHP sessions are only started for the checkout flow and related 
   AJAX/redirect endpoints, not on every page load, so full-page caching isn’t bypassed
   site-wide.
 * Discloses all third-party/external service usage (Stripe, PayPal, Razorpay, Frankfurter,
   Gravatar) in an “External services” section below.
 * Certificates get a real, unique, stored certificate ID with a public verification
   page.
 * Only the My Account and Courses pages are added to site navigation on activation;
   other auto-created pages remain accessible by URL but aren’t linked in menus.
 * Deactivating (or deleting) the plugin shows a “plugin is not available” notice
   on its pages instead of a broken shortcode; reactivating restores the original
   content. No data is deleted.
 * General front-end visual polish (spacing, typography, responsiveness) across 
   course, lesson, checkout, dashboard, and auth pages.
 * Consolidated all function, class, define, option, post type, and shortcode names
   onto a single unique `aimslms_`/`AIMSLMS_` prefix, replacing the previous inconsistent
   naming, to avoid any conflicts with other plugins.
 * The admin menu no longer uses a fixed position, so it no longer competes with
   core WordPress menu items for placement.
 * Replaced hardcoded `<link>`/`<script>` tags on the secure PDF viewer and certificate
   verification pages with proper `wp_enqueue_style()`/`wp_enqueue_script()` calls.
 * Removed non-essential development files (CI configs, test suites, changelogs,
   editor configs) from the bundled third-party libraries.
 * Fixed a bug that could prevent the bundled payment/PDF libraries from loading
   correctly.
 * Fixed the Certificate Settings page’s assets (styles/scripts) not loading due
   to an incorrect internal reference.
 * Redesigned the Settings page, Certificate Settings page, and course editor’s “
   Course Settings” panel for visual consistency with the rest of the admin UI.
 * Fixed the front-end “Profile Updated” confirmation popup rendering with broken
   spacing/layout.

## Meta

 *  Version **1.0.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.1.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [certificates](https://wordpress.org/plugins/tags/certificates/)[courses](https://wordpress.org/plugins/tags/courses/)
   [lms](https://wordpress.org/plugins/tags/lms/)[online learning](https://wordpress.org/plugins/tags/online-learning/)
   [payments](https://wordpress.org/plugins/tags/payments/)
 *  [Advanced View](https://wordpress.org/plugins/aims-infosoft-lms/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/aims-infosoft-lms/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/aims-infosoft-lms/reviews/)

## Contributors

 *   [ Aims Infosoft ](https://profiles.wordpress.org/aimsinfosofts/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/aims-infosoft-lms/)