2

我正在尝试使用 Stripe 直接向客户收费。我正在使用这个示例代码:

var stripeChargeCreateOptions = new StripeChargeCreateOptions();

stripeChargeCreateOptions.Amount = 1000;
stripeChargeCreateOptions.Currency = "usd";

stripeChargeCreateOptions.Description = "Test";

stripeChargeCreateOptions.Source = new StripeSourceOptions()
{

    Number = "4242424242424242",
    ExpirationYear = "2022",
    ExpirationMonth = "10",
    AddressCountry = "US",                // optional
    AddressLine1 = "24 Beef Flank St",    // optional
    AddressLine2 = "Apt 24",              // optional
    AddressCity = "Biggie Smalls",        // optional
    AddressState = "NC",                  // optional
    AddressZip = "27617",                 // optional
    Name = "Joe Meatballs",               // optional
    Cvc = "1223"                          // optional
};

stripeChargeCreateOptions.Capture = true;

var stripeChargeService = new StripeChargeService();
StripeCharge stripeCharge = stripeChargeService.Create(stripeChargeCreateOptions);

这似乎在测试模式下工作。这是我的3个问题:

  1. 这里的 1000 是 10 美元 - 对吧?

  2. 这也可以使用实时密钥吗?我听说 Stripe 不允许直接收费,并要求我们使用他们的 Javascript 并存储令牌以供我们实际收费?它在测试模式下如何工作?

  3. stripeChargeCreateOptions.Capture = true;如果我将其设置为 false 会发生什么?

4

1 回答 1

0
  1. 是的,这是正确的。所有金额均以美分/便士为单位。

  2. 恐怕我对 Stripe 的了解还不够,无法帮助您解决这个问题。

  3. 这告诉 Stripe 使用什么流程来执行交易 - 这是之前创建的费用的后半部分,其中 Capture 属性设置为“false”。因此,您稍后需要调用 API 并将其设置为 true 才能真正完成收费。有关更多信息,请参阅 API:https ://stripe.com/docs/api?lang=php#capture_charge

于 2015-10-06T09:27:27.727 回答