bce*_*ren 2 c# json webhooks stripe-payments asp.net-core
我正在我的 ASP.Net Core 应用程序中使用 Stripe/Stripe.net Webhooks。我正在尝试映射一个对象,在其中可以使用从 Webhook JSON 响应返回的属性并将各种属性保存到我的数据库中。使用 Postman,我能够接收从 Controller 方法中的 Stripe 测试 Webhooks 获得的示例 JSON,并使用解析 JSON
var json = await new StreamReader(HttpContext.Request.Body).ReadToEndAsync();
Event stripeEvent = EventUtility.ParseEvent(json);
Run Code Online (Sandbox Code Playgroud)
返回:
stripeEvent = {<Stripe.Event@2269235 id=evt_00000000000000> JSON: {"id": "evt_00000000000000", "object": "event", "account": null, "api_version": "2020-03-02", "created": 1326853478, "data": { "object": { "id": "ch_00000000000000", "...
Run Code Online (Sandbox Code Playgroud)
我需要将 JSON 从 RawObject ChildrenTokens 映射到模型中,但我无法通过 C# 访问 ChildrenTokens。有什么方法能够映射这些属性吗?
这里的技巧是将 转换stripeEvent.Data.Object为底层事件数据应表示的特定类。通常,您将使用 switch 或 if 语句来检查stripeEvent.Type.
例如,如果事件的类型是payment_intent.succeeded,那么基础数据将是 PaymentIntent,您可能使用以下代码来检查类型,然后转换为该类型。
if (stripeEvent.Type == Events.PaymentIntentSucceeded)
{
var paymentIntent = stripeEvent.Data.Object as PaymentIntent;
}
Run Code Online (Sandbox Code Playgroud)
从那里,您可以与paymentIntent及其相关属性进行交互。
| 归档时间: |
|
| 查看次数: |
2021 次 |
| 最近记录: |