我正在尝试使用 Jayme Davis 的 c# 库 Stripe.net 实现一个 Stripe webhook。我已经在条带仪表板中设置了测试端点并生成了密钥。端点被击中,并将使用 StripeEventUtility.ParseEvent 生成 StripeEvent。问题是使用 ConstructEvent 函数我无法让签名匹配。任何帮助或建议将不胜感激。
isSignaturePresent 返回 false
//call to create event
stripeEvent = ConstructEvent(json, Request.Headers["Stripe-Signature"],
SecretFromStripeDashBoard);
private StripeEvent ConstructEvent(string json, string
stripeSignatureHeader, string secret, int tolerance = 300)
{
var signatureItems = parseStripeSignature(stripeSignatureHeader);
var signature = computeSignature(secret, signatureItems["t"].FirstOrDefault(), json);
if (!isSignaturePresent(signature, signatureItems["v1"]))
throw new Exception("The signature for the webhook is not present in the Stripe-Signature header.");
//var utcNow = EpochUtcNowOverride ?? DateTime.UtcNow.ConvertDateTimeToEpoch();
//var webhookUtc = Convert.ToInt32(signatureItems["t"].FirstOrDefault());
//if (utcNow - …Run Code Online (Sandbox Code Playgroud)