Monnify allows you to receive payments from your customers offline through our available Moniepoint agents.
How It Works
Offline Collection Flow
Monnify offline collections has three product types which are Fixed, Variable and Invoice.
Fixed Product Type
This is a product that has a fixed amount that a customer must pay for a product or service. For example, monthly fixed contribution by a group of people e.t.c
For fixed product type, the amount must be stated by merchant on the monnify platform
Variable Product Type
This is a product that has a flexible amount that a customer can pay for a product or service. For example, variable amount for betting and anyone can bet with any amount e.t.c
For variable product type, you do not specify amount as customer specifies how much they want to pay at the Moniepoint Agency location where collection is done.
Invoice Product Type
This is a product that requires that an invoice be created for every payment that is to be made for a product.
The invoice product type is quite different from the other types in that the invoice doesn’t become fully active on creation on the monnify platform. For an invoice to become active, the monnify Create an Invoice endpoint must be called, and “CASH“ must be specified as a payment method. On successful call, the amount to be paid is tied to the invoice ID generated for the customer and all details a payer/customer needs to provide the Moniepoint agent for offline payment to be possible is provided as a response.
For offline collections integration, the following steps should be taken by Merchants.
The endpoint url’s for payer verification, payment request and payment requery should be placed at the offline payment setup tab under the developers tab on dashboard.
Step 1 - Create A Product
As a merchant, before your customers can make payments offline for the products and services you offer, you have to create that product on your dashboard. Read more on Create A Product
Step 2 - Configure the Payer Verification Endpoint
This endpoint will be called by Monnify to verify a payer/customer who comes to make payment for any service at any Moniepoint agent location. See Payer Verification for details.
Step 3 - Configure the Payment Request Endpoint (Optional)
This endpoint will only be called by Monnify when customer needs to make payment and expects a form of “value token“ in return e.g meter token for bills payment. See Payment Request for details.
Step 4 - Configure the Payment Requery Endpoint (Optional)
This endpoint will be called by Monnify to get the status of a payment request whose status is not known. See Payment Requery for details
Step 5 - Configure Webhook Endpoint for Transaction Completion
This endpoint will be called by Monnify to notify merchant that a payment has been received. See Webhook Implementation for details.
Testing Your Integration
Before doing any test, ensure you are on test mode.
Product Type Testing
You can test your integration by making use of the Monnify simulator. You can find the monnify simulator at the developer section of your dashboard. See image below
Testing for the various product type
Step 1 - You select the product type you want test and then you proceed.
Step 2 - You provide the payment description i.e the reference provided to your customer
Step 3 - For an invoice and fixed product type, the amount specified on creating the product type is displayed while for variable product type, you have to input the amount.
For variable product, see image below,
For fixed product, the amount is grayed out because it was is to be pre-defined. see image below,
For invoice product to be simulated, you’d need to have created an invoice product type and then activated it by calling the Create An Invoice endpoint provided by Monnify. The reference generated will have all the information tied to the payments to be made by customer.
Once an Invoice has been created, you then go back to the offline payment simulator page to test.
For Invoice product, the amount is also grayed out because the amount to be paid is pre-defined. see image below,
Input Invoice Reference Generated by Calling the Create An Invoice Endpoint
The amount tied to the reference is displayed before payment is made