我是支付网关的新手;我似乎无法弄清楚何时实际扣除付款。因此,一旦所有卡的详细信息都成功,则以下代码将被执行:
public partial class Charge : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e) {
if (Request.Form["stripeToken"] != null)
{
var customers = new StripeCustomerService();
var charges = new StripeChargeService();
var customer = customers.Create(new StripeCustomerCreateOptions
{
Email = Request.Form["stripeEmail"],
SourceToken = Request.Form["stripeToken"]
});
var charge = charges.Create(new StripeChargeCreateOptions
{
Amount = 500,
Description = "Sample Charge",
Currency = "usd",
CustomerId = customer.Id
});
Console.WriteLine(charge.Id);
}
}
}
我注意到的是,如果我输入并发送电子邮件给test @ gmail。最后没有“ com”的代码将被执行,但是它将在Email = Request.Form [“ stripeEmail”]上表示该电子邮件无效。
所以问题是当我获得令牌 Request.Form [“ stripeToken”] 时会扣除这笔钱,还是通过以下方式创建费用时会从这笔钱中扣除/扣除:
var charge = charges.Create(new StripeChargeCreateOptions
{
Amount = 500,
Description = "Sample Charge",
Currency = "usd",
CustomerId = customer.Id
});
答案 0 :(得分:1)
使用Stripe时,您首先可以单独创建令牌,也可以将其创建为customer对象的一部分。该令牌仅是卡详细信息的参考。单独的令牌ID不足以对卡进行任何操作,Stripe仅存储加密的卡详细信息。
发出费用时,这就是说要为哪张卡收取多少金额。在此之前,卡的详细信息甚至还没有离开Stripe的域。
在Charge上收到此错误的原因很简单-电子邮件仅在该点得到验证。在此之前,卡的详细信息将被验证并存储为令牌。