From 0d0d19d1dc3ede0ca9c1b64334344d4532dfb1a3 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Wed, 26 Sep 2018 19:19:47 +0530 Subject: [PATCH] [fix] call setup subscription and addons explicitly --- .../doctype/paypal_settings/paypal_settings.py | 15 ++++++++++----- .../razorpay_settings/razorpay_settings.py | 3 --- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/payments/payment_gateways/doctype/paypal_settings/paypal_settings.py b/payments/payment_gateways/doctype/paypal_settings/paypal_settings.py index 1c60a2d..58d2c9d 100644 --- a/payments/payment_gateways/doctype/paypal_settings/paypal_settings.py +++ b/payments/payment_gateways/doctype/paypal_settings/paypal_settings.py @@ -68,7 +68,7 @@ import frappe import json from frappe import _ from datetime import datetime -from frappe.utils import get_url, call_hook_method, cint, get_timestamp, cstr, nowdate, date_diff +from frappe.utils import get_url, call_hook_method, cint, get_timestamp, cstr, now, date_diff, get_datetime from six.moves.urllib.parse import urlencode from frappe.model.document import Document from frappe.integrations.utils import create_request_log, make_post_request, create_payment_gateway @@ -249,6 +249,7 @@ def get_express_checkout_details(token): @frappe.whitelist(allow_guest=True, xss_safe=True) def confirm_payment(token): try: + custom_redirect_to = None data, params, url = get_paypal_and_transaction_details(token) params.update({ @@ -285,12 +286,15 @@ def confirm_payment(token): @frappe.whitelist(allow_guest=True, xss_safe=True) def create_recurring_profile(token, payerid): try: + custom_redirect_to = None + updating = False data, params, url = get_paypal_and_transaction_details(token) addons = data.get("addons") subscription_details = data.get("subscription_details") if data['subscription_id'] and addons: + updating = True manage_recurring_payment_profile_status(data['subscription_id'], 'Cancel', params, url) params.update({ @@ -302,14 +306,15 @@ def create_recurring_profile(token, payerid): "BILLINGFREQUENCY": subscription_details.get("billing_frequency"), "AMT": data.get("amount") if data.get("subscription_amount") == data.get("amount") else data.get("subscription_amount"), "CURRENCYCODE": data.get("currency").upper(), - "INITAMT": subscription_details.get("upfront_amount") + "INITAMT": data.get("upfront_amount") }) - starts_at = subscription_details.get("start_date") or nowdate() - status_changed_to = 'Completed' if subscription_details.get("upfront_amount") else 'Verified' + starts_at = get_datetime(subscription_details.get("start_date")) or frappe.utils.now_datetime() + status_changed_to = 'Completed' if data.get("starting_immediately") or updating else 'Verified' + #"PROFILESTARTDATE": datetime.utcfromtimestamp(get_timestamp(starts_at)).isoformat() params.update({ - "PROFILESTARTDATE": datetime.utcfromtimestamp(get_timestamp(starts_at)).isoformat() + "PROFILESTARTDATE": starts_at.isoformat() }) response = make_post_request(url, data=params) diff --git a/payments/payment_gateways/doctype/razorpay_settings/razorpay_settings.py b/payments/payment_gateways/doctype/razorpay_settings/razorpay_settings.py index 398a7e6..064d509 100644 --- a/payments/payment_gateways/doctype/razorpay_settings/razorpay_settings.py +++ b/payments/payment_gateways/doctype/razorpay_settings/razorpay_settings.py @@ -176,9 +176,6 @@ class RazorpaySettings(Document): return kwargs def get_payment_url(self, **kwargs): - settings = self.get_settings(kwargs) - kwargs = self.prepare_subscription_details(settings, **kwargs) - integration_request = create_request_log(kwargs, "Host", "Razorpay") return get_url("./integrations/razorpay_checkout?token={0}".format(integration_request.name))