条纹实际何时从信用卡中扣除钱

时间:2019-02-06 14:04:48

标签: c# webforms stripe-payments

我是支付网关的新手;我似乎无法弄清楚何时实际扣除付款。因此,一旦所有卡的详细信息都成功,则以下代码将被执行:

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
});

1 个答案:

答案 0 :(得分:1)

使用Stripe时,您首先可以单独创建令牌,也可以将其创建为customer对象的一部分。该令牌仅是卡详细信息的参考。单独的令牌ID不足以对卡进行任何操作,Stripe仅存储加密的卡详细信息。

发出费用时,这就是说要为哪张卡收取多少金额。在此之前,卡的详细信息甚至还没有离开Stripe的域。

在Charge上收到此错误的原因很简单-电子邮件仅在该点得到验证。在此之前,卡的详细信息将被验证并存储为令牌。