コード例 #1
0
def activate_pay_card(account_id,  card_id, pin):

    now = datetime.datetime.now()
    
    return_value = "CARD_NOT_FOUND"
    account = Account.objects.get(id=account_id)
    if pin and card_id and account_id:
        return_value = ''
        if settings.HOTSPOT_ONLY_PIN:
            card = Card.objects.filter(pin=pin,  disabled=False)
        else:
            card = Card.objects.filter(type=0, id=card_id, pin=pin,  disabled=False)
        if card:
            card = card[0]            
            if not card.salecard: 
                return_value = "CARD_NOT_SOLD"                
            elif card.activated: 
                return_value = "CARD_ALREADY_ACTIVATED"                
            elif card.start_date>now or card.end_date<now: 
                return_value =  "CARD_EXPIRED"
            if not return_value:           
    
                transaction = Transaction()
                  
                transaction.bill = _(u'Активация карты оплаты')
                transaction.account=account
                transaction.type = TransactionType.objects.get(internal_name='PAY_CARD')
                
                transaction.approved = True
                transaction.summ=card.nominal
                transaction.created=now
                transaction.save()            
                
                card.activated=now
                card.activated_by=account
                card.save()
                return_value = "CARD_ACTIVATED"
        else:
             return_value =  "CARD_NOT_FOUND"
            
              
    return return_value
コード例 #2
0
ファイル: cardlib.py プロジェクト: brat002/ebscab
def activate_pay_card(account_id,  card_id, pin):

    now = datetime.datetime.now()
    
    return_value = "CARD_NOT_FOUND"
    account = Account.objects.get(id=account_id)
    if pin and (settings.HOTSPOT_ONLY_PIN or card_id) and account_id:
        return_value = ''
        if settings.HOTSPOT_ONLY_PIN:
            card = Card.objects.filter(pin=pin,  disabled=False)
        else:
            card = Card.objects.filter(type=0, id=card_id, pin=pin,  disabled=False)
        if card:
            card = card[0]            
            if not card.salecard and not settings.HOTSPOT_ONLY_PIN:
                return_value = "CARD_NOT_SOLD"                
            elif card.activated: 
                return_value = "CARD_ALREADY_ACTIVATED"                
            elif card.start_date>now or card.end_date<now: 
                return_value =  "CARD_EXPIRED"
            if not return_value:           
    
                transaction = Transaction()
                  
                transaction.bill = _(u'Активация карты оплаты')
                transaction.account=account
                transaction.type = TransactionType.objects.get(internal_name='PAY_CARD')
                
                transaction.approved = True
                transaction.summ=card.nominal
                transaction.created=now
                transaction.save()            
                
                card.activated=now
                card.activated_by=account
                card.save()
                return_value = "CARD_ACTIVATED"
        else:
             return_value =  "CARD_NOT_FOUND"
            
              
    return return_value
コード例 #3
0
ファイル: views.py プロジェクト: ra3sad/ExpertBilling
def index(request):
    message=''
    if request.method == 'POST':
        form = PayForm(request.POST)
        if form.is_valid():
            username=form.cleaned_data['username']
            password=form.cleaned_data['password']
            summ=form.cleaned_data['summ']
            account_username=form.cleaned_data['account_username']
            description=form.cleaned_data['description']
            promise=form.cleaned_data['promise']
            try:
                user=SystemUser.objects.get(username=username, text_password=password)
            except:
                return {'form':form,'message':u'Пользователя с таким логином и паролем не существует',}

            try:
                account=Account.objects.get(username=account_username)
            except:
                return {'form':form,'message':u'Пользователя с таким логином и паролем не существует',}
            
            t=Transaction()
            t.account=account
            t.type=TransactionType.objects.get(internal_name='MANUAL_TRANSACTION')
            t.approved=True
            t.summ=-1*summ
            t.description=description
            t.created=datetime.datetime.now()
            t.promise=promise
            t.systemuser=user
            t.save()
            account=Account.objects.get(username=account_username)
            
            message=u'Платёж успешно выполнен. Новый баланс пользователя %s' % account.ballance
            
    else:
        form = PayForm()
        
    return {'form':form,'message':message}
