aerele / bank_api_integration

Frappe application to achieve Bank API integration
GNU General Public License v3.0
58 stars 44 forks source link

Banking API Integration

Frappe application to achieve banking api integration.

Reach us out at hello@aerele.in to connect with our team.

License

GNU/General Public License (v3) (see license.txt)

The Banking API Integration code is licensed as GNU General Public License (v3) and the copyright is owned by Aerele Technologies Pvt Ltd (Aerele) and Contributors.

Here, OBP means Outward bank payment and BOBP means Bulk outward bank payment

Installation

Navigate to your bench folder

cd frappe-bench

Install Banking API Integration App

bench get-app bank_api_integration https://github.com/aerele/bank_api_integration.git
bench --site [site-name] install-app bank_api_integration

Roles and it's permissions

  1. Bank Maker - Able to create OBP and BOBP records.
  2. Bank Checker - Able to approve or reject OBP and BOBP records.

Securities Used

  1. Password based security
  2. OTP based transaction initiation

Doctypes

Bank API Integration

  1. Each bank account should be linked to an bank api integration document in order to access various api's provided by the bank.
  2. Enabling password security adds an extra layer of security before initiating a transaction via BOBP and OBP.
  3. The Test API Provider can be used to test the entire flow. For the unique id values of various responses, please see the get_transaction_status function in the Test API provider implementation

integration

Bulk Outward Bank Payment

  1. Select appropriate options to use this doctype to process bulk payments.
  2. In Outward Bank Payment Details, upload the payment details as a CSV or Excel file.
  3. Once you've saved, you'll see the total number of payments and total payment amount.

bobp

Bulk Outward Bank Payment Summary

bobp_summary

Outward Bank Payment

Select appropriate options to use this doctype to process single payment.

obp

Reject Flow

While rejecting payment, the user need to enter the reason for rejection

reject

After approval of payment, the user needs to enter verification details before initiating the transaction.

verification

Bank API Request Log

For every API request, logs will be created automatically.

request log

Site Config JSON Details

Add the below details to the site_config.json of the site that has Bank API Integration.

"bank_api_integration": {
  "disable_transaction": [],
  "enable_otp_based_transaction": "*",
  "proxies": {
   "ftp": "ftp://112.22.158.85:3001",
   "http": "http://112.22.158.85:3001",
   "https": "https://112.22.158.85:3001"
  }
 }
  1. Disable Transaction - Add "*" if you want to disable transaction for all bank accounts otherwise just include the account number's in a list like [123243234324,324324324]

  2. Enable OTP Based Transaction - Add "*" if you want to enable otp based transaction for all bank accounts otherwise just include the account number's in a list like [123243234324,324324324]

  3. Adding proxies will allow making API requests from different IP's.

** Note: To reduce the attack surface it is recommended to disable the server script for the site that has Bank API Integration.

Show some ❤️ by starring :star: :arrow_up: our repo!