diff --git a/lib/three_d_secure_repo.rb b/lib/three_d_secure_repo.rb index 7e7a41528dfc9132afeed49fab5a103590405b41..f16ae63a13513e5057d7cef0efe17da56b06496e 100644 --- a/lib/three_d_secure_repo.rb +++ b/lib/three_d_secure_repo.rb @@ -14,7 +14,15 @@ class ThreeDSecureRepo if !three_d || (three_d.liability_shift_possible && !three_d.liability_shifted) - raise Failed, method.token + raise Failed, method_token(result) + end + end + + def method_token(result) + if result.payment_method + result.payment_method.token + else + result.transaction.credit_card_details.token end end end