Stripe Payment .net mvc中的订阅

Ama*_*ian 3 asp.net-mvc

在此输入图像描述我想在Stripe中使用Subscription,它将根据条带仪表板中创建的计划启用定期付款工具.从仪表板我得到一个计划ID如何用计划ID标记客户

<form action="/Stripe/Charge" method="POST">
    <article>
        <label>Amount: $5.00<br/>
               Buy   </label>
    </article>
    <script src="//checkout.stripe.com/v2/checkout.js"
            class="stripe-button"


            data-key="pk_test_...."
            data-locale="auto"
            data-description="Sample Charge"
            data-amount="500">
    </script>

    <article>
        <label>Amount: $29.00 <br/>
            Pro Subscription 
               </label>
    </article>
    <script
        src="https://checkout.stripe.com/checkout.js" class="stripe-button"
        data-key="pk_test_..."

        data-description="Pro Subscription ($29 per month)"
        data-panel-label="Subscribe"
        data-label="Subscribe"
        data-amount="2900">
    </script>


</form>
Run Code Online (Sandbox Code Playgroud)

我在正确的道路上吗?我想制作订阅和单一付款页面我怀疑是根据用户选择的计划标记planId

Ben*_*ick 6

您是否在Stripe Docs中关注ASP.NET MVC教程?如果没有,它会帮助很多.在阅读我的其余答案之前先阅读一下.

第2步中,您将创建一个向客户收费的控制器.在同一个区块中,您希望将客户订阅到您的计划中.它应该看起来像这样:

public IActionResult Charge(string  stripeEmail, string stripeToken)
{
    var customers = new StripeCustomerService();
    var charges = new StripeChargeService();
    var subscriptions = new StripeSubscriptionService();

    var customer = customers.Create(new StripeCustomerCreateOptions {
      Email = stripeEmail,
      SourceToken = stripeToken
    });

    var charge = charges.Create(new StripeChargeCreateOptions {
      Amount = 500,
      Description = "Sample Charge",
      Currency = "usd",
      CustomerId = customer.Id
    });

    var subscription = subscriptions.Create(customer.id, new StripeSubscriptionCreateOptions() {
      PlanId = "your-plan-here"
    };

    return View();
}
Run Code Online (Sandbox Code Playgroud)

在不更改教程中的任何代码的情况下,这将为客户订阅计划并向your-plan-here他们收取5美元的费用.这是因为所有逻辑都在后端处理,data-amountStripe结帐仅用于向用户显示他们将支付的金额.

个人在收取费用和订阅时,我会将其设置为费用和订阅data-amount的第一个月的总和,或者我将只使用自定义表单.但是由您来决定您的客户会更喜欢什么.


Stripe如何工作?

典型的Stripe付款如下:

  1. 用户将其卡片详细信息输入到条带表单中
  2. 提交表单后,Stripe会创建一个令牌,该令牌会发送到您的服务器,以及此处列出的其他一些信息
  3. 当服务器收到令牌时,服务器必须使用令牌和电子邮件来创建"条带客户"
    .令牌"SourceToken"或"source"成为客户付款方式
  4. 然后,服务器可以通过创建"费用"来向客户帐户收费,通过创建"订阅"以及许多其他内容来订阅客户到计划.

在上面的示例中,var customer = customers.Create(...)创建Stripe客户并将其分配给变量customer.charges.Create(...)向客户收取费用并将客户subscriptions.Create(...)订阅到您在条带信息中心中创建的计划.