Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

...

  1. Fineract
    1. 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
    2. 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
  2. Community App 
    1. 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
    2. 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. 
    3. 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)
  3. Payment Gateway 
    1. Detailed instructions on installing the payment gateway can be found on this gist: https://gist.github.com/Sanyam96/8374c7094e6ca4fa4c6f67ec836adeb1
    2. 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)
    3. Currently, the payment gateway should be run from an IDE/IntelliJ. From the IDE terminal:
      1. change branch: git checkout payment-gateway-core-functionality
      2. mvn clean install
      3. Run PaymentGateway.java file as Java Application - PaymentGateway.java
    4. The payment gateway will run at http://localhost:8080/payment-gateway/api/v1
  4. 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)
    1. Clone the Gateway configuration app from this repository: https://github.com/conradsp/GatewayClient
    2. From the GatewayClient directory, run the following commands:
      1. yarn install
      2. yarn start
    3. The Gateway Client will run at: http://localhost:3100.
    4. 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:
      1. Vendor Name: Beyonic
      2. Callback endpoint: http://test.com (not needed at this point)
      3. Currency Type: BXC
      4. Active: checked/true
      5. Queue Auth Key: any data here is fine
      6. Vendor API Key: retrieve your API key from your Beyonic account. Contact Ed Cable or Steve Conrad for the Mifos test account information
      7. Vendor Auth Key: any data here is fine
      8. Vendor Meta: {'account': <Beyonic account number>} - again, contact Ed Cable or Steve Conrad for Mifos test account information
    5. Click on the Test menu item to Test the Beyonic integration (more information in testing section below)
  5. External Vendor (Beyonic)
    1. You can sign up for a Beyonic account for testing. Use the API key and account data for your account in the vendor configuration.
    2. For API documentation, visit https://apidocs.beyonic.com/
    3. To create new test user accounts and view transactions that have been executed on these test accounts, visit https://app.beyonic.com/

...