我安装了Sylius,我正试图连接到Stripe进行付款。我做了一些阅读,发现Stripe包含在Payum中。好的,关闭安装Payum。
所以我按照这里的第一部分说明进行操作: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
通过这些更改,我现在收到错误:
没有可以加载配置的扩展程序 “sylius_payments”(在/Users/Me/Code/mysite/app/config/config.yml中)。 查找命名空间“sylius_payments”,找到“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”,“资产”,“框架”,“独白”, “安全”,“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(正在导入 来自“/Users/Me/Code/mysite/app/config/config_dev.yml”)。
我不确定从哪里开始,因为这个主题的文档很少。
答案 0 :(得分:1)
我想提出一个可能的答案。基于我从评论和外部资源中获得的帮助,我已经制定了我的config.yml可能只需要以下内容(当然通过作曲家安装后:php composer.phar需要payum / stripe php-http / guzzle6-适配器)
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
让Stripe在Sylius中工作的完整解决方案是:
通过composer安装:
将此添加到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服务器。那就是它!