Payment Methods
OJS supports two approaches to collecting subscription payments: manual payment recording (for cheque, bank transfer, or offline payment) and online payment via a payment plugin such as PayPal.
Manual Payment Recordingโ
Most journals process subscription payments outside OJS (by invoice, bank transfer, or cheque) and then record the payment status inside OJS to activate access.
Marking a Subscription as Paid (Active)โ
- Go to Subscriptions โ Individual Subscriptions or Institutional Subscriptions
- Find the subscription that has been paid
- Click the arrow next to the subscriber's name and select Edit
- Change the Status from Awaiting Manual Payment to Active
- Optionally add a note in the Note field (e.g. Invoice #1234 paid by bank transfer 2025-06-01)
- Click Save
The subscriber gains immediate access once the status is Active.
The Note field is visible only to Subscription Managers and Journal Managers. Use it to record invoice numbers, payment references, and dates to maintain a basic audit trail inside OJS.
Configuring the Manual Payment Pluginโ
The Manual Payment plugin allows subscribers to initiate a subscription online and receive instructions to pay offline. OJS marks the subscription as Awaiting Manual Payment until you manually confirm receipt.
Enabling the Manual Payment Pluginโ
- Go to Settings โ Website โ Plugins
- Find Manual Payment under the Payment Plugins section (or search for it)
- Click the toggle to Enable the plugin
- Click the Settings (gear) icon next to the plugin
- Fill in the Payment Instructions field โ this text is shown to subscribers after they choose the manual payment option (e.g. bank details, mailing address for cheques)
- Click Save
Manual Payment Plugin Settingsโ
| Setting | Description |
|---|---|
| Payment Instructions | Text displayed to the subscriber explaining how to send payment offline (bank details, cheque payee name, mailing address, etc.) |
The payment currency is configured in Subscriptions โ Subscription Policies, not in the individual payment plugin settings.
Connecting a PayPal Payment Pluginโ
The PayPal plugin enables subscribers to pay online using a PayPal account or credit card, with OJS automatically activating the subscription on payment confirmation.
Prerequisitesโ
- A PayPal Business account
- PayPal API credentials (API Username, API Password, API Signature) from your PayPal account settings under Account โ API Access
Enabling the PayPal Pluginโ
- Go to Settings โ Website โ Plugins
- Find PayPal Fee Payment in the Payment Plugins section
- Click the toggle to Enable the plugin
- Click the Settings (gear) icon
- Fill in the required fields (see table below)
- Click Save
PayPal Plugin Settingsโ
| Setting | Description |
|---|---|
| Test mode | Enable to use the PayPal Sandbox for testing; disable for live payments |
| API Username | From your PayPal account API credentials |
| API Password | From your PayPal account API credentials |
| API Signature | From your PayPal account API credentials |
Enable Test mode and use a PayPal Sandbox account to verify the payment flow end-to-end before switching to live credentials. Test both a successful payment and a cancelled payment.
The PayPal plugin processes payments for subscription fees defined in your subscription types. Ensure each subscription type has a non-zero cost and the correct currency set before testing online payments.
Recording Payment Notesโ
For any subscription (manual or online), use the Note field on the subscription record to capture payment-related information:
| Note content | Example |
|---|---|
| Invoice reference | Invoice #INV-2025-0042 issued 2025-05-15 |
| Payment method | Paid by bank transfer; ref TXN987654 |
| PayPal transaction | PayPal txn ID 4XF12345AB678901C confirmed 2025-05-20 |
| Partial payment | 50% deposit received; balance due 2025-08-01 |
| Complimentary note | Complimentary subscription granted for editorial board service |
Payment Notification Workflowโ
The typical payment lifecycle for a new subscriber is:
- Subscriber selects a subscription type on the journal's subscription page
- OJS creates a subscription record with status Awaiting Online Payment (PayPal) or Awaiting Manual Payment (Manual plugin)
- PayPal: Subscriber completes payment on PayPal; OJS receives the IPN callback and automatically sets status to Active
Manual: Subscriber sends payment offline; Subscription Manager manually sets status to Active - Access granted โ subscriber can now log in and access content
- OJS sends a confirmation email to the subscriber (if configured in Subscription Policies)
Email Notificationsโ
OJS can send automated emails at key points in the payment workflow. Configure these under Subscriptions โ Subscription Policies:
| Notification | Trigger |
|---|---|
| Subscription purchased | Subscriber completes purchase (online payment confirmed) |
| Subscription renewal reminder | Sent a set number of days before expiry |
| Subscription expired | Sent when a subscription lapses |
PayPal uses Instant Payment Notification (IPN) to inform OJS of completed payments. If a subscriber pays but their subscription is not activated automatically, check that your server can receive inbound HTTP connections from PayPal's IPN servers and that your PayPal account has IPN enabled.
Further Readingโ
- Learning OJS โ Subscriptions โ PKP documentation on subscription payment configuration
- PKP Community Forum โ Community help for PayPal integration and payment issues