⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pm99bill.vb

📁 C#语言制作asp.net网上商店的
💻 VB
字号:
Imports System.Text
Imports NetShopForge.Common
Imports NetShopForge.Library.Order
Namespace NetShopForge.Library.Payment


    ''' <summary>
    ''' 快钱网关接口
    ''' </summary>
    ''' <remarks></remarks>
    Public Class pm99Bil
        Implements IPayment



        Public Function Recive(ByVal page As System.Web.UI.Page) As NetShopForge.Library.Order.OrderTransactionInfo Implements IPayment.Recive

            Dim merchant_id As String = page.Request("merchant_id")   '获取商户编号
            Dim orderid As String = page.Request("orderid")     '获取订单编号
            Dim amount As String = page.Request("amount")        '获取订单金额
            Dim dealdate As String = page.Request("date")        '获取交易日期
            Dim succeed As String = page.Request("succeed")      '获取交易结果,Y成功,N失败
            Dim mac As String = page.Request("mac")      '获取安全加密串
            Dim merchant_param As String = page.Request("merchant_param")   '获取商户私有参数

            Dim couponid As String = page.Request("couponid")       '获取优惠券编码
            Dim couponvalue As String = page.Request("couponvalue") '获取优惠券面额



            Dim objPC As New PaymentController


            Dim pay As PaymentMethodInfo = objPC.GetPaymentMethodInfo(PaymentGateway.gw99Bill)
            Dim merchant_key As String = pay.MerchantKey     '商户密钥


            '生成加密串,注意顺序
            Dim ScrtStr As String = "merchant_id=" & merchant_id & "&orderid=" & orderid & "&amount=" & amount & "&date=" & dealdate & "&succeed=" & succeed & "&merchant_key=" & merchant_key
            Dim mymac As String = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ScrtStr, "MD5")

            Dim v_result As String = "失败"
            If mac = mymac Then
                If succeed = "Y" Then     '支付成功
                    v_result = "成功"
                    Dim objOT As New OrderTransactionInfo
                    objOT.Amount = amount
                    objOT.OrderNumber = orderid
                    objOT.PaymentTypeID = PaymentGateway.gw99Bill
                    objOT.TransactionDate = dealdate
                    Return objOT
                End If
            Else        '签名错误

            End If
            Return Nothing
        End Function

        '<form name="frm" method="post" action="https://www.99bill.com/webapp/receiveMerchantInfoAction.do">
        '<input id="merchant_id" type="hidden" runat="server">
        '<input id="orderid"  type="hidden"  runat="server">
        '<input id="amount"  type="hidden"  runat="server">
        '<input id="currency"  type="hidden"  runat="server">
        '<input id="isSupportDES"  type="hidden"  runat="server">
        '<input  id="mac"  type="hidden"  runat="server">
        '<input id="merchant_url"  type="hidden"  runat="server">
        '<input id="pname"  type="hidden"  runat="server">
        '<input id="commodity_info"  type="hidden"  runat="server">
        '<input id="merchant_param" type="hidden"   runat="server">
        '<input id="pemail" type="hidden"   runat="server">
        '<input id="pid" type="hidden"   runat="server">
        '<input name="payby99bill"  type="image" src="../about99bill/button/button_99bill_tj1.gif"  value="快钱支付">
        '</form>
        Public Function Send(ByVal orderID As Integer) As String Implements IPayment.Send
            'Dim objOC As New OrderController
            Dim objPC As New PaymentController

            Dim order As OrderInfo = OrderController.GetOrder(orderID)
            Dim pay As PaymentMethodInfo = objPC.GetPaymentMethodInfo(PaymentGateway.gw99Bill)
            Dim pValues As New Generic.Dictionary(Of String, String)

            Dim gateway As String = "https://www.99bill.com/webapp/receiveMerchantInfoAction.do" '支付接口
            Dim merchant_key As String = pay.MerchantKey '商户密钥
            Dim commodity_info As String = Web.HttpUtility.UrlEncode(String.Format("NO:{0}", order.OrderNumber))
            Dim merchant_url As String = Utility.GetSiteRoot & "/PaymetRecive.aspx?PayType=" & CInt(pay.PaymentGateway).ToString
            Dim ScrtStr As String = "merchant_id=" & pay.MerchantID & "&orderid=" & order.OrderNumber & "&amount=" & order.TotalFee & "&merchant_url=" & merchant_url & "&merchant_key=" & merchant_key
            Dim mac As String = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ScrtStr, "MD5")

            pValues.Add("merchant_id", pay.MerchantID) '商户编号
            pValues.Add("orderid", order.OrderNumber) '订单编号
            pValues.Add("amount", order.TotalFee) '订单金额
            pValues.Add("currency", "1") '货币类型,1为人民币
            pValues.Add("isSupportDES", "2") '是否安全校验,2为必校验,推荐
            pValues.Add("mac", mac)
            pValues.Add("merchant_url", merchant_url) '支付结果返回地址
            pValues.Add("pname", Web.HttpUtility.UrlEncode(order.BillingName)) '支付人姓名,如果含中文请通过System.Web.HttpUtility.UrlEncode()编码
            pValues.Add("commodity_info", commodity_info) '商品信息,如果含中文请通过System.Web.HttpUtility.UrlEncode()编码
            pValues.Add("merchant_param", "") '商户私有参数
            pValues.Add("pemail", "") '传递email到快钱网关页面
            pValues.Add("pid", "") '代理/合作伙伴商户编

            Return objPC.WriteSendString(gateway, pValues)

        End Function


    End Class



End Namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -