From f923d66137640dabf207f9476be2c3923dafe22e Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 6 Oct 2016 11:16:49 +0530 Subject: [PATCH] [minor] razorpay try 3 times to authorize --- frappe/integrations/razorpay.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/frappe/integrations/razorpay.py b/frappe/integrations/razorpay.py index 6f5dd76788..c791e9274b 100644 --- a/frappe/integrations/razorpay.py +++ b/frappe/integrations/razorpay.py @@ -147,13 +147,21 @@ class Controller(IntegrationController): if self.integration_request.status != "Authorized": try: - resp = self.get_request("https://api.razorpay.com/v1/payments/{0}" - .format(self.data.razorpay_payment_id), auth=(settings.api_key, - settings.api_secret)) + for tries in xrange(3): + resp = self.get_request("https://api.razorpay.com/v1/payments/{0}" + .format(self.data.razorpay_payment_id), auth=(settings.api_key, + settings.api_secret)) + + if resp.get('status') == 'created': + # just created wait for a few seconds and try again + import time + time.sleep(0.5) + + elif resp.get("status") == "authorized": + self.integration_request.db_set('status', 'Authorized', update_modified=False) + self.flags.status_changed_to = "Authorized" + break - if resp.get("status") == "authorized": - self.integration_request.db_set('status', 'Authorized', update_modified=False) - self.flags.status_changed_to = "Authorized" except: frappe.log_error(frappe.get_traceback()) # failed