На основе статьи 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
3. Устанавливаем модели
python manage.py migrate
5.
python manage.py check_incomings
6. В модель заказа добавляем связь на модель CryptoOrder
crypto_order = models.OneToOneField(CryptoOrder, related_name='order')
@receiver(after_pay_confirmation)
def after_pay(sender, **kwargs):
pass
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)
В планах:
Покрытие тестами
Более функциональный хелпер курсов валют