9

我是 Stripe 新手,我决定使用 stripe.net ( https://github.com/jaymedavis/stripe.net )。

我想做的是让客户制定一个每月向他们收费的计划。我还想为他们提供取消订阅该计划的选项。这是 stripe.net 项目显示使用的代码。

StripeConfiguration.SetApiKey("[your api key here]");

var myCustomer = new StripeCustomerCreateOptions();

// set these properties if it makes you happy
myCustomer.Email = "pork@email.com";
myCustomer.Description = "Johnny Tenderloin (pork@email.com)";

// set these properties if using a card
myCustomer.CardNumber = "4242424242424242";
myCustomer.CardExpirationYear = "2012";
myCustomer.CardExpirationMonth = "10";
myCustomer.CardAddressCountry = "US";            

myCustomer.PlanId = *planId*;                         

var customerService = new StripeCustomerService();
StripeCustomer stripeCustomer = customerService.Create(myCustomer);

我要做的就是让客户接受按月收费的计划吗?并取消计划...

var customerService = new StripeCustomerService();
StripeSubscription subscription = customerService.CancelSubscription(*customerId*);

这就是我所要做的吗?stripe.net 页面上还有一个部分用于创建费用,我不确定我是否需要对此做任何事情。

4

2 回答 2

10

是的,就是这样。根据过去的经验,您是否期待更痛苦的事情?;)

Stripe API 的设计非常易于使用,大多数可用的库(包括 Stripe.net)都在努力维护这一点。

你不必对收费做任何事情。如果您需要为某些一次性物品(例如帽子)向客户收费,这就是收费的目的。计划会照顾好自己。

于 2013-09-24T16:49:53.463 回答
2

使用最新的 Stripe API,StripeCustomerService 不再支持 CancelSubscription 方法。这是取消客户订阅的一种方法:

        var subscriptionService = new StripeSubscriptionService();
        var subscriptions = subscriptionService.List(account.StripeCustomerId);

        foreach (var subscription in subscriptions)
        {
            if (subscription.CanceledAt == null)
                subscriptionService.Cancel(account.StripeCustomerId, subscription.Id);
        }
于 2016-12-22T13:20:03.333 回答