ebank

General solution of virtual points and aggregate payment in e-commerce stations

The project functions basically meet the requirements and run smoothly. In the ongoing maintenance, you can submit an issue if there is any problem in use

  • The smooth maintenance period has been entered
  • Recommended for small and medium-sized projects

Function of the project is completely open source and have completed all the code and meet the basic needs (service appliance merchant company), will continue to learn from online business project encountered problems such as to optimize project, dev branch will update the demo code, master branch for the stable version, function is still in adjustment and improvement, but already satisfy the small and medium-sized electricity project use, Welcome to read the documentation and use it

Project technology selection

PHP7.1 +

Laravel5.5

Mysql5.7 + / MariaDB

Vue2

MDUI

Vue is used to build the background of the project, which has its own compiled front-end file

The DEMO presentation

Docker sandbox demo address, weekly database cleanup

ebank-demo.thinkms.com

Background Account Password

  • admin
  • 123456

Introduction to the

This electronic banking system integrates two functions

1. Aggregate payment

Converged Pay has been linked to Laravel-Pay

  • Pay treasure to PC
  • Pay treasure to wap
  • Pay treasure to APP
  • Pay treasure reverse sweep
  • Alipay swipe card (reverse scan)
  • Alipay scanning code (scanning)
  • Wechat official account
  • WeChat H5
  • WeChat APP
  • Wechat swiping (reverse scanning)
  • Wechat scan code (forward scan)
  • Wechat mini program payment

The use of return value after all payment methods are called can be viewed in [Unified Order], without the need to see laravel-Pay documents to support the selection of points together with the combined payment (tripartite payment can only be one, internal wallet can be unlimited), to achieve points deduction and other requirements, other tripartite payment need to consult the source code packaging development

2. In-station integration

For detailed API design, each experience of integration will be recorded in the table for easy audit and reconciliation. For details, please refer to the white paper introduction section in the document below.

  1. The project supports a variety of points to realize different business logic of the project. Each point will have a master control board of the system at the beginning for recharge or gift to users
  2. A variety of points can be converted into each other, and the operation of points is collectively called “Transfer”. The addition and subtraction of points must involve a contributor and a contributor, so at the beginning of the project, there will be a control board for deducting the amount from the system balance
  3. There must be a transfer behavior (Reason parameter) in the addition and subtraction records of each transaction of points, and there must be a Reason corresponding to each transaction. For example, the successful withdrawal is 300001, and the red envelope is 300002, which are used for the developer to verify the Chinese definition of this transaction and the account checking, so as to ensure that the balance of users’ points is correct after each transaction
  4. There is no limit for each kind of points to transfer to each other. All you need to do is connect your business needs
  5. more… What is the central bank, what is the system bank, reason meaning, multi-project docking please refer to the project introduction white paper

The document

Read online documentation

github

github

Yards cloud

Yards cloud

The installation

Because the project involves large amount of calculation (over trillions, not bcMath), PHP >= 7.1.12 is required. It is recommended to learn and use Docker + Laradock to build the development environment to avoid the problem that the integer length of PHP calculation becomes 2147483647

Laradock builds development, testing and production environments

Automatic installation under Linux using a Makefile

1. cdEnv // Connect to database and execute statement to CREATE database CREATE SCHEMA 'ebank' DEFAULT CHARACTER SET UTf8MB4 COLLATE utf8mb4_unicode_ci; 3. Edit the. Env file to configure the database, redis, and SMTP, and then run the following command: make && make installCopy the code

Install it manually in Windows

1. cdCREATE SCHEMA 'ebank' DEFAULT CHARACTER SET UTf8MB4 COLLATE utf8mb4_unicode_ci; Env file to configure the database, redis, and SMTP, and then run the following commands: 4. Composer install 5. PHP artisan app:installCopy the code

The last step

Configure nginx access and queue listening:

The ebank_nginx.conf and ebank_supervisor.ini sample files are in the project directory and can be configured by yourself

Development plan

  • [x] SDK encapsulation, connecting to the API merchants issued by using request interfaces, located in the app/Libraries/EBankSdk PHP replication can be used in any other PHP framework, also requires PHP > = 7.1
  • [X] Central system type, multi-project corresponding multi-merchant, points do not interfere with each other, to build a set, multi-project available
  • [x] Payment Key Background Settings, Background > Payment Key Management
  • [x] Merchant interface records out parameters for easy troubleshooting
  • [x] Rich background menus, all using restful apis
  • [] The rate setting can be switched to the downstream channel for docking, corresponding to the change of settlement, and the similar function of four-party payment can be realized
  • [x] Rich charts, today, yesterday user growth, spending, revenue statistics, etc
  • [x] Merchant interface error rate statistics
  • [] Background function points help copywriting
  • [] Interconnect HHXSV5 /laravel-s Optional Resident memory deployment
  • [] Dynamic filtering of report statistics, select drop down to generate corresponding SQL, and form data statistics

Q && A

  • Q1: Why does the amount of the database have numbers like 2147483647
  • A1: The project does not use the BCMath extension. Linux PHP above 7.1.12 has directly supported large sums of addition, subtraction, multiplication and division, etc., while any version of Windows PHP still cannot directly support large sums of calculation. Therefore, it is recommended to use Docker for Windows + Laradock to install the development environment under Windows to avoid the problem of large amount of calculation. Of course, the server can also use Docker + Laradock to build the same production environment
  • Q2: There is a lack of statistical reports, many of which do not make statistics
  • A2: Basic report data statistics can be filtered on the corresponding main page to obtain similar report functions, such as the number of orders placed by a user today, the data to be withdrawn by a user today, etc. Such requirements have been added into the development plan

Example