Giter Site home page Giter Site logo

electra-socialpay's People

Contributors

ivangabriele avatar scibot-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

electra-socialpay's Issues

Request For Comments - Electra Social Pay

Request For Comments - Electra Social Pay

The purpose of this document is to come up with a reviewed and collectively agreed design to implement a Payment System based on ECA and integrated with relevant social media (e.g. twitter, facebook, etc).

Electra Social Pay aims to be a simple, quick and reliable way of exchanging micro payments between members of the ECA community.

A use case scenario

Because there is no specification to adhere to, let's try to come up with a couple of examples of how we envision a ECA Social Payment transaction to happen.
In the youtube video there is an interesting example of a prototype already realised here at Electra.

A ECA user can trigger a payment via twitter, updating their own status with:

!pay @recipient X

This is a simple and yet powerful enough example of how Electra Social Pay should work.

Requirements

In this paragraph we will try to list what could be a simple subset of requirements on which to base Electra Social Payment engine.

Simplicity

Because we want to reach out the broadest possible audience, it is necessary to make ECA Social Payment easy to run.
Users should not have to download any further software (wallets included!) but only register on a Social Payment platform, top up their ECA Social Payment wallet and start sending micro payments on the network.

Speed

Another fundamental requirement is speed. Fortunately, this is already intrinsically embedded in ECA.

Security

The last, but definitely most important aspect is security. Because we're dealing with users funds, it is required to prevent malicious people to compromise the system security and complete payments on the behalf of ECA users.
It would be ideal to structure the ECA Social Payment request into two main parts:

  1. initiate the payment request
  2. confirm the payment

There are multiple (some of which very fancy like a mobile push notifications!) ways of implementing in near-real-time a confirmation process, with a link sent via text message or email being the simplest two.

High Level Solution

In this chapter we will describe a few extensible key components that will compose ECA Social Pay.

ECA Social Payment System

The idea is to create a new platform, possibly hosted in the cloud and developed and maintained by ECA Engineers.
ECA users should be able to signup via email, get assigned a wallet id, top it up with some ECAs, register their twitter handle, and start to send payments to other users.

The key components are:

  • a UI + Wallet + DB to manage users, wallets and funds
  • a payment processor that will handle the actual payments
  • a confirmation service that will manage payment confirmations
  • social media specific listeners/notifiers that will listen for payment requests and notify users with the outcome

In the image below a wonderful diagram hand made of a possible ECA Social Pay architecture.

social-pay

Here there are a few user interactions with ECA Social Pay

flow-1

Feel free to comment or ask questions, once an initial discussion phase is complete and agreed, a more detailed technical resources will be added to this thread.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.