如何为 .NET Core Web API 应用程序中的 DI 配置 Stripe Payment API

问题描述 投票:0回答:1

我一直在到处寻找这个问题,但要获得一个结论性的或推荐的方法来为 .NET Core 设置 Stripe API/SDK 库是非常困难的。

我已经添加了nuget包:

  <PackageReference Include="Stripe.net" Version="43.16.0" />

现在根据说明我在启动时设置了 API 密钥。

  private static void RegisterStripeClient(IServiceCollection services, IConfiguration configuration)
{
    var env = configuration.Get<EnvironmentVariables>();
    StripeConfiguration.ApiKey = env.STRIPE_API_KEY;
 }

现在这个密钥是来自测试环境的密钥,所以它是这样的:sk_test_51Oe ...

但是,我在尝试创建订阅时不断收到无效密钥!

      // Lets see if I can add a subscription for the current user.
  var options = new SubscriptionCreateOptions
  {
      Customer = request.PaymentDetails.CustomerId,
      Items =
      [
          new SubscriptionItemOptions { Price = "price_1Opxxxxxxxx..." }
      ],
  };

  var service = new SubscriptionService();

  var subscription = service.Create(options);

我本以为这会起作用。是的,钥匙没问题,我单步执行调试器,可以看到分配的值很好。

那么该怎么做以及如何在program.cs中注册DI

谢谢。

asp.net-core .net-core stripe-payments
1个回答
0
投票

显然初始化代码如下:

        StripeConfiguration.ApiKey = env.STRIPE_API_KEY;

就是这样,但是我不知道如何使用DI。

© www.soinside.com 2019 - 2024. All rights reserved.