maxts/omnipay-bundle

Symfony 的 Omnipay 扩展包

0.2.0 2015-03-31 22:29 UTC

This package is not auto-updated.

Last update: 2024-09-20 18:24:09 UTC


README

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

这是一个简单扩展包,用于在您的 Symfony 应用程序中实现 Omnipay

安装

通过 Composer

$ composer require colinodell/omnipay-bundle

在您的 AppKernel.php 中启用扩展包

new ColinODell\OmnipayBundle\OmnipayBundle(),

使用方法

此扩展包提供了一个名为 Omnipay 的新服务。它包含一个方法 get(),该方法返回一个完全配置的网关供您使用

$stripe = $this->get('omnipay')->get('Stripe');

$paypal = $this->get('omnipay')->get('PayPal_Express');

您可以使用这些网关像往常一样。

注意:网关是“缓存的” - 多次调用 get('Some_Gateway') 将始终返回相同的对象。

配置

网关可以在您的 app/config/config.yml 文件中进行配置

omnipay:
    methods:
        # Your config goes here

例如,要配置 StripePayPal Express 网关

omnipay:
    methods:
        Stripe:
            apiKey: sk_test_BQokikJOvBiI2HlWgH4olfQ2

        PayPal_Express:
            username:     test-facilitator_api1.example.com
            password:     3MPI3VB4NVQ3XSVF
            signature:    6fB0XmM3ODhbVdfev2hUXL2x7QWxXlb1dERTKhtWaABmpiCK1wtfcWd.
            testMode:     false
            solutionType: Sole
            landingPage:  Login

注意:您可能需要考虑使用参数而不是直接在 config.yml 中存储凭证。

方法名称应该是您通常传递给 Omnipay::create() 的名称。配置设置因网关而异 - 请参阅 Omnipay 文档中的 配置网关 以获取更多详细信息。

注册自定义网关

可以通过将标签 omnipay.gateway 应用到容器中来注册自定义网关

# services.yml
services:
    my.test.gateway:
        class: Path\To\MyTestGateway
        tags:
            - { name: omnipay.gateway, alias: MyTest }

# config.yml
omnipay:
    methods:
        # Reference the gateway alias here
        MyTest:
            apiKey: abcd1234!@#

然后您可以通过其别名获取完全配置的网关

$this->get('omnipay')->get('MyTest');

测试

$ phpunit

贡献

请参阅 CONTRIBUTING 获取详细信息。

安全

如果您发现任何安全问题,请通过电子邮件 colinodell@gmail.com 而不是使用问题跟踪器。

致谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件