GithubHelp home page GithubHelp logo

fudong1127 / coinkite-real-time-invoice Goto Github PK

View Code? Open in Web Editor NEW

This project forked from petertodd/coinkite-real-time-invoice

0.0 1.0 0.0 868 KB

Open Source Bitcoin Checkout and Invoice System

Home Page: https://ck-rt-invoice.appspot.com/

License: MIT License

Makefile 0.09% Python 95.79% JavaScript 0.75% HTML 3.38%

coinkite-real-time-invoice's Introduction

Bitcoin Checkout and Invoice System

This is a Google App Engine demo project, showing a Bitcoin (or Litecoin or BlackCoin) checkout and invoicing system with live quotes.

It produces nice-looking QR and BIP32-compliant payment links for the amount, and has the customary time-limit, with animated count down, to indicate the exchange rate quote timeout.

Most important of all, real-time sensing of completed payment is demonstrated: Once the payer sends a transaction to the pubkey, the invoice immediately clears and thanks the payer.

Other features:

  • Support all fiat currencies rates from Coinkite, plus all cryptos.
  • QR codes rendered directly into the page's HTML as SVG objects (faster, resolution independent).
  • Bootstrap v3 for responsive design: works on iPhones and desktops.
  • Demonstrates the Coinkite python API library (ckapi) on GAE.
  • Open source, so run with it!

Learn more about Coinkite's API here and visit the Coinkite Main Site to open your account today!

The Demo

https://ck-rt-invoice.appspot.com

See a live Bitcoin Invoice demo here. (The data shown is placeholder, so don't try to pay it!)

Litecoin and Blackcoin examples can be reached from the site home page.

Example Invoice

Example Invoice

Responsive Layout

iPhone Invoice

Making a New Invoice

Making new invoices

How To Run Locally

Clone this repo:

git clone [email protected]:coinkite/coinkite-real-time-invoice.git

Then update the submodules:

git submodule update

Get an API key for your Coinkite account. It should have recv, read and events permissions and access to the related accounts. Edit settings.py to insert your API key for it to use.

Then run Google AppEngine... (this can also be done via their GUI).

dev_appserver.py app.yaml
open http://localhost:8080

Usage

Go to /make to see a list of invoices and their status. You may also create new invoices on that page, simply by specifying an amount and currency type.

Invoices are presented at /invoice/<token> where token is a random code. This is the URL you would give out to your customers via email or whatever.

Code Layout

  • static/ Static assets: CSS and Javascript files.
  • templates/ HTML templates (Jinja2) format
  • app.yaml AppEngine configuration
  • index.yaml GAE indexing
  • lib/ Python modules, loaded as submodules with symlinks
  • main.py Mainline code.
  • models.py Database models (one -- an invoice)
  • settings.py Coinkite API keys.

Confirmations

This system works on zero-confirmation (in BTC), which isn't appropriate for real money. It should have different messaging for zero and one confirmations and fully-confirmed amounts. Of course, you want to acknowledge the payment on zero confirmation, but you shouldn't ship any goods without at least one confirmation.

More about Coinkite

Join The Most Powerful Bitcoin Platform

Coinkite is the leading bitcoin wallet with multi-signature, bank-grade security, developer's API and hardcore privacy.

Get Your Account Today!

coinkite-real-time-invoice's People

Contributors

doc-hex avatar nvk avatar

Watchers

 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.