def handle_3ds_response(payment, response)
      if response.success?
        payment.update_columns(state: 'pending', response_code: response.psp_reference)
        payment.update_adyen_card_data
      else
        raise Authorize3DSecureError
      end
    end
def handle_3ds_response(payment, response)
      if response.success?
        payment.update_columns(state: 'pending', response_code: response.psp_reference)
        payment.update_adyen_card_data
      else
        raise Authorize3DSecureError
      end
    end
3DS responses result in a `failed` ActiveMerchant::Billing::Response, which
 will cause the payment to be in the `failed` state. To counteract this,
 we update the column without callbacks when we successfully authorize.