From b907de04bd4f725bb052b497c7f1ce2b56857466 Mon Sep 17 00:00:00 2001 From: Brian Simpson Date: Thu, 24 Apr 2014 06:10:31 -0400 Subject: [PATCH] charge_transaction: Check error value from _make_transaction. --- r2/r2/lib/authorize/interaction.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/r2/r2/lib/authorize/interaction.py b/r2/r2/lib/authorize/interaction.py index c9eb7426a..ac3f41b05 100644 --- a/r2/r2/lib/authorize/interaction.py +++ b/r2/r2/lib/authorize/interaction.py @@ -201,20 +201,20 @@ def is_charged_transaction(trans_id, campaign): @export def charge_transaction(user, trans_id, campaign, test=None): bid = Bid.one(transaction=trans_id, campaign=campaign) - if not bid.is_charged(): - bid.charged() - if trans_id < 0: - # freebies are automatically authorized - return True - elif bid.account_id == user._id: - res = _make_transaction(ProfileTransPriorAuthCapture, - bid.bid, user, - bid.pay_id, trans_id=trans_id, - test=test) - return bool(res) + if bid.is_charged(): + return True - # already charged - return True + if trans_id < 0: + success = True + else: + success, res = _make_transaction(ProfileTransPriorAuthCapture, + bid.bid, user, + bid.pay_id, trans_id=trans_id, + test=test) + + if success: + bid.charged() + return success @export