Hace pocos días tuve un problema parecido descargando paquetes por Composer, y el problema me lo estaba generando el antivirus que me bloqueaba la descarga del paquete. Antes de buscar soluciones mas profundas, primero probaría desactivar por un rato el antivirus e intentar actualizar paquetes de nuevo. Quizás te lo resuelva como me pasó a mi.
Por si no lo has solucionado aún, o alguien se encuentra con lo mismo. Podéis probar:
composer self-update
y luego haceis un composer install a muerte, a ver.
Si eso falla y estáis usando un XAMP o similar en local, probad a bajar una versión de PHP y a ver si cuela. Si estàis en 7.4, probad en 7.3
Si nada funciona y vamos a muerte:
Lo primero, fíjate si el alias app\ es “/silverfox” o “/silverfox/basic”. Parece que no pero ocurre.
Si eso está bien y app\controllers es la ruta silverfox/basic/controllers:
Si estás accediendo a la url /payments
Algo raro con los namespaces hay. Tiene pinta de que en controllers/PaymentsController.php haces un namespace y un use con la misma ruta. Corrige el que sea (sería el use) y extiende la clase.
Si estás accediendo a una url de tu app cualquiera que necesita informacion de PaymentsController, para un dashboard por ejemplo:
Yii te está diciendo que estas intentando usar una instancia de la clase Payments sin que la clase exista en la ruta por defecto, que sería controllers/PaymentsController.php
Lo normal es que el archivo no exista. O que exista pero no esté en esa ruta y tengas que cambiar el use al namespace correcto.
Por ejemplo, si has descomprimido el paquete en /librerias/nombre_del_paquete, en cualquier otro archivo que necesites usarlo:
use app\librerias\nombre_del_paquete\controllers\PaymentsController;
Y en el archivo /librerias/nombre_del_paquete/controllers/PaymentsController.php
Puedes descomprimir cualquier paquete y agregarlo como has hecho, pero debes cambiar los namespaces de todos los archivos php de ese paquete.
Por comentar, si descomprimes un paquete porque composer no quiere funcionar y te hace falta, no debes meterlo en /vendor. Si lo haces debes añadir a mano la entrada en composer para que todo funcione, y cuando instales la app te va a dar el mismo error en tu local.
Si lo descomprimes en una carpeta como /lib o algo así, el namespace de todos los archivos del paquete cambiará de “namespace vendor.…” a “namespace app\lib.…”.
Bueno, a ver si le sirve a alguien. Cualquier duda me comentan.
Hola @MeFuMo gracias por tu respuesta, la verdad no he intentado eso, lo intentare tu sugerencia, si estaba el archivo controller dentro de controllers como estaba accediendo a la ruta correcta si me percate de verificar eso antes, como estaba batallando sobre eso me desespere y lo agregue directamente contruyendolo y me esta funcionando, pero tratare esto del composer update por que no solo con paypal me llega a fallar me llega a fallar casi con lo que sea, estoy usando wamp con php 8, por lo mismo veo como hacer los cambios y realizo los cambios para ir agregando algo, solo tenia unas dudas de paypal pero ya al final lo deja normal el checkout, pero probare tu solución para ver si ya me funciona y lo comentare aqui