diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py
index a1fdb85..d40a870 100644
--- a/erpnext/accounts/doctype/payment_request/payment_request.py
+++ b/erpnext/accounts/doctype/payment_request/payment_request.py
@@ -46,7 +46,6 @@
 					frappe.throw(_('The payment gateway account in plan {0} is different from the payment gateway account in this payment request'.format(plan.name)))
 
 				rate = plan.get_plan_rate()
-				frappe.log_error(rate)
 
 				amount += rate
 
@@ -261,7 +260,7 @@
 
 	def get_subscription_details(self):
 		if self.reference_doctype == "Sales Invoice":
-			subscriptions = frappe.db.sql("""SELECT parent as sub_name FROM `tabSubscription Invoice` WHERE invoice='{0}'""".format(self.reference_name), as_dict=1)
+			subscriptions = frappe.db.sql("""SELECT parent as sub_name FROM `tabSubscription Invoice` WHERE invoice=%s""", self.reference_name, as_dict=1)
 			self.subscription_plans = []
 			for subscription in subscriptions:
 				plans = frappe.get_doc("Subscription", subscription.sub_name).plans
diff --git a/erpnext/erpnext_integrations/stripe_integration.py b/erpnext/erpnext_integrations/stripe_integration.py
index a3a88bb..a35ca28 100644
--- a/erpnext/erpnext_integrations/stripe_integration.py
+++ b/erpnext/erpnext_integrations/stripe_integration.py
@@ -16,9 +16,9 @@
 	stripe.default_http_client = stripe.http_client.RequestsClient()
 
 	try:
-			stripe_settings.integration_request = create_request_log(stripe_settings.data, "Host", "Stripe")
-			stripe_settings.payment_plans = frappe.get_doc("Payment Request", stripe_settings.data.reference_docname).subscription_plans
-			return create_subscription_on_stripe(stripe_settings)
+		stripe_settings.integration_request = create_request_log(stripe_settings.data, "Host", "Stripe")
+		stripe_settings.payment_plans = frappe.get_doc("Payment Request", stripe_settings.data.reference_docname).subscription_plans
+		return create_subscription_on_stripe(stripe_settings)
 
 	except Exception:
 		frappe.log_error(frappe.get_traceback())
@@ -34,9 +34,6 @@
 			plan = frappe.db.get_value("Subscription Plan", payment_plan.plan, "payment_plan_id")
 			items.append({"plan": plan, "quantity": payment_plan.qty})
 
-		frappe.log_error(items, 'Items')
-
-
 		try:
 			customer = stripe.Customer.create(description=stripe_settings.data.payer_name, email=stripe_settings.data.payer_email, source=stripe_settings.data.stripe_token_id)
 			subscription = stripe.Subscription.create(customer=customer, items=items)
