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

📄 cls_payment.asp

📁 网络上经典的图片程序
💻 ASP
📖 第 1 页 / 共 2 页
字号:
	Private Sub Payment_nps()
		On Error Resume Next
		Dim digest, OrderMessage
		Dim m_url, m_orderid, m_oamount, modate, m_ocomment
		Dim m_ocurrency, m_language, s_postcode, s_tel, s_eml, r_postcode, r_tel, r_eml
		m_orderid = Trim(sOrderid)                      '---- 定单号
		m_oamount = sPaymoney                           '---- 金 额
		m_url = sReturnurl                              '---- 返回URL
		m_ocurrency = sMoneytype                        '---- 币    种
		m_language = sLanguage                          '---- 语言选择
		s_postcode = sPostcode                          '---- 消费者邮码
		s_tel = sTelephone                              '---- 消费者邮码
		s_eml = sEmail                                  '---- 消费者邮件
		r_postcode = sPostcode                          '---- 收货人电话
		r_tel = sTelephone                              '---- 收货人电话
		r_eml = sEmail                                  '---- 收货人邮件
		m_ocomment = sComment                           '---- 备 注
		modate = Date                                   '---- 日 期
		
		OrderMessage = sPaymentid & m_orderid & m_oamount & m_ocurrency & m_url & m_language & s_postcode & s_tel & s_eml & r_postcode & r_tel & r_eml & modate & sPaymentkey
		digest = UCase(Trim(vmd.MD5(OrderMessage,True)))
		
		PaymentContent = "<table>         <tr>" & vbNewLine
		PaymentContent = PaymentContent & "<form method=""post"" action=""https://payment.nps.cn/VirReceiveMerchantAction.do"" name=""payform"" target=""_blank"">" & vbNewLine
		PaymentContent = PaymentContent & "        <td>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""M_ID"" value=""" & sPaymentid & """>" & vbNewLine                         '---- 商 家 号
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""MOrderID"" value=""" & m_orderid & """>" & vbNewLine                       '---- 订 单 号
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""MOAmount"" value=""" & m_oamount & """>" & vbNewLine                       '---- 订单金额
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""MOCurrency"" value=""" & m_ocurrency & """>" & vbNewLine                   '---- 币    种
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""M_URL"" value=""" & m_url & """>" & vbNewLine                              '---- 返回地址
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""M_Language"" value=""" & m_language & """>" & vbNewLine                    '---- 语言选择
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""S_Name"" value=""" & sConsignee & """>" & vbNewLine                        '---- 消费者姓名
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""S_Address"" value=""" & sAddress & """>" & vbNewLine                       '---- 消费者住址
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""S_PostCode"" value=""" & s_postcode & """>" & vbNewLine                    '---- 消费者邮码
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""S_Telephone"" value=""" & s_tel & """>" & vbNewLine                        '---- 消费者电话
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""S_Email"" value=""" & s_eml & """>" & vbNewLine                            '---- 消费者邮件
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""R_Name"" value=""" & sConsignee & """>" & vbNewLine                        '---- 收货人姓名
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""R_Address"" value=""" & sAddress & """>" & vbNewLine                      '---- 收货人住址
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""R_PostCode"" value=""" & r_postcode & """>" & vbNewLine                    '---- 收货人邮码
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""R_Telephone"" value=""" & r_tel & """>" & vbNewLine                        '---- 收货人电话
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""R_Email"" value=""" & r_eml & """>" & vbNewLine                           '---- 收货人邮件
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""MOComment"" value=""" & m_ocomment & """>" & vbNewLine                     '---- 备     注
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""MODate"" value=""" & modate & """>" & vbNewLine                            '---- 时间字段
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""State"" value=""" & sPstate & """>" & vbNewLine                            '---- 交易状态
		PaymentContent = PaymentContent & "<input type=""hidden"" Name=""digestinfo"" value=""" & digest & """>" & vbNewLine                        '---- 签名认证
		PaymentContent = PaymentContent & "<input Type=""submit"" Name=""submit"" value=""" & submit_value & """ class=""Button""> " & vbNewLine            '---- 确认支付
		PaymentContent = PaymentContent & "        </td>   </tr>" & vbNewLine
		PaymentContent = PaymentContent & "</form>" & vbNewLine
		PaymentContent = PaymentContent & "</table>" & vbNewLine
	End Sub
	'================================================
	'过程名:payment_chinabank
	'作  用:网银在线支付平台
	'================================================
	Private Sub Payment_chinabank()
		On Error Resume Next
		Dim v_mid, v_amount, v_oid, v_moneytype, style, v_url, remark1, remark2
		Dim OrderMessage, v_md5info
		Dim v_rcvname, v_rcvaddr, v_rcvtel, v_rcvpost, v_ordername, v_orderemail
		v_mid = sPaymentid                              '---- 商 家 号
		v_amount = sPaymoney                            '---- 金 额
		v_oid = Trim(sOrderid)                          '---- 定单号
		v_moneytype = sMoneytype                        '---- 币    种
		style = sPstate                                 '---- 指网关模式0(普通),1(银行列表中带外卡)
		v_url = sReturnurl                              '---- 返回URL
		remark1 = sComment                              '---- 备 注1
		remark2 = sTelephone                               '---- 备 注2

		OrderMessage = v_amount & v_moneytype & v_oid & v_mid & v_url & sPaymentkey
		v_md5info = UCase(Trim(vmd.MD5(OrderMessage,True)))                                                  '网银支付平台对MD5值只认大写字符串,所以小写的MD5值得转换为大写

		'**********以下几项与网上支付货款无关,建议不用**************
		v_rcvname = sConsignee                          '---- 收  货  人
		v_rcvaddr = sAddress                            '---- 收货人地址
		v_rcvtel = sTelephone                            '---- 收货人电话
		v_rcvpost = sTelephone                           '---- 消费者邮码
		v_ordername = sConsigner                        '---- 发  货  人
		v_orderemail = sEmail                           '---- 收货人邮件

		PaymentContent = "<table>         <tr>" & vbNewLine
		PaymentContent = PaymentContent & "<form method=""post"" action=""https://pay.chinabank.com.cn/select_bank"" name=""payform"" target=""_blank"">" & vbNewLine
		PaymentContent = PaymentContent & "        <td>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_md5info"" value=""" & v_md5info & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_mid"" value=""" & v_mid & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_oid"" value=""" & v_oid & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_amount"" value=""" & v_amount & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_moneytype""  value=""" & v_moneytype & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_url"" value=""" & v_url & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""style"" value=""" & style & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""remark1"" value=""" & remark1 & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""remark2"" value=""" & remark2 & """>" & vbNewLine
		'----- 以下几项与网上支付货款无关,建议不用 ----
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_rcvname"" value=""" & v_rcvname & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_rcvaddr"" value=""" & v_rcvaddr & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_rcvtel"" value=""" & v_rcvtel & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_rcvpost"" value=""" & v_rcvpost & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_ordername""  value=""" & v_ordername & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""hidden"" name=""v_orderemail""  value=""" & v_orderemail & """>" & vbNewLine
		PaymentContent = PaymentContent & "<input type=""submit"" name=""v_action"" value=""" & submit_value & """ class=""Button"">" & vbNewLine
		PaymentContent = PaymentContent & "        </td>   </tr>" & vbNewLine
		PaymentContent = PaymentContent & "</form>" & vbNewLine
		PaymentContent = PaymentContent & "</table>" & vbNewLine
	End Sub
	'================================================
	'过程名:ReceivePage
	'作  用:在线支付返回页面
	'================================================
	Public Sub ReceivePage()
		On Error Resume Next
		If CInt(sPlatform) = 1 Then
			Call Receive_nps
		ElseIf CInt(sPlatform) = 2 Then
			Call Receive_chinabank
		Else
			ErrNumber = 6
			Exit Sub
		End If
	End Sub
	Private Sub Receive_nps()
		On Error Resume Next
		Dim OrderMessage, md5text, BankPayCode, md5info
		sPaymentid = Trim(Request("m_id"))                            '---- 商 家 号
		sOrderid = Trim(Request("m_orderid"))                         '---- 定 单 号
		sPaymoney = Trim(Request("m_oamount"))                        '---- 订单金额
		sComment = Trim(Request("m_ocomment"))                        '---- 备注
		sConsignee = Trim(Request("r_name"))                          '---- 收货人
		sAddress = Trim(Request("r_addr"))                            '---- 收货人地址
		sPostcode = Trim(Request("r_postcode"))                       '---- 收货人邮编
		sTelephone = Trim(Request("r_tel"))                           '---- 收货人电话
		sEmail = Trim(Request("r_eml"))                               '---- 收货人E-Mail
		sConsigner = Trim(Request("s_name"))                          '---- 发货人
		sPstate = Trim(Request("m_status"))                           '---- 交易状态
		sMoneytype = Trim(Request("m_ocurrency"))                     '---- 币种
		md5info = Trim(Request("newmd5info"))                         '---- 签名认证
		If Trim(Request("md5info")) = "" Then
			ErrNumber = 3
			Exit Sub
		End If
		OrderMessage = sPaymentid & sOrderid & sPaymoney & sPaymentkey & sPstate

		md5text = Trim(vmd.MD5(OrderMessage,True))

		If UCase(md5text) <> UCase(md5info) Then
			ErrNumber = 4
			Exit Sub
		Else
			If ChkNumeric(sPstate) = 2 Then
				'---- 支付成功
				ErrNumber = 0
				Exit Sub
			Else
				ErrNumber = 4
				Exit Sub
			End If
		End If
	End Sub

	Private Sub Receive_chinabank()
		On Error Resume Next
		Dim v_md5str, md5text, OrderMessage, BankPayCode
		sPaymentid = sPaymentid                                       '---- 商 家 号
		sOrderid = Trim(Request("v_oid"))                             '---- 定 单 号
		sPaymoney = Trim(Request("v_amount"))                         '---- 订单金额
		sComment = Trim(Request("remark1"))                           '---- 备注
		sConsignee = Trim(Request("v_rcvname"))                       '---- 收货人
		sAddress = Trim(Request("v_rcvaddr"))                         '---- 收货人地址
		sPostcode = Trim(Request("v_rcvpost"))                        '---- 收货人邮编
		sTelephone = Trim(Request("remark2"))                         '---- 收货人电话
		sEmail = Trim(Request("v_orderemail"))                        '---- 收货人E-Mail
		sConsigner = Trim(Request("v_ordername"))                     '---- 发货人
		sMoneytype = Trim(Request("v_moneytype"))                     '---- 币种
		sPstate = Trim(Request("v_pstatus"))                          '---- 交易状态
		v_md5str = Trim(Request("v_md5str"))
		If Trim(Request("v_md5str")) = "" Then
			ErrNumber = 3
			Exit Sub
		End If
		OrderMessage = sOrderid & sPstate & sPaymoney & sMoneytype & sPaymentkey

		md5text = Trim(vmd.MD5(OrderMessage,True))
		
		If UCase(md5text) <> UCase(v_md5str) Then
			ErrNumber = 4
			Exit Sub
		Else
			If ChkNumeric(sPstate) = 20 Then
				'---- 支付成功
				ErrNumber = 0
				Exit Sub
			Else
				'---- 支付失败
				ErrNumber = 4
				Exit Sub
			End If
		End If
	End Sub

	'=============================================================
	'函数名:ReadPayMoney
	'作  用:读取要支付的金钱
	'参  数:money   ----实际金钱
	'返回值:加上手续费后的金钱
	'=============================================================
	Public Function ReadPayMoney(ByVal money, ByVal Reduce)
		On Error Resume Next
		If money = 0 Then
			ReadPayMoney = 0
			Exit Function
		End If
		Dim MoneyPercent, valPercent
		
		MoneyPercent = mPercent / 100
		If MoneyPercent = 0 Then
			ReadPayMoney = money
		Else
			If CBool(Reduce) = True Then
				valPercent = Round(money / (1 + 1 * MoneyPercent), 2)
				ReadPayMoney = CCur(valPercent)
			Else
				valPercent = Round(money * MoneyPercent, 2)
				ReadPayMoney = CCur(money + valPercent)
			End If
		End If
	End Function

	Public Function ChkNumeric(ByVal CHECK_ID)
		If CHECK_ID <> "" And IsNumeric(CHECK_ID) Then _
			CHECK_ID = CLng(CHECK_ID) _
		Else _
			CHECK_ID = 0
		ChkNumeric = CHECK_ID
	End Function
End Class
%>

⌨️ 快捷键说明

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