pagseguro / pagseguro-modulo-magento-v2

Módulo de integração para Magento Versão 2.x
Apache License 2.0
35 stars 49 forks source link

Instalação dando erro no autoload #11

Closed nadinycostacurta closed 6 years ago

nadinycostacurta commented 7 years ago

Zerei minha base de dados, instalei um novo magento e instalando o pagseguro como primeiro plugin ocorre o mesmo erro de que ja existe o pagseguro instalado. Para resolver somente tirando a pasta do app/code PÓREM caso opto por esse método de resolução ocorre erro no checkout onde da o seguinte erro: Fatal error: Class 'PagSeguro\Library' not found in /home/estil869/public_html/vendor/pagseguro/magento2/Helper/Library.php on line 105

Eu estava conseguindo instalar perfeitamente o módulo a algumas semanas atras, agora de forma alguma consigo. O que poderia ser?

ramonvic commented 7 years ago

Você precisa Biblioteca pagseguro/php versão 3.0.0-dev, ela utiliza namespaces. A Versão que ele instala é a verão 2.7.1 que não possui namespaces.

Pelo menos nesse erro resolvi dessa forma.

marcioshimoda commented 7 years ago

@nadinycostacurta @ramonvic , estou com o mesmo problema... mas ao adicionar o "pagseguro/php": "3.0.0-dev", o composer me retorna:

- The requested package pagseguro/php 3.0.0-dev exists as pagseguro/php[2.1.7, 2.1.8, 2.1.9, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.3.0, 2.4.0, 2.5.0, 2.6.0,2.7.0, 2.7.1, dev-2.5.0-dev, dev-3.0.0-dev, dev-desenvolvimento, dev-master] but these are rejected by your constraint.

então, tentei com dev-3.0.0-dev e dev-master, mas paro em outro problema: a compra não é finalizada e o magento volta para página de checkout.

analisando o console do chrome, aparece o erro

POST http://localhost/magento/rest/default/V1/carts/mine/payment-information 500 (Internal Server Error)

olhei o log de exceptions e lá eu encontrei 2 erros

main.CRITICAL: exception 'LogicException' with message 'Property "Title" does not have corresponding setter in class "Magento\Quote\Api\Data\PaymentInterface".' in ....

e Next exception 'Exception' with message 'Report ID: webapi-586948c0921b5; Message: Property "Title" does not have corresponding setter in class "Magento\Quote\Api\Data\PaymentInterface".' in ....

alguma idéia do que ocorre?

avellar1975 commented 7 years ago

Não adiciona produto ao carrinho e ao clicar no produto aparece o erro abaixo:

Fatal error: Uncaught Error: Class 'PagSeguro\Library' not found in /var/www/Magento2/vendor/pagseguro/magento2/Helper/Library.php:105 Stack trace: #0 /var/www/Magento2/vendor/pagseguro/magento2/Helper/Library.php(66): UOL\PagSeguro\Helper\Library->loader() #1 /var/www/Magento2/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(93): UOL\PagSeguro\Helper\Library->__construct(Object(Magento\Framework\App\Config), Object(Magento\Framework\Module\ModuleList)) #2 /var/www/Magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(89): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('UOL\PagSeguro\H...', Array) #3 /var/www/Magento2/vendor/magento/framework/ObjectManager/ObjectManager.php(71): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('UOL\PagSeguro\H...') #4 /var/www/Magento2/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(126): Magento\Framework\ObjectManager\ObjectManager->get('UOL\PagSeguro\H...') #5 /var/www/Magento2/ve in /var/www/Magento2/vendor/pagseguro/magento2/Helper/Library.php on line 105

marcioshimoda commented 7 years ago

@avellar1975 ... eu resolvi adicionando o pagseguro/php no composer.json caso não queira adicionar manualmente, é só executar:

composer require pagseguro/php

marciofmjr commented 7 years ago

Estou com o mesmo problema:

Fatal error: Uncaught Error: Class 'PagSeguro\Helper\Library' not found in ..magento2/vendor/pagseguro/magento2/Model/PaymentMethod.php:74

Stack trace: 
#0 ..magento2/vendor/pagseguro/magento2/Controller/Payment/Request.php(71): UOL\PagSeguro\Model\PaymentMethod->__construct(Object(Magento\Framework\App\Config), Object(Magento\Checkout\Model\Session\Interceptor), Object(Magento\Directory\Model\CountryInformationAcquirer), Object(Magento\Framework\Module\ModuleList))   
#1 ..magento2/var/generation/UOL/PagSeguro/Controller/Payment/Request/Interceptor.php(14): UOL\PagSeguro\Controller\Payment\Request->__construct(Object(Magento\Framework\App\Action\Context), Object(Magento\Framework\Controller\Result\RedirectFactory))
#2 ..magento2/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(93): UOL\PagSeguro\Controller\Payment\Request\Interceptor->__construct(Object(Magento\Framework\App\Action\Context), Object(Magento\Framework\Controller\Result\RedirectFa in /Users/marcio/Dev/magento2/vendor/pagseguro/magento2/Model/PaymentMethod.php on line 74

Assim como comentado acima, ja atualizei a versão do pagseguro/php pra versão dev-master e mesmo assim continua com o erro

ramonvic commented 7 years ago

As versões que resolveram pra mim foram as de desenvolvimento:

