Novac
The Novac Payments Plugin allows merchants to accept secure online payments directly on their WordPress or WooCommerce store using Novac’s payment gateway.
by Novac Payments · github.com/novac-finance/novac-wordpress-plugin · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/novac-finance/novac-wordpress-plugin/archive/refs/heads/master.zipWordPress payment plugin for accepting payments via Novac Payment Gateway.
Features
Admin Section
- Settings Page: Configure your Novac API keys (public and secret), mode (test/live), and webhook URL
- Transactions Page: View all transactions with search, filtering, and pagination
- Beautiful, interactive UI built with React and WordPress components
Frontend
- Shortcode:
[novac_payment_form]- Add a payment form anywhere - Gutenberg Block: "Novac Payment Form" block for block editor
- Responsive, modern payment form design
- Real-time payment processing with Novac API
Backend Integration
- Automatic transaction recording in database
- Webhook support for payment verification
- REST API endpoints for managing transactions
- Secure API communication with Novac
Installation
- Upload the plugin folder to
/wp-content/plugins/ - Activate the plugin through the 'Plugins' menu in WordPress
- Navigate to "Novac Payments" in the admin menu
- Configure your API keys and settings
Configuration
API Keys
- Get your API keys from Novac Dashboard
- Go to Novac Payments > Settings
- Enter your Public Key and Secret Key
- Select Mode: Test (for development) or Live (for production)
- Copy the Webhook URL and configure it in your Novac dashboard
Webhook Setup
Configure the webhook URL in your Novac dashboard to receive payment notifications:
https://yoursite.com/?novac-webhook=1
Usage
Using Shortcode
Basic Form (User Enters Amount)
[novac_payment_form]
Fixed Amount Form
[novac_payment_form amount="1000" currency="NGN" description="Product Purchase" button_text="Pay Now"]
Form Customization
[novac_payment_form amount="1000" currency="NGN" description="Product Purchase" button_text="Pay Now" text_color="#F4F4F5" container_color="#111827" button_color="#EAB308" button_text_color="#111827"]
Shortcode Parameters:
amount- Fixed amount (optional, leave empty for user input)currency- Currency code (default: NGN)description- Payment description (default: "Payment")button_text- Button text (default: "Pay Now")text_color- Text Color (default: #111111)container_color- Container Colorbutton_color- Button Colorbutton_text_color- Button Text Color
Using Gutenberg Block
- In the block editor, click the (+) button to add a block
- Search for "Novac Payment Form"
- Add the block to your page
- Configure settings in the block inspector:
- Fixed Amount (optional)
- Currency
- Description
- Button Text
Managing Transactions
- Go to Novac Payments > Transactions
- View all transactions with details:
- Transaction reference
- Customer information
- Amount and currency
- Payment status
- Date and time
- Search transactions by email, name, or reference
- Filter by status (Successful, Pending, Failed)
- Paginate through large transaction lists
Payment Flow
- Customer fills out the payment form
- Form submits to WordPress via AJAX
- WordPress initiates checkout with Novac API
- Customer is redirected to Novac payment page
- Customer completes payment
- Novac sends webhook notification
- WordPress verifies and updates transaction status
- Customer is redirected back with payment status
API Endpoints
Settings
GET /wp-json/novac/v1/settings- Get current settingsPOST /wp-json/novac/v1/settings- Update settings
Transactions
GET /wp-json/novac/v1/transactions- List transactions (with pagination, search, filtering)GET /wp-json/novac/v1/transactions/{id}- Get single transaction
Database
The plugin creates a wp_novac_transactions table to store transaction data:
- Transaction reference
- Customer information (email, name)
- Amount and currency
- Payment status
- Payment method
- Metadata
- Timestamps
Permissions
The plugin adds custom capabilities:
novac_manage_settings- Manage plugin settingsnovac_view_transactions- View transactionsnovac_refund_transactions- Process refunds (for future use)novac_export_transactions- Export transaction data (for future use)
Administrators automatically get all capabilities.
Custom Roles
Two custom roles are created:
- Novac Payment Manager - Full access to all features
- Novac Finance Analyst - View and export transactions only
Development
Building Assets
composer install
npm install
npm run build
This builds:
- Admin React app (
includes/admin/build/) - Gutenberg block (
includes/blocks/build/)
File Structure
novac/
├── includes/
│ ├── admin/ # Admin interface
│ │ ├── src/ # React source
│ │ └── build/ # Compiled admin assets
│ ├── api/ # Novac API client
│ ├── blocks/ # Gutenberg blocks
│ │ ├── src/ # Block source
│ │ └── build/ # Compiled blocks
│ ├── database/ # Database handlers
│ ├── frontend/ # Frontend forms
│ ├── users/ # Roles & capabilities
│ └── webhooks/ # Webhook handlers
├── frontend/
│ ├── css/ # Frontend styles
│ └── js/ # Frontend JavaScript
└── novac.php # Main plugin file
Support
For support, please visit:
License
GNU General Public License v3.0