[hotfix] validate payment amount before redirecting to payment gateway

This commit is contained in:
Saurabh
2017-10-17 08:39:00 +05:30
parent 4990d629f9
commit 91c3982d7a

View File

@@ -5,10 +5,25 @@
from __future__ import unicode_literals
import frappe
from frappe.model.document import Document
from frappe.utils import add_days, add_years, nowdate, getdate
from frappe.utils import add_days, add_years, nowdate, getdate, cint, fmt_money
from frappe import _
import foundation
currency_wise_membership_plan_mapper = {
"Gold": {
"USD": 5000,
"INR": 300000,
},
"Silver": {
"USD": 1500,
"INR": 100000,
},
"Individual": {
"USD": 200,
"INR": 10000,
}
}
class Membership(Document):
def validate(self):
member_name = frappe.get_value('Member', dict(email=frappe.session.user))
@@ -61,3 +76,14 @@ class Membership(Document):
"member": self.member,
"show_in_website": 1
}).insert(ignore_mandatory=True, ignore_permissions = True)
def validate_payment(self):
membership_fees = currency_wise_membership_plan_mapper\
.get(self.membership_type, {}).get(self.currency)
if cint(membership_fees) != cint(self.amount):
formated_membership_fees = fmt_money(membership_fees, precision=0, currency=self.currency)
frappe.msgprint("For Membership Type: {0}, the fees are {1}".format(self.membership_type,
formated_membership_fees), raise_exception=frappe.ValidationError,
title="Validate Payment Amount", indicator='red')