我正在尝试使用Stripe
和ASP.NET WebForm
进行测试付款。我可以在测试帐户中获得答复,但还想做些其他的事情。我知道,它已经做得比较早了,但是还不是第一次。我已经完成了链接的帮助-Stripe Payment
我的测试帐户中的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>
Charge.aspx:
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 /令牌。我还尝试使用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);
这会在测试帐户中创建一个订单,但带有一个ASP.NET
项目中的按钮,因此我无法输入卡号或其他信息以供Stripe
进行验证。我想知道我是否可以使用ASP.NET WebForm
进行所有相关的详细信息。
答案 0 :(得分:1)
因此,当前您有一个付款表格,用于创建一个付款令牌(代表卡的详细信息)。将令牌发送到后端端点
您还分别具有在Stripe上创建未结订单的代码,但仅此而已。
您要在此处组合代码-而不是执行上面的步骤2(创建一次性费用),而是要创建订单,然后call the pay endpoint并向刚刚创建的客户收费。
var options = new OrderPayOptions
{
CustomerId = customer.Id,
};
var order = service.Pay(order.Id, options);