diff --git a/CHANGELOG.md b/CHANGELOG.md index b32b43b5d..4164a17a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Next release +- Fix a bug: unable to cancel a PayZen subscription + ## v6.3.38 2025 January 27 - Fix a bug: unable to update product low stock alert diff --git a/lib/pay_zen/service.rb b/lib/pay_zen/service.rb index e9597af0f..6803fdd56 100644 --- a/lib/pay_zen/service.rb +++ b/lib/pay_zen/service.rb @@ -70,7 +70,8 @@ class PayZen::Service < Payment::Service raise "Cannot cancel transaction #{t['uuid']}" unless tr_res['answer']['detailedStatus'] == 'CANCELLED' end rescue PayzenError => e - raise e unless e.details['errorCode'] == 'PSP_010' # ignore if no order + # ignore if no order found and Subscription already canceled. + raise e unless e.details['errorCode'] == 'PSP_010' || e.details['errorCode'] == 'PSP_1099' end # then, we cancel the subscription