我一直在到处寻找这个问题,但要获得一个结论性的或推荐的方法来为 .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
谢谢。
显然初始化代码如下:
StripeConfiguration.ApiKey = env.STRIPE_API_KEY;
就是这样,但是我不知道如何使用DI。