如何在.Net中获取Chargify Webhook响应



我已经在chargify中配置了webhook url。此url用于webapi。

所以我在webapi中处理所有事件。但我想知道,我们如何才能从chargify获得请求参数。如果有人有一个例子,请给我。

以下是来自chargify webhook的一个事件的请求

您可以获得以下链接,该链接用于发送事件的webhook请求。https://docs.chargify.com/webhooks#signup-成功有效载荷

请帮我一下。

提前感谢。

我尝试了上面的解决方案,但它对我不起作用(可能是因为它是2015年的解决方案并且Chargify当时做了一些更改)。

对我有效的是:

[HttpPost]
[Route("test")]
[Consumes("application/x-www-form-urlencoded")]
public ActionResult Test([FromForm] RequestObject request)

如果我们将RequestObjectModelBinding一起使用,我们必须创建要使用的对象和变量的数据结构。

例如,对于signup_success事件,对象Product、Customer和Customer Reference的数据结构为:

public class RequestObject 
{
    public string id { get; set; }
    public Payload payload { get; set; }
}
public class Payload
{
    public Subscription subscription { get; set; }
}
public class Subscription
{
    public long id { get; set; }
    public Product product { get; set; }
    public Customer customer { get; set; }
}
public class Product
{
    public long id { get; set; }
}
public class Customer
{
    public long id { get; set; }
    public string reference { get; set; }
}

由于它是作为表单参数提交到webhook url的,因此在MVC中,您的签名看起来类似于以下内容:

public ActionResult ReceiveWebhook(FormCollection webhookPayload, string signature_hmac_sha_256)

参数signature_hmac_sha_256包含在查询字符串中,因此它被传递到这里。

然后,您可以使用event:运行不同的逻辑

var eventName = webhookPayload["event"];

相关内容

  • 没有找到相关文章

最新更新