Example #1
0
 def test_created_invoice_can_provide_a_bluetooth_bitcoin_uri(self):
     bitpay_provider = BitPayProvider(TEST_API_KEY)
     invoice = bitpay_provider.create_invoice(42, 'EUR')
     bitcoin_uri_normal = invoice.get_bitcoin_uri()
     bitcoin_uri = invoice.get_bitcoin_uri_with_bluetooth_address(
             '00:11:22:33:44:55')
     self.assertIn('bt%3A001122334455', bitcoin_uri)
Example #2
0
#!/usr/bin/env python

from bitpayprovider import BitPayProvider
from config import read_api_key

api_key = read_api_key()
if not api_key:
    raise Exception("Unable to load API key.")

bitpay_provider = BitPayProvider(api_key)
invoice = bitpay_provider.create_invoice(0.01, 'EUR')

print "URL: %s" % invoice.get_url()
print "Bitcoin URI: %s" % invoice.get_bitcoin_uri()
print "Event token: %s" % invoice.get_event_token()
Example #3
0
 def test_created_invoice_has_its_payment_request(self):
     bitpay_provider = BitPayProvider(TEST_API_KEY)
     invoice = bitpay_provider.create_invoice(42, 'EUR')
     self.assertTrue(len(invoice.get_payment_request()), 128)
Example #4
0
 def test_can_watch_and_stop_watching_an_invoice(self):
     bitpay_provider = BitPayProvider(TEST_API_KEY)
     invoice = bitpay_provider.create_invoice(42, 'EUR')
     invoice.watch(callback = lambda status:status)
     invoice.stop_watching()
Example #5
0
 def test_created_invoice_knows_its_event_token(self):
     bitpay_provider = BitPayProvider(TEST_API_KEY)
     invoice = bitpay_provider.create_invoice(42, 'EUR')
     self.assertTrue(len(invoice.get_event_token()) > 16)
Example #6
0
 def test_created_invoice_knows_its_bip70_url(self):
     bitpay_provider = BitPayProvider(TEST_API_KEY)
     invoice = bitpay_provider.create_invoice(42, 'EUR')
     self.assertTrue(invoice.get_bip70_url().startswith('http'))
Example #7
0
 def test_creating_a_simple_invoice_is_possible(self):
     bitpay_provider = BitPayProvider(TEST_API_KEY)
     invoice = bitpay_provider.create_invoice(0.05, 'EUR')
     self.assertTrue(invoice.get_url().startswith('https://bitpay.com'),
             "no BitPay URL provided for invoice")
Example #8
0
 def test_creating_an_invoice_without_a_key_fails(self):
     bitpay_provider = BitPayProvider()
     with self.assertRaises(Exception):
         bitpay_provider.create_invoice(42, 'EUR')
Example #9
0
 def test_current_euro_rate_is_nonzero(self):
     bitpay_provider = BitPayProvider()
     euro_rate = bitpay_provider.get_euro_rate()
     self.assertTrue(euro_rate != 0)
Example #10
0
 def test_rejects_connection_without_verified_certificate(self):
     bitpay_provider = BitPayProvider('', API_URL_WITH_IP)
     with self.assertRaises(requests.exceptions.SSLError):
         bitpay_provider.get_euro_rate()
Example #11
0
from bitpayeventsource import STATUS_PAID
from bitpayprovider import BitPayProvider
from bluetoothservice import BluetoothPaymentRequestService, \
        BluetoothTxSubmissionService
from config import read_api_key
from frontend import Frontend
from nfcbroadcast import NFCBroadcast

DEFAULT_CURRENCY = 'EUR'
DEFAULT_AMOUNT = 0.10

api_key = read_api_key()
if not api_key:
    raise Exception("Unable to load API key.")

bitpay_provider = BitPayProvider(api_key)

nfc_broadcast = NFCBroadcast()
nfc_broadcast.start()

invoice_queue = Queue()


def new_invoice_requested():
    invoice_queue.put(None)


frontend = Frontend(frontend_type=Frontend.TYPE_FRONTEND_SMALL_DISPLAY,
                    invoice_request_callback=new_invoice_requested)
frontend.start()