psr18-adapter/stripe-php

1.0.0 2020-08-08 09:30 UTC

This package is auto-updated.

Last update: 2024-08-29 05:43:23 UTC


README

安装

通过 Composer

composer require psr18-adapter/stripe-php

用法

stripe-php 库使用单例来设置 HTTP 客户端,因此在开始调用 Stripe 之前,您必须在此处调用它,如下所示

\Stripe\ApiRequestor::setHttpClient(
    new \Psr18Adapter\Stripe\StripePsr18Client($psr18Client, $psr7UriFactory, $psr7RequestFactory)
);

如何为依赖注入容器设置

如ApiRequestor之类的单例实际上不能配置为symfony/dependency-injection之类的依赖注入容器,而不需要额外的层。这就是为什么我也在这个包中提供了这样的层,以防您也需要编写这样的层,但又不想这么做。

如果使用 YAML 和 symfony/dependency-injection

services:
    Stripe\StripeClient:
      factory: ['Psr18Adapter\Stripe\StripeClientAccessor', 'access']
      arguments:
        - !service
          class: Stripe\StripeClient
          arguments:
              $config:
                api_key: '%stripe_secret_key%'
        - !service
          class: Psr18Adapter\Stripe\StripePsr18Client
          autowire: true

这应该是 Stripe\StripeClient 服务定义的替代。

这种方法的优点是确保在检索 \Stripe\StripeClient 服务之前已经设置了单例中的 HTTP 客户端。这意味着您可以确信每次从容器中获取 StripeClient 时,它已经配置了您的 PSR-18 HTTP 客户端。

许可

MIT 许可。请参阅许可文件以获取更多信息。