コード例 #4
0
ファイル: views.py プロジェクト: ra3sad/ExpertBilling
            </response>
            """ % reciept
            return HttpResponse(response)

        try:
            model = Transaction()
            model.summ = amount
            model.account = account
            model.approved = True
            model.created = payment_date
            model.promise = False
            model.bill = reciept
            model.description = u"Автоматический платёж через систему OSMP пользовательские провайдеры %s" % reciept

            model.type_id = 'OSMP_CUSTOM_BILL'
            model.save()
            response = u"""<?xml version="1.0" encoding="utf-8"?>
            <response>
            <osmp_txn_id>%s</osmp_txn_id>
            <prv_txn>%s</prv_txn>
            <result>0</result>
            <sum>%s</sum>
            <comment>Оплата успешно произведена.</comment>
            </response>
            """ % (
                reciept,
                reciept,
                amount,
            )
            return HttpResponse(response)
        except Exception, e:
コード例 #5
0
ファイル: views.py プロジェクト: brat002/ebscab
            """
            return HttpResponse(response)
        
        try:    
            model=Transaction()
            model.summ=amount
            model.account=account
            model.approved=True
            #model.bill=u'kPay'
            model.created=payment_date
            model.promise=False
            model.bill=reciept
            model.description=u"Автоматический платёж через систему QuickPay %s" % reciept

            model.type_id='QUICKPAY_BILL'
            model.save()
            response=u"""<?xml version="1.0" encoding="utf-8"?>
            <response>
            <code>0</code>
            <message>Оплата успешно произведена.</message>
            </response>
            """
            return HttpResponse(response)
        except Exception, e:
            print e
            import traceback
            traceback.print_exc()
            response=u"""<?xml version="1.0" encoding="utf-8"?>
            <response>
            <code>1</code>
            <message>Ошибка создания платежа</message>
コード例 #6
0
def activate_card(login, pin):
    status_ok = 1
    status_bad_userpassword = 2
    status_card_was_activated =3
    status_bad_card = 4
    now = datetime.datetime.now()
    cur=connection.cursor()
    if login and pin:

        return_status = 0
        
        card = Card.objects.filter(type=2, login=login, pin=pin, salecard__isnull=False, disabled=False)
        if not card: 
            return  status_bad_userpassword      
        if len(card)>1:
            return  status_bad_card
        card=card[0]
        if card.activated or card.start_date>now or card.end_date<now: 
            return  status_card_was_activated
  

        account = Account()
        account.username = login
        account.password = pin
        account.status = 1
        account.created = now
        account.allow_webcab = True
        account.allow_expresscards = True
        account.save()
        
        subaccount = SubAccount()
        subaccount.account = account
        subaccount.username = login
        subaccount.password = pin
        subaccount.ipv4_vpn_pool = card.ippool
        subaccount.nas = card.nas
        subaccount.save()

        ac = AccountTarif()
        ac.account=account
        ac.tarif = card.tarif
        ac.datetime = now
        ac.save()

        transaction = Transaction()
          
        transaction.bill = _(u'Активация карты доступа')
        transaction.account=account
        transaction.accounttarif=ac
        transaction.type =  TransactionType.objects.get(internal_name= 'ACCESS_CARD')
        
        transaction.approved = True
        transaction.tarif=card.tarif
        transaction.summ=card.nominal
        transaction.created=now
        transaction.save()

        card.activated = now
        card.activated_by = account
        card.save()
        return status_ok
                
    return
コード例 #7
0
ファイル: cardlib.py プロジェクト: brat002/ebscab
def activate_card(login, pin):
    status_ok = 1
    status_bad_userpassword = 2
    status_card_was_activated =3
    status_bad_card = 4
    now = datetime.datetime.now()
    cur=connection.cursor()
    if login and pin:

        return_status = 0
        
        card = Card.objects.filter(type=2, login=login, pin=pin, salecard__isnull=False, disabled=False)
        if not card: 
            return  status_bad_userpassword      
        if len(card)>1:
            return  status_bad_card
        card=card[0]
        if card.activated or card.start_date>now or card.end_date<now: 
            return  status_card_was_activated
  

        account = Account()
        account.username = login
        account.password = pin
        account.status = 1
        account.created = now
        account.allow_webcab = True
        account.allow_expresscards = True
        account.save()
        
        subaccount = SubAccount()
        subaccount.account = account
        subaccount.username = login
        subaccount.password = pin
        subaccount.ipv4_vpn_pool = card.ippool
        subaccount.nas = card.nas
        subaccount.save()

        ac = AccountTarif()
        ac.account=account
        ac.tarif = card.tarif
        ac.datetime = now
        ac.save()

        transaction = Transaction()
          
        transaction.bill = _(u'Активация карты доступа')
        transaction.account=account
        transaction.accounttarif=ac
        transaction.type =  TransactionType.objects.get(internal_name= 'ACCESS_CARD')
        
        transaction.approved = True
        transaction.tarif=card.tarif
        transaction.summ=card.nominal
        transaction.created=now
        transaction.save()

        card.activated = now
        card.activated_by = account
        card.save()
        return status_ok
                
    return