我正在将paytm集成到我的网站。我有看法,即Index
。目前它只是一个包含一个打开弹出窗口的按钮的视图。
这是我的看法。
@{
ViewBag.Title = "paytm";
}
<style>
.btn2 {
background-color: #00b9f5;
padding-bottom: 10px;
padding-top: 10px;
}
</style>
<h2>paytm</h2>
<button class="btn2" style="font-weight: 600;" onclick="popitup('http://localhost:49569/home/paytmcheckout');">Pay With Paytm</button>
<script>
function popitup(url) {
window.open(url, "_blank", "width=700,height=700,scrollbars=yes");
}
</script>
这里是paytmcheckout
动作
public ActionResult paytmcheckout()
{
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("MID", "Some value");
parameters.Add("CHANNEL_ID", "some value");
parameters.Add("INDUSTRY_TYPE_ID", "some value");
parameters.Add("WEBSITE", "some value");
//parameters.Add("EMAIL", "email value");
//parameters.Add("MOBILE_NO", "mobile value");
parameters.Add("CUST_ID", "some value");
parameters.Add("ORDER_ID", "some value");
parameters.Add("TXN_AMOUNT", "some value");
parameters.Add("CALLBACK_URL", "http://localhost:49569/home/thankyou/");
//This parameter is not mandatory. Use this to pass the callback url dynamically.
string checksum = paytm.CheckSum.generateCheckSum(merchantKey, parameters);
string paytmURL = "https://pguat.paytm.com/oltp-web/processTransaction";
string outputHTML = "<html>";
outputHTML += "<head>";
outputHTML += "<title>Merchant Check Out Page</title>";
outputHTML += "</head>";
outputHTML += "<body>";
outputHTML += "<center><h1>Please do not refresh this page...</h1></center>";
outputHTML += "<form method='post' action='" + paytmURL + "' name='f1'>";
outputHTML += "<table border='1'>";
outputHTML += "<tbody>";
foreach (string key in parameters.Keys)
{
outputHTML += "<input type='hidden' name='" + key + "' value='" + parameters[key] + "'>";
}
outputHTML += "<input type='hidden' name='CHECKSUMHASH' value='" + checksum + "'>";
outputHTML += "</tbody>";
outputHTML += "</table>";
outputHTML += "<script type='text/javascript'>";
outputHTML += "document.f1.submit();";
outputHTML += "</script>";
outputHTML += "</form>";
outputHTML += "</body>";
outputHTML += "</html>";
Response.Write(outputHTML);
return new EmptyResult();
}
它简单地将一些数据发布到paytm。你可以在这里找到代码https://github.com/Paytm-Payments/Paytm_Web_Sample_Kit_dotNet
当请求发送到 paytm 时,它会处理它并在回调 url 上发送一些响应。在我的例子中,我创建了一个动作,即thankyou
. 但我想关闭弹出窗口(从Index
视图调用)并在视图中显示响应Index
而不是显示thankyou
视图。目前弹出窗口没有关闭并thankyou
在其中显示视图。如何关闭弹出窗口并在视图中显示结果Index
?我不知道如何实现这一点。
我想实现这样的东西 - http://paywithpaytm.com/demo/