diff --git a/payments/payment_gateways/doctype/paypal_settings/paypal_settings.py b/payments/payment_gateways/doctype/paypal_settings/paypal_settings.py index de15650..3eacff0 100644 --- a/payments/payment_gateways/doctype/paypal_settings/paypal_settings.py +++ b/payments/payment_gateways/doctype/paypal_settings/paypal_settings.py @@ -367,7 +367,11 @@ def manage_recurring_payment_profile_status(profile_id, action, args, url): response = make_post_request(url, data=args) - if response.get("ACK")[0] != "Success": + # error code 11556 indicates profile is not in active state(or already cancelled) + # thus could not cancel the subscription. + # thus raise exception only if error code not quals to 11556 + + if response.get("ACK")[0] != "Success" and response.get("L_ERRORCODE0", [])[0] != '11556': frappe.throw(_("Failed while amending subscription")) @frappe.whitelist(allow_guest=True)