Jump to content

django-cryptocoin - прием bitcoin, litecoin, novacoin и т.д.


quantum13

Recommended Posts

Posted

Добрый день.
 
На основе статьи http://btcsec.com/bitcoin_receive_as_payment/ набросал батарейку для django для приема криптовалют на сайте.
 
Теоретически поддерживаются все валюты с JSON-RPC интерфейсом, поддерживающим команды getnewaddress и getreceivedbyaddress, практически проверял с bitcoin, litecoin и novacoin
 
Репозиторий проекта https://github.com/quantum13/django-cryptocoin
Пакет на pypi https://pypi.python.org/pypi/django-cryptocoin
 
Тестовое приложение - чат с оплатой за постинг сообщений https://github.com/quantum13/django-crypto-paid-chat
 
Краткая инструкция:
1. Устанавливаем приложение pip install django-cryptocoin
2. Добавляем в INSTALLED_APPS 'django-cryptocoin',
3. Устанавливаем модели python manage.py migrate

4. Опции в settings.py по аналогии с https://github.com/quantum13/django-crypto-paid-chat/blob/master/cryptochat/settings_local.py-example

5. python manage.py check_incomings в крон с интервалом 1 минута

6. В модель заказа добавляем связь на модель CryptoOrder

crypto_order = models.OneToOneField(CryptoOrder, related_name='order')

7. Ловим сигнал об оплате. Тут делаем доставку электронного товара, отправку email и т.д.:

@receiver(after_pay_confirmation)
def after_pay(sender, **kwargs):
    pass

8. При переходе к оплате делаем что-то вроде этого:

if form.is_valid():
        crypto_order = CryptoOrder(
            currency=form.cleaned_data['currency'],#валюта
            amount=0.1,#Цена
            date=timezone.now(),#время начала заявки
            redirect_to=reverse('home')# куда редиректить после оплаты
        )
        crypto_order.save()
        form.instance.crypto_order = crypto_order
        form.save()
        return redirect('cryptocoin-order-process', addr=crypto_order.addr)

при этом идет перенаправление на view с приемом оплаты, аналогичным с bitpay. После получения денег пойдет перенаправление на указанный адрес. После подтверждений сетью транзакции будет послан сигнал after_pay_confirmation, который отлавливается выше.

 

 

В планах:

Покрытие тестами

Более функциональный хелпер курсов валют

Posted

Спасибо!  Добавлю тему в закладки. Не могли бы вы проверить, работает ли ваш модуль с EMC ?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...