从 Stripe webhook .Net 中提取元数据

extract meta data from Stripe web hook .Net

我正在努力处理 Stripe 发布到我的网络钩子的数据。

我正在使用基本结帐。我让一切都按预期工作。 CLI 在“checkout.session.completed”之后转发网络挂钩。正如预期的那样,我的钩子被击中了。但是,我不知道如何提取元数据。我可以在对象中看到它,但我无法弄清楚如何。什么是“IhasObject”?我从下面的文档中复制了代码。

 var json = await new StreamReader(HttpContext.Request.Body).ReadToEndAsync();
        try
        {
            // check if was from Stripe
            var stripeEvent = EventUtility.ConstructEvent(json,Request.Headers["Stripe-Signature"], endpointSecret);

            // Handle the event
            if (stripeEvent.Type == Events.CheckoutSessionCompleted)
            {
                // TODO update the DB and set the booking to PAID based on the transaction Id 
                // in Metadata
                var session = stripeEvent.Data.Object;

               

我可以在 VS 调试和原始 json 中看到会话对象中的正确数据。但是如何从会话对象或事件中获取它呢?目前还不清楚,文档中也没有示例。我很想将 json 读入 POCO 但这不是事件对象的重点吗?

有人能指出我正确的方向吗?我只想完成订单,但示例并未显示如何使用会话对象。

您可以将事件的负载投射到 CheckoutSession 并读取元数据。

 var session = (Stripe.Checkout.Session) stripeEvent.Data.Object; 
 var metadata = session.Metadata;