示例#1
0
def menu_charge(request, request_id=0):
    if request.method == "POST":
        stripe.api_key = settings.STRIPE_API_KEY
        card = request.POST.get("stripeToken")
        m = []
        food_request = get_request(request_id)
        payment = Payment()
        payment.amount = food_request.total
        payment.paidBy = request.user
        payment.description = "food delivery: "  #+ item_list
        x = payment.amount * 100  #Convert from dolars to cents
        y = (x / 100) * 2.9  #Adjust stripe fees
        print card
        success, instance = payment.charge(int((x + y) + 30), card)
        if not success:
            raise forms.ValidationError("Error: %s" % instance.message)

        else:
            instance.amount = payment.amount
            instance.save()
            food_request.paid = True
            food_request.save()
            return HttpResponseRedirect("/")

    else:
        context = {'user': request.user, 'stripe_key': settings.STRIPE_PUB_KEY}
        return render(request, 'pay.html', context)