我正在尝试使用 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 个问题:
这里的金额 1000 是 10 美元 - 对吗?
这也适用于使用实时 key 吗?我听说 Stripe 不允许直接收费,需要我们使用他们的 Javascript 和存储 token 才能真正收费?它在测试模式下如何工作?
stripeChargeCreateOptions.Capture = true;
的重要性是什么?如果我将它设置为 false,会发生什么?
最佳答案
是的,没错。所有金额均以美分/便士为单位。
恐怕我对 Stripe 的了解不够,无法帮助您解决这个问题。
这会告诉 Stripe 使用什么流程来执行交易 - 这是之前在 Capture 属性设置为“false”时创建的费用的后半部分。因此,您稍后需要调用 API 并将其设置为 true 才能真正完成充电。有关详细信息,请参阅 API:https://stripe.com/docs/api?lang=php#capture_charge
关于c# - Stripe.Net直充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32965829/