2016-09-23 50 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服務器,以便採取措施。而已!