Skip to content

p2ppsr/gateway

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gateway

Simple Bitcoin Payments

Payment Server and Payment Buttons for Bitcoin SV

A staging deployment of the master branch is at staging-app.gateway.cash and the production branch is deployed to app.gateway.cash.

Initial Open Source Project ToDo (Help build Gateway.cash v2.0 on BSV!)

We define a new open-source ecosystem component, a Payment Server. It is similar to the former Gateway project from the BCH days in 2018:

  • An Express server that connects to a database
  • Allows creating Payment Buttons
  • Allows submitting payments tto payment buttons
  • Allows withdrawing funds by button owners after payment is received
  • Hosts a frontend where payment buttons can be generated
  • Hosts a JavaScript for website injection of Payment Buttons
  • Payee can see all payments
  • Prompts for MNC install when button clicked by user
  • Prompts for MNC install to use the Payment Server
  • Allows button customization on the frontend (style/appearance, button text)
  • Allows denominations of a currency for the BSV payment
  • Buttons clicked can call a client-side callback after submitting payment to the payment server
  • Payment submission can be wired up to various actions like sending emails to payee
  • Admin dashboard for Payment Server admin, to configure server parameters like private key and Sendgrid credentials for email notifications
  • Admin dashboard enables owner to delegate other identity keys of Metanet users as server admins
  • Admin dashboard enables admins to enforce a fee on all payments through the server
  • Support for WebHooks that call back to a custom URL as a Payment Action, authenticating with Authrite
  • Support for bearer token authentication of WebHooks if Authrite is not enabled on the target server
  • Expose UI of single-use vs. multi-use buttons
  • Clean up the UI and bring it into a somewhat decent state in terms of styling

Dev docs

Check API.md and SCHEMA.md.

First, run a local MySQL with docker:

docker run --name mysql-gateway-server -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=gateway -e MYSQL_USER=gateway -e MYSQL_PASSWORD=gateway123 -v mysql-gateway-data:/var/lib/mysql -p 3306:3306 -d mysql:latest

Then, set up and create your .env file with npm run setup.

Finally, you can run your dev server with npm run dev, modify your routes and components. Live-reload should be supported.

Build the payment button injector with npm run build:inject and it will compile the code.

License

Open BSV License.

About

Simple Bitcoin Payments

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors