如何将 PayUMoney BOLT 与 MVC4 c# 集成?

Posted

技术标签:

【中文标题】如何将 PayUMoney BOLT 与 MVC4 c# 集成?【英文标题】:How to Integrate PayUMoney BOLT with MVC4 c#? 【发布时间】:2020-03-11 07:06:09 【问题描述】:

我正在尝试在我的项目中放置一个支付网关,我只需要单击按钮即可付款。在 PayUMoney 页面中,我得到了一个工具包 ASP.NET BOLT 但它不在 MVC 中,我只在 MVC 中有知识(我是新手)。我到处搜索如何将它与 MVC4 集成,但我什么也没得到。 请帮我解决这个问题。

<script>
    $(document).ready(function ($) 
        $('#payNowButton').on("click", function () 

              // Have these values in my page(which is needed for BOLT)

                    key: "VOu0fZrK",
                    salt: "rWgjocyTmL",
                    txnid: $('#orderid').val(),
                    amount: $('#grandtotal').val(),
                    fname: $('#fname').val(),
                    email: $('#email').val(),
                    mobile: $('#phone').val(),
                    udf5: $('#udf5').val(),





    </script>

控制器

public ActionResult Demo(Hash h)
        

            //Code Which am seeking
        

对控制器没有概念

【问题讨论】:

您想要PlaceOrder(); 中的响应数据吗? 其实这段代码也是我从google某处复制过来的 你想在Controller 中提供什么信息? 不知道它是如何在单击按钮时重定向到 PayUmoney 页面的。实际上控制器可能会创建一些哈希或其他东西,不太了解它 【参考方案1】:

我解决了它并完美地工作。我在前一页中创建了哈希并将哈希存储到会话中并显示在支付页面上,并执行了以下操作: 在支付按钮中添加了 onclick 功能:

<script type="text/javascript"><!--
    function launchBOLT() 
        alert($('#txnid').val() + $('#hash').val() + $('#grandtotal').val() + $('#fname').val() + $('#email').val() + $('#phone').val() + $('#oid').val() + $('#udf5').val() + $('#surl').val());
        bolt.launch(
            key: "Key Here",
            txnid: $('#txnid').val(),
            hash: $('#hash').val(),
            amount: $('#grandtotal').val(),
            firstname: $('#fname').val(),
            email: $('#email').val(),
            phone: $('#phone').val(),
            productinfo: $('#oid').val(),
            udf5: $('#udf5').val(),
            surl: $('#surl').val(),
            furl: $('#surl').val()
        , 
            responseHandler: function (BOLT) 
                console.log(BOLT.response.txnStatus);
                if (BOLT.response.txnStatus != 'CANCEL') 
                    //Salt is passd here for demo purpose only. For practical use keep salt at server side only.
                    var fr = '<form action=\"' + $('#surl').val() + '\" method=\"post\">' +
            '<input type=\"hidden\" name=\"key\" value=\"' + BOLT.response.key + '\" />' +
            '<input type=\"hidden\" name=\"salt\" value=\"' + $('#salt').val() + '\" />' +
            '<input type=\"hidden\" name=\"txnid\" value=\"' + BOLT.response.txnid + '\" />' +
            '<input type=\"hidden\" name=\"amount\" value=\"' + BOLT.response.amount + '\" />' +
            '<input type=\"hidden\" name=\"productinfo\" value=\"' + BOLT.response.productinfo + '\" />' +
            '<input type=\"hidden\" name=\"firstname\" value=\"' + BOLT.response.firstname + '\" />' +
            '<input type=\"hidden\" name=\"email\" value=\"' + BOLT.response.email + '\" />' +
            '<input type=\"hidden\" name=\"udf5\" value=\"' + BOLT.response.udf5 + '\" />' +
            '<input type=\"hidden\" name=\"mihpayid\" value=\"' + BOLT.response.mihpayid + '\" />' +
            '<input type=\"hidden\" name=\"status\" value=\"' + BOLT.response.status + '\" />' +
            '<input type=\"hidden\" name=\"hash\" value=\"' + BOLT.response.hash + '\" />' +
            '</form>';
                    var form = jQuery(fr);
                    jQuery('body').append(form);
                    form.submit();
                
            ,
            catchException: function (BOLT) 
                alert(BOLT.message);
            
        );
    
    //--
</script>

【讨论】:

以上是关于如何将 PayUMoney BOLT 与 MVC4 c# 集成?的主要内容,如果未能解决你的问题,请参考以下文章

如何将两个不同 Spout 的输出发送到同一个 Bolt?

通过 payumoney 付款

如何将我自己的数据库与 SimpleMembership 和 WebSecurity 一起使用?啥是 MVC4 安全性?

在 nodejs 中集成 payUMoney 时出错

PayUMoney 支付网关问题

Bolt 一款CSRF扫描工具