import logging import os import requests from yandex_money.models import Payment from finance.models import InvoiceRebilling from lms import celery_app from django.conf import settings logger_yandex = logging.getLogger('yandex_money') @celery_app.task def periodic_billing(): logger_yandex.info("start periodic billing task") # for invoice in InvoiceRebilling.objects.filter(method='Y').exclude(status='F'): # # user = invoice.bill.user # yandex_pay = Payment.objects.create( # order_amount=invoice.price, # customer_number=user.id, # user=user, # cps_email=user.email # ) # invoice.yandex_pay = yandex_pay # invoice.save() # # repeat_card_payment(invoice) def repeat_card_payment(invoice): resp = requests.post(settings.YANDEX_MONEY_MWS_URL + 'repeatCardPayment', data={ 'clientOrderId': invoice.id, # уникальное возрастающее целое число 'invoiceId': invoice.key, 'amount': invoice.price, 'orderNumber': invoice.yandex_pay.order_number }, cert=( os.path.join(settings.SSL_ROOT, 'skillbox.cer'), os.path.join(settings.SSL_ROOT, 'skillbox.key') ), verify=os.path.join(settings.SSL_ROOT, 'yamoney_chain.cer')) logger_yandex.info(resp.text)