📄 pm99bill.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 + -