{
    "name": "magento/project-community-edition",
    "description": "eCommerce Platform for Growth (Community Edition)",
    "type": "project",
    "version": "2.1.1",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "require": {
        "magento/product-community-edition": "2.1.1",
        "composer/composer": "@alpha",
        "magestore/module-bannerslider": "^1.7",
        "bleez/correios": "^0.0.1",
        "magento2translations/language_pt_br": "dev-master",
        "cagartner/phpquery": "^0.9.8",
        "pagseguro/magento2": "dev-desenvolvimento"
    },
    "require-dev": {
        "phpunit/phpunit": "4.1.0",
        "squizlabs/php_codesniffer": "1.5.3",
        "phpmd/phpmd": "@stable",
        "pdepend/pdepend": "2.2.2",
        "fabpot/php-cs-fixer": "~1.2",
        "lusitanian/oauth": "~0.3 <=0.7.0",
        "sebastian/phpcpd": "2.0.0"
    },
    "config": {
        "use-include-path": true
    },
    "autoload": {
        "psr-4": {
            "Magento\\Framework\\": "lib/internal/Magento/Framework/",
            "Magento\\Setup\\": "setup/src/Magento/Setup/",
            "Magento\\": "app/code/Magento/"
        },
        "psr-0": {
            "": "app/code/"
        },
        "files": [
            "app/etc/NonComposerComponentRegistration.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Magento\\Sniffs\\": "dev/tests/static/framework/Magento/Sniffs/",
            "Magento\\Tools\\": "dev/tools/Magento/Tools/",
            "Magento\\Tools\\Sanity\\": "dev/build/publication/sanity/Magento/Tools/Sanity/",
            "Magento\\TestFramework\\Inspection\\": "dev/tests/static/framework/Magento/TestFramework/Inspection/",
            "Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/"
        }
    },
    "minimum-stability": "alpha",
    "prefer-stable": true,
    "repositories": [
        {
            "type": "composer",
            "url": "https://repo.magento.com/"
        },
        {
            "type": "git",
            "name": "pagseguro/magento2",
            "url": "https://github.com/pagseguro/magento2.git"
        }
    ],
    "extra": {
        "magento-force": "override"
    }
}

As alterações que precisei fazer foi minimum-stability e em repositories.

Uma coisa que achei extremamente ruim é a forma com que o pagseguro trabalha junto com o magento, abrindo outra janela para o cliente entrar com os dados de pagamento.

gabriellucius commented 7 years ago

Pessoal, fizemos algumas alterações para corrigir problemas de instalação pelo composer, versão e nível de estabilidade. Acredito que vá resolver boa parte dos problemas aqui citados. Referência: https://github.com/pagseguro/magento2/issues/15

gabriellucius commented 7 years ago

@ramonvic você comentou`: Uma coisa que achei extremamente ruim é a forma com que o pagseguro trabalha junto com o magento, abrindo outra janela para o cliente entrar com os dados de pagamento.

Isso depende do tipo de checkout selecionado, você estava se referindo à qual deles? (Padrão, Lightbox e Transparente)

rafaelrocha007 commented 7 years ago

Pessoal, ainda sou novo no Magento, e decidi começar pela versão 2.1.5, ao instalar o modulo do PagSeguro e usar o Checkout transparente estou com esse mesmo erro,

Property "Title" does not have corresponding setter in class "Magento\Quote\Api\Data\PaymentInterface".

Ao enviar o pagamento para a URL /rest/default/V1/carts/mine/payment-information Com o stacktrace #0 \vendor\magento\framework\Reflection\NameFinder.php(59): Magento\Framework\Reflection\NameFinder->findAccessorMethodName(Object(Zend\Code\Reflection\ClassReflection), 'Title', 'getTitle', 'isTitle')

#1 \vendor\magento\framework\Webapi\ServiceInputProcessor.php(158): Magento\Framework\Reflection\NameFinder->getGetterMethodName(Object(Zend\Code\Reflection\ClassReflection), 'Title')

#2 \vendor\magento\framework\Webapi\ServiceInputProcessor.php(322): Magento\Framework\Webapi\ServiceInputProcessor->_createFromArray('Magento\\Quote\\A...', Array)

#3 \vendor\magento\framework\Webapi\ServiceInputProcessor.php(119): Magento\Framework\Webapi\ServiceInputProcessor->convertValue(Array, 'Magento\\Quote\\A...')

#4 \vendor\magento\module-webapi\Controller\Rest\InputParamsResolver.php(101): Magento\Framework\Webapi\ServiceInputProcessor->process('Magento\\Checkou...', 'savePaymentInfo...', Array)

#5 \vendor\magento\module-webapi\Controller\Rest.php(299): Magento\Webapi\Controller\Rest\InputParamsResolver->resolve()

#6 \vendor\magento\module-webapi\Controller\Rest.php(216): Magento\Webapi\Controller\Rest->processApiRequest()

#7 \var\generation\Magento\Webapi\Controller\Rest\Interceptor.php(37): Magento\Webapi\Controller\Rest->dispatch(Object(Magento\Framework\App\Request\Http))

#8 \vendor\magento\framework\App\Http.php(135): Magento\Webapi\Controller\Rest\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))

#9 \vendor\magento\framework\App\Bootstrap.php(258): Magento\Framework\App\Http->launch()

#10 \index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))

#11 {main}

Alguem conseguiu resolver?

ramonvic commented 7 years ago

@gabriellucius Sobre meu comentário, foi relativo ao fluxo de uso, por exemplo, a integração com o paypal, caso você use a one page checkout, ela acontece ali na tela de checkout mesmo, sem precisar ser redirecionado para outra tela.

@rafaelcostarocha Sobre o erro:

Property "Title" does not have corresponding setter in class "Magento\Quote\Api\Data\PaymentInterface".

Resolvi dessa forma https://github.com/pagseguro/magento2/issues/12#issuecomment-293302931

matheus0608 commented 5 years ago

Continua o mesmo ERRO, por que PagSeguro não atualiza?