Переглянути джерело

[urgent][fix] PayPal payemnt fix

pull/2/head
Saurabh 8 роки тому
джерело
коміт
86677ff5f8
1 змінених файлів з 11 додано та 5 видалено
  1. +11
    -5
      payments/payment_gateways/doctype/paypal_settings/paypal_settings.py

+ 11
- 5
payments/payment_gateways/doctype/paypal_settings/paypal_settings.py Переглянути файл

@@ -71,9 +71,10 @@ class PayPalSettings(IntegrationService):


def __setup__(self): def __setup__(self):
setattr(self, "use_sandbox", 0) setattr(self, "use_sandbox", 0)
if hasattr(self, "token"):
data = json.loads(frappe.db.get_value("Integration Request", self.token, "data"))
setattr(self, "use_sandbox", frappe._dict(data).use_sandbox or 0)

def setup_sandbox_env(self, token):
data = json.loads(frappe.db.get_value("Integration Request", token, "data"))
setattr(self, "use_sandbox", frappe._dict(data).use_sandbox or 0)


def validate(self): def validate(self):
if not self.flags.ignore_mandatory: if not self.flags.ignore_mandatory:
@@ -202,7 +203,9 @@ def get_service_details():
@frappe.whitelist(allow_guest=True, xss_safe=True) @frappe.whitelist(allow_guest=True, xss_safe=True)
def get_express_checkout_details(token): def get_express_checkout_details(token):
try: try:
doc = frappe.get_doc({"doctype": "PayPal Settings", "token": token})
doc = frappe.get_doc("PayPal Settings")
doc.setup_sandbox_env(token)

params, url = doc.get_paypal_params_and_url() params, url = doc.get_paypal_params_and_url()
params.update({ params.update({
"METHOD": "GetExpressCheckoutDetails", "METHOD": "GetExpressCheckoutDetails",
@@ -236,7 +239,10 @@ def confirm_payment(token):
try: try:
redirect = True redirect = True
status_changed_to, redirect_to = None, None status_changed_to, redirect_to = None, None
doc = frappe.get_doc({"doctype": "PayPal Settings", "token": token})

doc = frappe.get_doc("PayPal Settings")
doc.setup_sandbox_env(token)

integration_request = frappe.get_doc("Integration Request", token) integration_request = frappe.get_doc("Integration Request", token)
data = json.loads(integration_request.data) data = json.loads(integration_request.data)




Завантаження…
Відмінити
Зберегти