Note: The payment gateway features/functionality are still under development. This document is a guideline for developers who wish to contribute to the project.
Installation and Configuration Instructions
...
- Fineract
- Install the version of Fineract that includes support for the Payment Gateway. Until the payment gateway functionality becomes an approved part of Fineract, you can find the latest code here: https://github.com/conradsp/fineract/tree/payment-gateway-integration
- Install and run Fineract (per the installation instructions). Ensure that the database migration scripts for the payment gateway tables have been installed (the 'mifostenant-default' database should contain the following tables: payment_gateway_config, payment
- Community App
- Install the version of the community app that includes support for the Payment Gateway. The code can be found in this repo: https://github.com/conradsp/community-app/tree/payment-gateway
- Run the Community App. From the Admin→Organization page, select the option for Payment Gateway. On this screen, check the checkbox to enable the gateway, enter a URL for the payment gateway (this is most likely http://localhost:8080/payment-gateway/api/v1). Select a Gateway User - this is the user that will perform the transactions in Fineract when a message comes from the payment gateway.
- Ensure that the Gateway user has Super User role enabled. (Admin→Users, click on username, Edit, assign Super User role to this user and save)
- Payment Gateway
- Detailed instructions on installing the payment gateway can be found on this gist: https://gist.github.com/Sanyam96/8374c7094e6ca4fa4c6f67ec836adeb1
- Clone the payment gateway repo: https://github.com/conradsp/payment-gateway/tree/payment-gateway-core-functionality (*Note: this code will eventually be merged to: https://github.com/openMF/payment-gateway/tree/payment-gateway-core-functionality)
- Currently, the payment gateway should be run from an IDE/IntelliJ. From the IDE terminal:
- change branch: git checkout payment-gateway-core-functionality
- mvn clean install
- Run PaymentGateway.java file as Java Application - PaymentGateway.java
- The payment gateway will run at http://localhost:8080/payment-gateway/api/v1
- Gateway Config and Test App (Note: This app is a testing tool for developers who are working on this project and is not a part of the broader Fineract/Mifos project)
- Clone the Gateway configuration app from this repository: https://github.com/conradsp/GatewayClient
- From the GatewayClient directory, run the following commands:
- yarn install
- yarn start
- The Gateway Client will run at: http://localhost:3100.
- Click on the Configure menu item at the top of the screen. Submit information on the form to configure a vendor in the payment gateway.Data for a Beyonic vendor implementation is as follows:
- Vendor Name: Beyonic
- Callback endpoint: http://test.com (not needed at this point)
- Currency Type: BXC
- Active: checked/true
- Queue Auth Key: any data here is fine
- Vendor API Key: retrieve your API key from your Beyonic account. Contact Ed Cable or Steve Conrad for the Mifos test account information
- Vendor Auth Key: any data here is fine
- Vendor Meta: {'account': <Beyonic account number>} - again, contact Ed Cable or Steve Conrad for Mifos test account information
- Click on the Test menu item to Test the Beyonic integration (more information in testing section below)
- External Vendor (Beyonic)
- You can sign up for a Beyonic account for testing. Use the API key and account data for your account in the vendor configuration.
- For API documentation, visit https://apidocs.beyonic.com/
- To create new test user accounts and view transactions that have been executed on these test accounts, visit https://app.beyonic.com/
...