def client
      # se intenta encontrar un cliente en payu con el campo payu_customer_id del usuario
      client = PayuLatam::Client.new(@current_user.payu_customer_id)
      # todas las peticiones del modulo eredan de request, eso da acceso al metodo success? indica si sale bien o no
      if client.success?
        # en caso de encontrar el usuario se llena la variable @client con la instancia de clase PayuLatam::Client
        @client = client
      else
        # si el usuario aun no es cliente en payu. se procede a crearlo
        # se sobreescriben los params con los valores del usuario
        client.params[:fullName] = @current_user.name
        client.params[:email] = @current_user.email
        client.create! # llamado al metodo creacion
        if client.success?
          # si la creacion es exitosa se almacena en la variable @client
          @client = client
          # El cliente ha sido creado en payu, esto retorna el id en payu del usuario
          # ese id lo asignamos al usuario en la BD
          @current_user.update_attribute(:payu_customer_id, @client.resource['id'])
        else
          # si la creacion falla, se lanza un error con el mensaje necesario
          # este error es interceptado y controlado
          raise StandardError, 'Error creando cliente/customer: '+ client.error.to_s
        end
      end
    end
def client
      # se intenta encontrar un cliente en payu con el campo payu_customer_id del usuario
      client = PayuLatam::Client.new(@current_user.payu_customer_id)
      # todas las peticiones del modulo eredan de request, eso da acceso al metodo success? indica si sale bien o no
      if client.success?
        # en caso de encontrar el usuario se llena la variable @client con la instancia de clase PayuLatam::Client
        @client = client
      else
        # si el usuario aun no es cliente en payu. se procede a crearlo
        # se sobreescriben los params con los valores del usuario
        client.params[:fullName] = @current_user.name
        client.params[:email] = @current_user.email
        client.create! # llamado al metodo creacion
        if client.success?
          # si la creacion es exitosa se almacena en la variable @client
          @client = client
          # El cliente ha sido creado en payu, esto retorna el id en payu del usuario
          # ese id lo asignamos al usuario en la BD
          @current_user.update_attribute(:payu_customer_id, @client.resource['id'])
        else
          # si la creacion falla, se lanza un error con el mensaje necesario
          # este error es interceptado y controlado
          raise StandardError, 'Error creando cliente/customer: '+ client.error.to_s
        end
      end
    end
inicializa la clase actual
 recibe los params del contexto que se envian desde el subscription_interceptor
 recibe el current_user(active_record)
 crea o carga el cliente en payu
 se usa la informacion del curren_user para generar un cliente en payu en caso de no existir
 se llena la variable @client con la respuesta de payu api