idci / payment-bundle
Symfony支付组件
v6.0.2
2024-05-13 10:03 UTC
Requires
- php: ^7.1 || ^8.0
- doctrine/persistence: ^2.2 || ^3.0
- jwarkentin/flaky: ~0.0.9
- paypal/rest-api-sdk-php: ^1.13
- payplug/payplug-php: ~2.5
- payum/iso4217: ~1.0
- ramsey/uuid: ^4.0 || ^5.0 || ^6.0
- ramsey/uuid-doctrine: ^1.4
- stripe/stripe-php: ^6.7
- symfony/dependency-injection: ^4.0 || ^5.0 || ^6.0
- symfony/dom-crawler: ^4.0 || ^5.0 || ^6.0
- symfony/form: ^4.0 || ^5.0 || ^6.0
- symfony/framework-bundle: ^4.0 || ^5.0 || ^6.0
- symfony/monolog-bundle: ^3.3
- symfony/process: ^4.0 || ^5.0 || ^6.0
- symfony/templating: ^4.0 || ^5.0 || ^6.0
- symfony/twig-bundle: ^4.0 || ^5.0 || ^6.0
Requires (Dev)
- phpunit/phpunit: ^9.0
Suggests
- alma/alma-php-client: ^1.0
- idci/step-bundle: >=4.0
- symfony/cache: ^4.0 || ^5.0 || ^6.0
- dev-master
- v6.0.2
- v6.0.1
- v6.0.0
- v4.4.0
- v4.3.1
- v4.3.0
- v4.2.10
- v4.2.9
- v4.2.8
- v4.2.7
- v4.2.6
- v4.2.5
- v4.2.4
- v4.2.3
- v4.2.2
- v4.2.1
- v4.2.0
- v4.1.14
- v4.1.13
- v4.1.12
- v4.1.11
- v4.1.10
- v4.1.9
- v4.1.8
- v4.1.7
- v4.1.6
- v4.1.5
- v4.1.4
- v4.1.3
- v4.1.2
- v4.1.1
- v4.1.0
- 4.0.x-dev
- v4.0.32
- v4.0.31
- v4.0.30
- v4.0.29
- v4.0.28
- v4.0.27
- v4.0.26
- v4.0.25
- v4.0.24
- v4.0.23
- v4.0.22
- v4.0.21
- v4.0.20
- v4.0.19
- 4.0.18
- v4.0.17
- v4.0.16
- v4.0.15
- v4.0.14
- v4.0.13
- v4.0.12
- v4.0.11
- v4.0.10
- v4.0.9
- v4.0.8
- v4.0.7
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- 3.4.x-dev
- v3.4.6
- v3.4.5
- v3.4.4
- v3.4.3
- v3.4.2
- v3.4.1
- v3.4.0
- dev-feat/mercanet-bin
- dev-hotfix/gateway-tag
- dev-feat/tests
This package is auto-updated.
Last update: 2024-09-05 10:20:31 UTC
README
这个Symfony组件通过网关规范化支付流程,为集成支付解决方案提供帮助。每个使用的网关都必须有一个配置来设置其参数。
示例控制器
<?php $paymentContext = $this->paymentManager->createPaymentContextByAlias('stripe_test'); // raw alias $payment = $paymentContext->createPayment([ 'item_id' => 5, 'amount' => 500, 'currency_code' => 'EUR', ]); return $this->render('@IDCIPayment/payment.html.twig', [ 'view' => $paymentContext->buildHTMLView(), ]);
此组件提供一组命令来管理网关配置和事务。
安装
在您的composer.json
文件中添加依赖项
"require": { ..., "idci/payment-bundle": "^4.0", }
使用composer在您的应用程序中安装此新依赖项
$ composer update
在您的应用程序内核中启用组件
<?php // config/bundles.php return [ // ... new IDCI\Bundle\PaymentBundle\IDCIPaymentBundle(), ];
将以下内容添加到您的config.yml
文件中
# config/packages/idci_payment.yaml imports: - {resource: '@IDCIPaymentBundle/Resources/config/config.yml'} # Enable monolog logging using event subscriber plugged on transaction state changes idci_payment: enabled_logger_subscriber: true
(可选)如果您想自定义支付日志记录器,默认情况下,它将输出到主处理器
# config/packages/monolog.yaml monolog: handlers: # ... payment_log: type: stream path: "%kernel.logs_dir%/%kernel.environment%.log" channels: ['payment']
在您的config/routes/idci_payment.yaml
文件中安装路由
# config/routes/idci_payment.yaml idci_payment: resource: '@IDCIPaymentBundle/Resources/config/routing.yml' prefix: / idci_payment_api: resource: '@IDCIPaymentBundle/Resources/config/routing_api.yml' prefix: /api
以下教程可能有助于您自定义此组件
- 创建新的支付网关:将新的支付方法集成到此组件中
- 创建自己的事务管理器:帮助您从其他存储方法中检索事务(默认:Doctrine)
- 与步骤组件一起使用此组件:简单的配置即可使此组件与步骤组件协同工作
- 创建自己的事件订阅者:了解如何与事务事件一起工作
支持的网关
- Stripe (示例)
- Paypal (示例)
- Paybox (示例)
- Monetico(目前不支持)
- Ogone(目前不支持)
- PayPlug (示例)
- SystemPay (示例)
- Sofinco (示例)
- Sofinco CACF (示例)
- Eureka/FloaBank (示例)
- Alma (示例)
- Atos Sips Bin
- Atos Sips POST
- Atos Sips JSON
测试目的
命令
支付网关配置
# To create a PaymentGatewayConfiguration $ php bin/console app:payment-gateway-configuration:create # To show the list of PaymentGatewayConfiguration $ php bin/console app:payment-gateway-configuration:list # To update a PaymentGatewayConfiguration $ php bin/console app:payment-gateway-configuration:update # To delete a PaymentGatewayConfiguration $ php bin/console app:payment-gateway-configuration:delete
交易
# Remove all the aborted transaction created 1 day ago
$ php bin/console app:transaction:clean
测试
添加测试路由
# config/routes/dev/idci_payment.yaml _test_payment: resource: '@IDCIPaymentBundle/Resources/config/routing_test.yml' prefix: /_test/
现在您可以在 /_test/payment-gateway/select
上测试网关(请确保已创建一个或多个网关配置)