Ver a proveniência

[fix] first commit payment transaction status and then run post payment process method

pull/2/head
Saurabh há 7 anos
ascendente
cometimento
4cd7c7c63b
2 ficheiros alterados com 10 adições e 7 eliminações
  1. +6
    -3
      payments/payment_gateways/doctype/paypal_settings/paypal_settings.py
  2. +4
    -4
      payments/payment_gateways/doctype/razorpay_settings/razorpay_settings.py

+ 6
- 3
payments/payment_gateways/doctype/paypal_settings/paypal_settings.py Ver ficheiro

@@ -227,11 +227,14 @@ def confirm_payment(token):
}, "Completed") }, "Completed")


if data.get("reference_doctype") and data.get("reference_docname"): if data.get("reference_doctype") and data.get("reference_docname"):
redirect_url = frappe.get_doc(data.get("reference_doctype"), data.get("reference_docname")).run_method("on_payment_authorized", "Completed")
custom_redirect_to = frappe.get_doc(data.get("reference_doctype"),
data.get("reference_docname")).run_method("on_payment_authorized", "Completed")
frappe.db.commit() frappe.db.commit()


if not redirect_url:
redirect_url = '/integrations/payment-success'
if custom_redirect_to:
redirect_to = custom_redirect_to

redirect_url = '/integrations/payment-success'
else: else:
redirect_url = "/integrations/payment-failed" redirect_url = "/integrations/payment-failed"




+ 4
- 4
payments/payment_gateways/doctype/razorpay_settings/razorpay_settings.py Ver ficheiro

@@ -108,10 +108,7 @@ class RazorpaySettings(Document):
until it is explicitly captured by merchant. until it is explicitly captured by merchant.
""" """
data = json.loads(self.integration_request.data) data = json.loads(self.integration_request.data)

settings = self.get_settings(data) settings = self.get_settings(data)
redirect_to = data.get('notes', {}).get('redirect_to') or None
redirect_message = data.get('notes', {}).get('redirect_message') or None


try: try:
resp = make_get_request("https://api.razorpay.com/v1/payments/{0}" resp = make_get_request("https://api.razorpay.com/v1/payments/{0}"
@@ -119,7 +116,7 @@ class RazorpaySettings(Document):
settings.api_secret)) settings.api_secret))


if resp.get("status") == "authorized": if resp.get("status") == "authorized":
self.integration_request.db_set('status', 'Authorized', update_modified=False)
self.integration_request.update_status(data, 'Authorized')
self.flags.status_changed_to = "Authorized" self.flags.status_changed_to = "Authorized"


else: else:
@@ -132,6 +129,9 @@ class RazorpaySettings(Document):


status = frappe.flags.integration_request.status_code status = frappe.flags.integration_request.status_code


redirect_to = data.get('notes', {}).get('redirect_to') or None
redirect_message = data.get('notes', {}).get('redirect_message') or None

if self.flags.status_changed_to == "Authorized": if self.flags.status_changed_to == "Authorized":
if self.data.reference_doctype and self.data.reference_docname: if self.data.reference_doctype and self.data.reference_docname:
custom_redirect_to = None custom_redirect_to = None


Carregando…
Cancelar
Guardar