=== Payment Forms for Monnify ===
Contributors: monnify
Tags: monnify, forms, payments, donation
Requires at least: 5.0
Tested up to: 7.1
Stable tag: 1.0.6
Requires PHP: 7.4
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Create forms with multiple input fields and have your users pay before submission via Monnify.

== Description ==

With this plugin you can create forms with multiple input fields and have your users pay before submission via the Monnify payment gateway.

= For Churches and NGO's =

Setting the form payment amount to '0' allows the user to make a custom payment of any amount.

= For selling items =

To create a form to allow your users buy or pay for value in quantity.

*  Set quantified to be 'yes'.
*  Set the max quantity a user can buy.

= Plugin Features =

*  Custom form fields (text, textarea, file upload, checkbox, radio, select, datepicker)
*  Fixed, minimum, or variable-dropdown pricing
*  Quantity and inventory tracking
*  Invoice, receipt and site-owner receipt emails
*  Webhook listener for asynchronous transfer/USSD payment confirmation
*  Payments admin list with CSV export

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/payment-forms-for-monnify` directory, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the 'Plugins' screen in WordPress.
3. Go to Monnify Forms > Settings and enter your Monnify API Key, Secret Key and Contract Code.

== External services ==

This plugin connects to third-party services to process form payments and render typography.

**Monnify (payment processing)**

* This plugin loads the Monnify Checkout JavaScript SDK (`https://sdk.monnify.com/plugin/monnify.js`) on any page containing a payment form, and uses it to open Monnify's hosted checkout modal in-page. Loading this SDK directly from Monnify is required so payment card handling always runs Monnify's current, PCI-compliant code.
* When a buyer submits a form, the plugin sends the payment amount, currency, the buyer's name and email address, a payment reference, and the site's Monnify API key/contract code to the Monnify SDK to initialize the transaction. The buyer enters card, bank transfer, or USSD details directly with Monnify inside the checkout modal.
* The plugin's webhook endpoint receives asynchronous payment notifications (bank transfer/USSD confirmations) from Monnify, and separately calls Monnify's API (`api.monnify.com` in Live mode, `sandbox.monnify.com` in Test mode) to verify transaction status server-side.
* Service provider: Monnify ([Terms of Service](https://monnify.com/terms), [Privacy Policy](https://monnify.com/privacy))

**Google Fonts (typography)**

* Form pages load the "Open Sans" font from Google Fonts (`fonts.googleapis.com`) for on-site styling. No personal data is sent beyond the site visitor's own request for the font file (e.g. IP address, as with any external resource). This font is not loaded in emails sent to form submitters.
* Service provider: Google ([Terms of Service](https://policies.google.com/terms), [Privacy Policy](https://policies.google.com/privacy))

== Changelog ==

= 1.0.0 =
* Initial release.
