コード例 #1
0
ファイル: views.py プロジェクト: Rudy24/modnoemesto
def receive_result(request):
    """ обработчик для ResultURL. """
    data = request.POST if USE_POST else request.GET
    form = ResultURLForm(data)
    if form.is_valid():
        trans = form.cleaned_data['InvId']
        sum = form.cleaned_data['OutSum']
        
        extra_params = form.extra_params()
        user_id = extra_params['user_id']

        # сохраняем данные об успешном уведомлении в базе, чтобы
        # можно было выполнить дополнительную проверку на странице успешного
        # заказа
        user = User.objects.filter(id=user_id).first()
        if not user:
            return HttpResponse('error: bad user_id')
        order = UserOrder(
            user_id=user.id,
            amount=float(sum),
            trans=trans,
        )
        order.save()
        user.cash += order.amount
        user.save()

        return HttpResponse('OK%s' % trans)
    return HttpResponse('error: bad signature')
コード例 #2
0
ファイル: views.py プロジェクト: dgk/modnoemesto
def receive_result(request):
    """ обработчик для ResultURL. """
    data = request.POST if USE_POST else request.GET
    form = ResultURLForm(data)
    if form.is_valid():
        trans = form.cleaned_data['InvId']
        sum = form.cleaned_data['OutSum']

        extra_params = form.extra_params()
        user_id = extra_params['user_id']

        # сохраняем данные об успешном уведомлении в базе, чтобы
        # можно было выполнить дополнительную проверку на странице успешного
        # заказа
        user = User.objects.filter(id=user_id).first()
        if not user:
            return HttpResponse('error: bad user_id')
        order = UserOrder(
            user_id=user.id,
            amount=float(sum),
            trans=trans,
        )
        order.save()
        user.cash += order.amount
        user.save()

        return HttpResponse('OK%s' % trans)
    return HttpResponse('error: bad signature')
コード例 #3
0
ファイル: views.py プロジェクト: Rudy24/modnoemesto
 def action_payment(request, user):
     try:
         params = get_pay_params(request)
     except (ValueError, TypeError):
         return HttpResponse('status=%i' % TRANS_STATUS.INVALID_PARAMS)
     term, trans, amount = params
     trans_count = UserOrder.objects.filter(trans=trans).count()
     if trans_count > 0:
         return HttpResponse('status=%i' % TRANS_STATUS.ALREADY)
     order = UserOrder(
         user_id=user.id,
         term=term,
         trans=trans,
         amount=amount,
     )
     order.save()
     user.cash += order.amount
     user.save()
     return HttpResponse('status=%i&summa=%.2f' % (TRANS_STATUS.SUCCESSFUL, order.amount))
コード例 #4
0
ファイル: views.py プロジェクト: dgk/modnoemesto
 def action_payment(request, user):
     try:
         params = get_pay_params(request)
     except (ValueError, TypeError):
         return HttpResponse('status=%i' % TRANS_STATUS.INVALID_PARAMS)
     term, trans, amount = params
     trans_count = UserOrder.objects.filter(trans=trans).count()
     if trans_count > 0:
         return HttpResponse('status=%i' % TRANS_STATUS.ALREADY)
     order = UserOrder(
         user_id=user.id,
         term=term,
         trans=trans,
         amount=amount,
     )
     order.save()
     user.cash += order.amount
     user.save()
     return HttpResponse('status=%i&summa=%.2f' %
                         (TRANS_STATUS.SUCCESSFUL, order.amount))