Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Stripe和ASP.NET WebForm的示例签出_C#_Asp.net_Webforms_Stripe Payments - Fatal编程技术网

C# 使用Stripe和ASP.NET WebForm的示例签出

C# 使用Stripe和ASP.NET WebForm的示例签出,c#,asp.net,webforms,stripe-payments,C#,Asp.net,Webforms,Stripe Payments,我正在尝试使用Stripe和ASP.NET WebForm进行测试付款。我能够在测试帐户中得到响应,但我想再做一些事情。我知道,这件事以前就做过,但我是新手。我在链接的帮助下完成了这项工作- API响应在我的测试帐户中成功。以下是我使用本教程所做的工作: Default.aspx: <form action="Charge.aspx" method="POST"> //Confused here a bit <script> src="https://ch

我正在尝试使用
Stripe
ASP.NET WebForm
进行测试付款。我能够在测试帐户中得到响应,但我想再做一些事情。我知道,这件事以前就做过,但我是新手。我在链接的帮助下完成了这项工作-

API响应在我的测试帐户中成功。以下是我使用本教程所做的工作:

Default.aspx:

<form action="Charge.aspx" method="POST"> //Confused here a bit
  <script>
      src="https://checkout.stripe.com/checkout.js" class="stripe-button"
      data-key="<%= stripePublishableKey %>"
      data-amount="500"
      data-name="Stripe.com"
      data-description="Sample Charge"
      data-locale="auto"
      data-zip-code="true">
  </script>
</form>
protected void Page_Load(object sender, EventArgs e)
{
    if (Request.Form["stripeToken"] != null)
    {
        var customers = new CustomerService();
        var charges = new ChargeService();

        var customer = customers.Create(new CustomerCreateOptions
        {
            Email = Request.Form["stripeEmail"],
            SourceToken = Request.Form["stripeToken"]
        });

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

        Console.WriteLine(charge);
    }
}
这是我在我的帐户中得到的响应-200 OK POST/v1/tokens。我还试图用
Stripe
生成的令牌将采购或订单详细信息存储在我的项目数据库中。因此,尝试了以下在我的测试帐户中创建订单的方法:

StripeConfiguration.SetApiKey("##########");

var options = new OrderCreateOptions
{
   Currency = "usd",
   Email = "jenny.rosen@example.com",
   Items = new List<OrderItemOptions> {
                new OrderItemOptions {
                Type = "sku",
                Parent = "sku_EqMkslKy9JiXAc",
                Quantity = 2,
         },
    },

    Shipping = new ShippingOptions
    {
        Name = "Jenny Rosen",
        Address = new AddressOptions
        {
           Line1 = "1234 Main Street",
           City = "San Francisco",
           State = "CA",
           PostalCode = "94111",
           Country = "US",
        },
    },
 };

var service = new OrderService();
Order order = service.Create(options);
StripeConfiguration.SetApiKey(“#############”);
var options=newordercreateoptions
{
货币=“美元”,
Email=“珍妮。rosen@example.com",
项目=新列表{
新的OrderItemOptions{
Type=“sku”,
Parent=“sku_EqMkslKy9JiXAc”,
数量=2,
},
},
配送=新配送选项
{
Name=“Jenny Rosen”,
地址=新地址选项
{
Line1=“1234大街”,
城市=“旧金山”,
State=“CA”,
PostalCode=“94111”,
Country=“美国”,
},
},
};
var service=neworderservice();
订单=服务。创建(选项);

这将在测试帐户中创建一个订单,但带有来自
ASP.NET
项目的按钮,因此我无法将卡号或其他信息放入
Stripe
进行验证。我想知道我是否可以使用
ASP.NET WebForm
和所有相关详细信息进行结账。

因此,目前您有一个创建支付令牌(表示卡详细信息)的支付表单。将令牌发送到

  • 创建客户并将卡的详细信息保存给他们
  • 对客户保存的详细信息收取一次性5美元的费用
  • 您还可以单独使用代码在条带上创建未平仓订单,而不使用其他代码

    这里要做的是合并代码,而不是执行上面的第2步创建一次性收费,而是创建订单,然后对刚刚创建的客户进行收费

    var options = new OrderPayOptions
    {
      CustomerId = customer.Id,
    };
    var order = service.Pay(order.Id, options);
    

    感谢您的回复@karllekko。但是,我是否可以使用自定义按钮而不是
    条带
    按钮插入上述相关数据,或者如果您可以提供任何样本?我的想法是当结帐完成时,获取令牌并插入令牌或来自
    Stripe
    的任何通知,以及在我的测试帐户中创建订单,并将数据放在我的末尾。有一个结帐窗口,您可以使用自己的按钮触发卡片详细信息弹出窗口,然后处理数据提交到服务器,是的。不过,它需要编写更多的Javascript。对于Stripe签出的最新解决方案,请在以下位置测试演示:在ASP.NET Web表单中使用Stripe接收所有卡的付款和几种付款方法。