Pārlūkot izejas kodu

[fix] call setup subscription and addons explicitly

pull/2/head
Saurabh pirms 6 gadiem
vecāks
revīzija
0d0d19d1dc
2 mainītis faili ar 10 papildinājumiem un 8 dzēšanām
  1. +10
    -5
      payments/payment_gateways/doctype/paypal_settings/paypal_settings.py
  2. +0
    -3
      payments/payment_gateways/doctype/razorpay_settings/razorpay_settings.py

+ 10
- 5
payments/payment_gateways/doctype/paypal_settings/paypal_settings.py Parādīt failu

@@ -68,7 +68,7 @@ import frappe
import json import json
from frappe import _ from frappe import _
from datetime import datetime 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 six.moves.urllib.parse import urlencode
from frappe.model.document import Document from frappe.model.document import Document
from frappe.integrations.utils import create_request_log, make_post_request, create_payment_gateway 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) @frappe.whitelist(allow_guest=True, xss_safe=True)
def confirm_payment(token): def confirm_payment(token):
try: try:
custom_redirect_to = None
data, params, url = get_paypal_and_transaction_details(token) data, params, url = get_paypal_and_transaction_details(token)


params.update({ params.update({
@@ -285,12 +286,15 @@ def confirm_payment(token):
@frappe.whitelist(allow_guest=True, xss_safe=True) @frappe.whitelist(allow_guest=True, xss_safe=True)
def create_recurring_profile(token, payerid): def create_recurring_profile(token, payerid):
try: try:
custom_redirect_to = None
updating = False
data, params, url = get_paypal_and_transaction_details(token) data, params, url = get_paypal_and_transaction_details(token)


addons = data.get("addons") addons = data.get("addons")
subscription_details = data.get("subscription_details") subscription_details = data.get("subscription_details")


if data['subscription_id'] and addons: if data['subscription_id'] and addons:
updating = True
manage_recurring_payment_profile_status(data['subscription_id'], 'Cancel', params, url) manage_recurring_payment_profile_status(data['subscription_id'], 'Cancel', params, url)


params.update({ params.update({
@@ -302,14 +306,15 @@ def create_recurring_profile(token, payerid):
"BILLINGFREQUENCY": subscription_details.get("billing_frequency"), "BILLINGFREQUENCY": subscription_details.get("billing_frequency"),
"AMT": data.get("amount") if data.get("subscription_amount") == data.get("amount") else data.get("subscription_amount"), "AMT": data.get("amount") if data.get("subscription_amount") == data.get("amount") else data.get("subscription_amount"),
"CURRENCYCODE": data.get("currency").upper(), "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({ params.update({
"PROFILESTARTDATE": datetime.utcfromtimestamp(get_timestamp(starts_at)).isoformat()
"PROFILESTARTDATE": starts_at.isoformat()
}) })


response = make_post_request(url, data=params) response = make_post_request(url, data=params)


+ 0
- 3
payments/payment_gateways/doctype/razorpay_settings/razorpay_settings.py Parādīt failu

@@ -176,9 +176,6 @@ class RazorpaySettings(Document):
return kwargs return kwargs


def get_payment_url(self, **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") integration_request = create_request_log(kwargs, "Host", "Razorpay")
return get_url("./integrations/razorpay_checkout?token={0}".format(integration_request.name)) return get_url("./integrations/razorpay_checkout?token={0}".format(integration_request.name))




Notiek ielāde…
Atcelt
Saglabāt