无法保存使用ASP.NET C#Web窗体收到的Razorpay Webhook数据

时间:2019-04-12 06:15:20

标签: c# asp.net webhooks razorpay

我正在尝试将从Razorpay Webhook接收的POST数据保存到我的SQL Server。但是我不能。我无法解决问题,请帮帮我。

我是Webhook的新手。

下面是Webhook响应的我的页面:

Successpage.aspx.cs代码:

using System;
using Razorpay.Api;
using System.IO;
using System.Text;

public partial class Razorpay_Successpage : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string documentContents;
        //To Capture RAW JSON posted
        using (Stream receiveStream = Request.InputStream)
        {
            using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8))
            {
                documentContents = readStream.ReadToEnd();
            }
        }

        Response.Write(documentContents);

        //To Capture Signature

        var RazorpaySignature = Request.Headers["X-Razorpay-Signature"];

        Response.Write(RazorpaySignature);
        //Response.Write(ReqHeader);```
    }
}

以上代码仅打印在您的结帐回调网址上发送的标准razorpay响应。

我想打印webhook提供的其他数据,请为此提供帮助。

1 个答案:

答案 0 :(得分:0)

获取文档内容后,我尝试通过这种方式获取数据:

var details = (JObject)JsonConvert.DeserializeObject(documentContents);
var data = details["payload"];
var payment = data["payment"];
var entity = payment["entity"];
string OrderId = entity["order_id"].ToString();
string  paymentstatus = entity["status"].ToString();

这样,我在本地变量中获得了order_id和付款状态,并将其保存到数据库中。希望这对您有帮助!