Coder Social home page Coder Social logo

crypto-payment-service's Introduction

Crypto Payment Service (CPS)

CPS is a crypto to fiat bridge, connecting crypto paying users to fiat receiving merchants.
Through CPS, users can pay merchants in Crypto, while merchants still receive their payment in Fiat.

flowchart LR
  User(User)-- Crypto -->CPS(CPS)-- Fiat -->Merchant(Merchant)

Virtual Account Payment

Imagine a scenario where Bob is purchasing a book sold by Alice at an ecommerce site called Tokopedia.
Bob wishes to pay using crypto. Alice wishes to receive the payment at her bank account in Fiat money.
Tokopedia supports payment of bank transfer using a virtual account.

In order for Bob to Pay Alice, Bob can use CPS.
Bob will give to CPS the following:

  • bank account number
  • the fiat value of the order
  • and Crypto coins to pay for the order

CPS will receive Crypto from Bob.
CPS will pay Alice in Fiat by bank transfer.

flowchart LR
  Bob(Bob)-- Crypto -->CPS(CPS)-- Fiat -->VirtualAccount(Virtual Account)-- Fiat -->Alice(Alice)  

Prototype

CPS Prototype will consist of

  • Web App
    • User Facing
    • Administrator Dashboard
  • Database

The prototype will support only a few e-commerce sites, and will incrementally add support to others in the future.
The prototype will support only a few Fiat and Crypto currencies, and will incrementally add support to others in the future.

Web App

User Facing

In this web app, a User will be able to submit a PaymentOrder.

A user adds the following information to the form:

  • destBankAccount
  • fiatAmount
  • cryptoCurrency

The Web app automatically calculate the cryptoAmount based on current conversion rate On Submit, the web app prompts the User to send the required cryptoAmount in the selected cryptoCurrency to CPS's crypto wallet.
Once the transfer is complete, the PaymentOrder is sent to Backend to be recorded to CPS's Database

Administrator Dashboard

The administrator dashboard is used to fulfill PaymentOrders

The dashboard will have a list of unprocessed PaymentOrders.
For each PaymentOrder, an administrator checks:

  • if CPS received a transfer of crypto currency in the correct amount and correct currency

If checks passes for a PaymentOrder, the administrator will transfer the fiatAmount to the destBankAccount

Supported Fiat Currencies

  • IDR

Supported Crypto Currencies

  • USDC
  • USDT

Supported e-commerce sites

  • Tokopedia

crypto-payment-service's People

Contributors

kevinjanada avatar

Watchers

James Cloos avatar  avatar

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.