2016-09-23 48 views
0

我有一个Sylius的安装,我试图将它与Stripe绑定以进行付款。我做了一些阅读,发现Stripe包含在Payum中。好的,关闭安装Payum。在Sylius中启用条纹

所以我跟着这里的说明书第一部分:https://github.com/Payum/Stripe/blob/master/Resources/docs/checkout.md

php composer.phar require payum/stripe php-http/guzzle6-adapter 

之后,它似乎是Sylius和Symfony的各奔东西与CONFIGS,因为一切我已经上sylius参考阅读Payum标准的config.yml文件,而不是Payum文档中引用的config.php文件。于是我找到了基本配置网上而不是在其他地方,并添加这个我config.yml:

payum: 
    security: 
     token_storage: 
      myBundle\CoreBundle\Entity\PayumSecurityToken: 
       doctrine: 
        driver: orm 
    contexts: 
     stripe: 
      omnipay: 
       type: Stripe 
       options: 
        apiKey: my_key_is_here 
        testMode: true 
       actions: 
         - sylius.payum.stripe.action.capture_order_using_credit_card 
         - sylius.payum.action.obtain_credit_card 
         - sylius.payum.action.order_status 
         - sylius.payum.action.execute_same_request_with_payment_details 
      storages: 
       myBundle\CoreBundle\Entity\Order: 
         doctrine: 
          driver: orm 
       Sylius\Bundle\PaymentsBundle\Model\Payment: 
         doctrine: 
          driver: orm 

sylius_payments: 
    driver: doctrine/orm 
    gateways: 
      stripe: Stripe 

有了这些变化,我现在收到的错误:

There is no extension able to load the configuration for "sylius_payments" (in /Users/Me/Code/mysite/app/config/config.yml). Looked for namespace "sylius_payments", found "sylius_installer", "sylius_order", "sylius_money", "sylius_currency", "sylius_contact", "sylius_locale", "sylius_settings", "sylius_cart", "sylius_product", "sylius_archetype", "sylius_channel", "sylius_variation", "sylius_attribute", "sylius_taxation", "sylius_shipping", "sylius_payment", "sylius_mailer", "sylius_report", "sylius_promotion", "sylius_addressing", "sylius_inventory", "sylius_taxonomy", "sylius_flow", "sylius_pricing", "sylius_sequence", "sylius_content", "sylius_search", "sylius_rbac", "sylius_user", "sylius_ui", "sylius_admin", "sylius_shop", "sylius_metadata", "sylius_association", "sylius_review", "sylius_core", "sylius_web", "sylius_resource", "sylius_grid", "winzou_state_machine", "sylius_api", "sonata_block", "cmf_core", "cmf_block", "cmf_content", "cmf_routing", "cmf_menu", "cmf_create", "cmf_media", "doctrine", "doctrine_cache", "doctrine_phpcr", "assetic", "framework", "monolog", "security", "swiftmailer", "twig", "sonata_intl", "bazinga_hateoas", "fos_oauth_server", "fos_rest", "fos_elastica", "knp_gaufrette", "knp_menu", "knp_snappy", "liip_imagine", "payum", "jms_serializer", "jms_translation", "stof_doctrine_extensions", "white_october_pagerfanta", "doctrine_migrations", "sylius_fixtures", "sylius_payum", "sylius_theme", "debug", "web_profiler" in /Users/Me/Code/mysite/app/config/config.yml (which is being imported from "/Users/Me/Code/mysite/app/config/config_dev.yml").

我不知道在哪里从这里出发,因为在这个主题上找不到文件。

+0

也许这'sylius_payments'是错误的,而不是'sylius_payment' – yceruto

+0

事实上,这确实现在开始抛出一个不同的错误。接得好!现在它抱怨:ArrayNode.php中的InvalidConfigurationException行317: “Payum”下无法识别的选项“上下文” – carbide20

+0

您安装了Payum的条带扩展,但尝试配置ominay桥。这是两件完全不同的事情。而且你使用的是非常旧的版本,是吗?考虑升级到更新的版本,这里有很多修复和新功能。 –

回答

1

我想提出一个可能的答案。基于我从评论和外部资源收到的帮助,我已经阐明了我的config.yml可能只需要以下内容(当然,通过作曲者安装后:php composer.phar需要payum/stripe php-http/guzzle6-adapter)

payum: 
    gateways: 
     stripe: 
      factory: stripe_checkout 
      publishable_key: my_pusblishable_key 
      secret_key: my_secret_key 

这似乎是所有它需要在开始不会引发错误,如代码我原来的问题没有。我已经清除了缓存,并重新启动了服务器。但是,我在Sylius管理员的“付款方式”面板中看不到任何新选项。现在不应该显示这是一个可行的选择吗?在我们弄清楚如何真正实现Stripe的工作之前,我不会接受我的答案。

编辑

看起来像其他的点点我有,我激活刚才定义的门户,是正确的。添加后,现在一切正常,网关在管理面板中正确显示。好哇!

sylius_payments: 
    driver: doctrine/orm 
    gateways: 
      stripe: Stripe 

完整的解决方案,让条纹在Sylius工作是:

通过作曲家安装:

添加到您的config.yml:

payum: 
    gateways: 
     stripe: 
      factory: stripe_checkout 
      publishable_key: my_publishable_key 
      secret_key: my_secret_key 

sylius_payment: 
    driver: doctrine/orm 
    gateways: 
      stripe: Stripe 

清除缓存:

php app/console cache:clear 

重新启动Web服务器,以便采取措施。而已!