Sylius V0.17 Как добавить способы оплаты

Я установил Sylius через composer create-project -s dev sylius/sylius-standard acme на свой локальный сервер, чтобы поближе изучить его для предстоящего проекта. Теперь я застрял в добавлении способов оплаты/платежного шлюза.

Я попытался следовать документам и установить пакет omnipay, но composer require "sylius/omnipay-bundle" не удалось с:

  Problem 1
    - Installation request for sylius/omnipay-bundle ^0.9.0 -> satisfiable by sylius/omnipay-bundle[v0.9.0].
    - Conclusion: remove omnipay/omnipay 2.3.2
    - Conclusion: don't install omnipay/omnipay 2.3.2
    - sylius/omnipay-bundle v0.9.0 requires omnipay/omnipay 1.0.* -> satisfiable by omnipay/omnipay[v1.0.0, v1.0.1, v1.0.2, v1.0.3, v1.0.4].
    - Can only install one of: omnipay/omnipay[v1.0.0, 2.3.2].
    - Can only install one of: omnipay/omnipay[v1.0.1, 2.3.2].
    - Can only install one of: omnipay/omnipay[v1.0.2, 2.3.2].
    - Can only install one of: omnipay/omnipay[v1.0.3, 2.3.2].
    - Can only install one of: omnipay/omnipay[v1.0.4, 2.3.2].
    - Installation request for omnipay/omnipay == 2.3.2.0 -> satisfiable by omnipay/omnipay[2.3.2].

Добавление пакета в appkernel.php в любом случае и/или добавление конфигурации в config.yml (как описано в документации) предотвращает запуск сервера.

Я нашел эту проблему: https://github.com/Sylius/Sylius/issues/4396 что кажется родственным.

Вопрос: - Должны ли быть какие-то варианты, кроме «Не в сети» в «Способах оплаты» в Admin-Frontend (без добавления кода в только что загруженный sylius)? - Силиус меняется так быстро, что документы не совпадают? - Предположим, я хочу добавить «2checkout» (в качестве примера) в качестве платежного шлюза, что мне нужно сделать?

У меня такое чувство, что я пропустил что-то фундаментальное с этой проблемой :) Заранее спасибо за вашу помощь!


person macro64    schedule 13.03.2016    source источник
comment
omnipay/1.x давно объявлен устаревшим. Должна быть более поздняя версия пакета sylius omnipay или самого sylius, поддерживающего omnipay 2.x. Вероятно, лучше всего поднять вопрос с разработчиками sylius, чтобы спросить, что вы должны там делать.   -  person delatbabel    schedule 14.03.2016
comment
Копнув немного дальше, кажется, что пакет sylius/omnipay устарел — ему более 2 лет. Сам sylius имеет интеграцию omnipay непосредственно в основной проект, который, кажется, обновлен. Чтобы добавить способы оплаты, вам, вероятно, просто потребуется соответствующий шлюз, например. композитор требует omnipay/paypal   -  person delatbabel    schedule 14.03.2016
comment
Спасибо за ваш ответ! composer require omnipay/paypal не удалось очистить кеш, а composer require omnipay/2checkout удалось выполнить рендеринг An Exception was thrown while handling: Internal Server Error. Журнал говорит: "Attempted to call an undefined method named "setResourceOwnerMap" of class "HWI\Bundle\OAuthBundle\Security\OAuthUtils" После исправления в соответствующем файле, который мне потребовался (просто для тестирования): omnipay/omnipay omnipay/stripe payum/payum payum/stripe Но до сих пор нет никаких признаков какого-либо другого способа оплаты, кроме оффлайн. продолжаю копать...   -  person macro64    schedule 14.03.2016


Ответы (1)


Ответ на мой вопрос был дан в выпуске Git 4369

Итак, sylius-standard уже содержит Symfony2-Bundles. Чтобы добавить платежный шлюз, их просто нужно настроить в config.yml:

payum:
    gateways:
        paypal_express_checkout:
            paypal_express_checkout_nvp:
                username:  %paypal.express_checkout.username%
                password:  %paypal.express_checkout.password%
                signature: %paypal.express_checkout.signature%
                sandbox:   %paypal.express_checkout.sandbox%
        klarna_checkout:
            klarna_checkout:
                secret:  'required'
                merchant_id: 'required'
                sandbox: true
sylius_payment:
    gateways:
        paypal_express_checkout: Paypal Express Checkout
        klarna_checkout: Klarna Checkout

Дополнительные сведения о конфигурации можно найти здесь: https://github.com/Payum/PayumBundle/blob/master/Resources/doc/configuration_reference.md

Спасибо!

PS: Перед перезапуском сервера необходимо очистить кеш.

person macro64    schedule 15.03.2016