Overview
The Novac WordPress plugin enables you to accept payments on your WordPress site using Novac’s secure payment gateway. It includes a full admin interface for managing transactions and API settings, flexible frontend options for embedding payment forms, and a robust backend integration that handles webhooks, transaction recording, and REST API communication automatically.Prerequisites
See details
See details
Before you begin, ensure that you have the following:
- A Novac Business Account with API keys from your Novac Dashboard
- A WordPress site with admin access
- Ability to install plugins via the WordPress admin panel or FTP
Installation
Step 1 - Upload the Plugin
Upload the plugin folder to your WordPress plugins directory:
/wp-content/plugins/
Step 2 - Activate the Plugin
In your WordPress admin panel, go to Plugins and activate the Novac Payments plugin.
Configuration
API Keys
Your API keys authenticate all communication between your WordPress site and Novac’s backend. You’ll need both a public and secret key from your dashboard.- Get your API keys from the Novac Dashboard.
- Go to Novac Payments → Settings in your WordPress admin.
- Enter your Public Key and Secret Key.
- Select your Mode, choose Test for development or Live for production.
- Copy the generated Webhook URL and add it to your Novac dashboard.
Webhook Setup
The webhook URL allows Novac to send real-time payment notifications to your WordPress site, so transaction statuses are updated automatically after each payment. Configure the following URL in your Novac dashboard: https://yoursite.com/?novac-webhook=1 Replaceyoursite.com with your actual WordPress site domain.
Usage
Using the Shortcode
The[novac_payment_form] shortcode lets you embed a payment form on any page, post, or widget area. There are three ways to use it depending on your needs.
- Basic form: lets the customer enter their own amount: [novac_payment_form]
- Fixed amount form: pre-sets the amount and describes what the payment is for
- Fully customized form: applies custom brand colors to the form container, button, and text
Shortcode Parameters
| Parameter | Description | Default |
|---|---|---|
amount | Fixed payment amount. Leave empty to let the customer enter their own | — |
currency | Currency code | NGN |
description | Payment description shown on the form | Payment |
button_text | Label on the payment button | Pay Now |
text_color | Color of form text | #111111 |
container_color | Background color of the form container | — |
button_color | Background color of the payment button | — |
button_text_color | Color of the text on the payment button | — |
Using the Gutenberg Block
If you use the WordPress block editor, you can add the payment form as a block instead of a shortcode.- In the block editor, click the (+) button to add a new block.
- Search for Novac Payment Form.
- Add the block to your page.
- Use the block inspector panel on the right to configure:
- Fixed amount (optional)
- Currency
- Payment description
- Button text
Managing Transactions
All payments processed through the plugin are recorded automatically and accessible from the WordPress admin.- Go to Novac Payments → Transactions.
- Each transaction entry shows:
- Transaction reference
- Customer information
- Amount and currency
- Payment status
- Date and time
- Use the search bar to look up transactions by email, name, or reference.
- Use the status filter to narrow results by Successful, Pending, or Failed.
- Navigate large transaction lists using pagination.
Payment Flow
Understanding the full payment lifecycle helps with debugging and verifying your integration.API Reference
Settings Endpoints
Use these REST API endpoints to read or update your plugin settings programmatically.| Method | Endpoint | Description |
|---|---|---|
GET | /wp-json/novac/v1/settings | Retrieve current plugin settings |
POST | /wp-json/novac/v1/settings | Update plugin settings |
Transaction Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /wp-json/novac/v1/transactions | List all transactions with pagination, search, and filtering |
GET | /wp-json/novac/v1/transactions/{id} | Retrieve a single transaction by ID |
Advanced Usage
Database
The plugin automatically creates awp_novac_transactions table in your WordPress database when activated. This table stores the following for each transaction:
- Transaction reference
- Customer information (email, name)
- Amount and currency
- Payment status and method
- Metadata and timestamps
Roles & Permissions
The plugin introduces custom capabilities for fine-grained access control, and creates two dedicated roles so you can grant team members access without giving them full admin rights. Custom capabilities:| Capability | Description |
|---|---|
novac_manage_settings | Configure API keys and plugin settings |
novac_view_transactions | View the transactions list |
novac_refund_transactions | Process refunds (reserved for future use) |
novac_export_transactions | Export transaction data (reserved for future use) |
| Role | Access |
|---|---|
| Novac Payment Manager | Full access to all plugin features |
| Novac Finance Analyst | View and export transactions only |
Development
Building Assets
The plugin’s admin interface and Gutenberg block are built from source using Node.js and Composer. Run the following commands from the plugin root to compile all assets:- Admin React app →
includes/admin/build/ - Gutenberg block →
includes/blocks/build/
File Structure
novac
includes
admin
api
blocks
database
frontend
users
webhooks
frontend
novac.php