Metadata-Version: 1.1
Name: django-cryptocurrency-payment
Version: 0.1.1
Summary: Simple and flexible pluggable cryptocurrency payment app for django
Home-page: https://github.com/ydaniels/django-cryptocurrency-payment
Author: Yomi Daniel
Author-email: yomid4all@gamil.com
License: MIT
Description: =============================
        Django Cryptocurrency Payment
        =============================
        
        .. image:: https://badge.fury.io/py/django-cryptocurrency-payment.svg
            :target: https://badge.fury.io/py/django-cryptocurrency-payment
        
        .. image:: https://travis-ci.org/ydaniels/django-cryptocurrency-payment.svg?branch=master
            :target: https://travis-ci.org/ydaniels/django-cryptocurrency-payment
        
        .. image:: https://codecov.io/gh/ydaniels/django-cryptocurrency-payment/branch/master/graph/badge.svg
            :target: https://codecov.io/gh/ydaniels/django-cryptocurrency-payment
        
        .. image:: https://img.shields.io/badge/python-2.7%7C3.5%7C3.6%7C3.7%7C3.8-blue
           :alt: PyPI - Python Version
        .. image:: https://img.shields.io/badge/django-1.11%7C2.0%7C2.1%7C2.2%7C3.0-blue
           :alt: Django Version
        
        Simple and flexible pluggable cryptocurrency payment app for django. Coins are spendable and reflect on HD wallet like Electrum
        
        Documentation
        -------------
        
        The full documentation is at https://django-cryptocurrency-payment.readthedocs.io.
        
        Quickstart
        ----------
        
        Install Django Cryptocurrency Payment::
        
            pip install django-cryptocurrency-payment
        
        Add it to your `INSTALLED_APPS`:
        
        .. code-block:: python
        
            INSTALLED_APPS = (
                ...
                'cryptocurrency_payment.apps.CryptocurrencyPaymentConfig',
                ...
            )
        
            CRYPTOCURRENCY_PAYMENT = {
                "BITCOIN": {
                    "CODE": "btc",
                    "BACKEND": "merchant_wallet.backends.btc.BitcoinBackend",
                    "FEE": 0.00,
                    "REFRESH_PRICE_AFTER_MINUTE": 15,
                    "REUSE_ADDRESS": False,
                    "ACTIVE": True,
                    "MASTER_PUBLIC_KEY": 'PUT_YOUR_WALLET_MASTER_PUBLIC_KEY',
                    "CANCEL_UNPAID_PAYMENT_HRS": 24,
                    "CREATE_NEW_UNDERPAID_PAYMENT": True,
                    "IGNORE_UNDERPAYMENT_AMOUNT": 10,
                    "IGNORE_CONFIRMED_BALANCE_WITHOUT_SAVED_HASH_MINS": 20,
                    "BALANCE_CONFIRMATION_NUM": 1,
                    "ALLOW_ANONYMOUS_PAYMENT": True,
                }
             }
        
        Add Django Cryptocurrency Payment's URL patterns:
        
        .. code-block:: python
        
            from cryptocurrency_payment import urls as cryptocurrency_payment_urls
        
        
            urlpatterns = [
                ...
                url(r'^', include(cryptocurrency_payment_urls)), #/payment/{pk}/
                ...
            ]
        
        
        Create payment with method
        
        .. code-block:: python
        
            from cryptocurrency_payment.models import create_new_payment
        
            payment = create_new_payment(
            crypto='BITCOIN', #Cryptocurrency from your settings
            fiat_amount=10, #Amount of item in fiat
            fiat_currency='USD', #Fiat currency used to convert to crypto amount
            payment_title=None,  #Title associated with payment
            payment_description=None, #Description associated with payment
            related_object=None, #Generic linked object for this payment -> crypto_payments = GenericRelation(CryptoCurrencyPayment)
            user=None, #User of this payment for non-anonymous payment
            parent_payment=None, #Associate with previous payment
            address_index=None,# Use an address generated from a particular index for this payment e.g same address can always be used for a particular user
            reuse_address=None), #Used previously paid address for this payment
        
        Tasks
        --------
        Run these tasks periodically based on your preferred time using your favorite django task manager
        
        .. code-block:: python
        
         cryptocurrency_payment.tasks.update_payment_status
         cryptocurrency_payment.tasks.cancel_unpaid_payment
         cryptocurrency_payment.tasks.refresh_payment_prices
        
        Features
        --------
        
        * Flexible payment creation that can be linked to other django object
        * Automatically update payment status from blockchain
        * Auto update payment prices if payment is not paid
        * Auto create child payment if payment is underpaid
        * Cancel unpaid payment after a period of time
        * Allow Anonymous payment
        * Pluggable backend to support more cryptocurrency
        
        
        Running Tests
        -------------
        
        Does the code actually work?
        
        ::
        
            source <YOURVIRTUALENV>/bin/activate
            (myenv) $ pip install tox
            (myenv) $ tox
        
        Credits
        -------
        
        Tools used in rendering this package:
        
        *  Cookiecutter_
        *  `cookiecutter-djangopackage`_
        
        .. _Cookiecutter: https://github.com/audreyr/cookiecutter
        .. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage
        
        
        
        
        History
        -------
        
        0.1.0 (2020-03-21)
        ++++++++++++++++++
        
        * First release on PyPI.
        
Keywords: django-cryptocurrency-payment
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Django :: 2.1
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
