📄 classpayonline.asp
字号:
<%
Class ClassPayOnline
Public FormAction, HiddenField
Public BookNumber, UserName, Email, Address, Mobile, Telephone, PayDate, ZipCode, BackURL, PayMoney
Public EnablePayOnline, PayOnlineProvider, PayOnlineUserName, PayOnlineMD5Key, Partner, PayOnlineRate, PayOnlineProviderName
Private Sub Class_Initialize
End Sub
Private Sub Class_Terminate
End Sub
Public Sub Execute()
Dim ConfigCmd, rsConfig, MD5String
Call EL_Common.InitCommonCmd(ConfigCmd, rsConfig, "EL_Config", "EnablePayOnline,PayOnlineProvider,PayOnlineUserName,PayOnlineMD5Key,Partner,PayOnlineRate", "1=1")
EnablePayOnline = rsConfig(0)
PayOnlineProvider = rsConfig(1)
PayOnlineUserName = rsConfig(2)
PayOnlineMD5Key = rsConfig(3)
Partner = rsConfig(4)
PayOnlineRate = rsConfig(5)
rsConfig.Close()
Set rsConfig = Nothing
If EnablePayOnline = False Then
EL_Common.ShowErrorMsg(EL_Common.Lang("BaseConfig.DisabledPayOnline", "本站暂时不接受在线支付"))
Call ApplicationTerminate()
End If
HiddenField = ""
If PayOnlineRate <> 0 Then
PayMoney = PayMoney + PayMoney * (PayOnlineRate / 100)
End If
Select Case PayOnlineProvider
Case 1, 2: '网银在线
If PayOnlineProvider = 0 Then
FormAction = "https://pay.chinabank.com.cn/select_bank" '网银在线1.1版
PayOnlineProviderName = "网银在线1.1版"
Else
FormAction = "https://pay3.chinabank.com.cn/PayGate" '网银在线2.0版
PayOnlineProviderName = "网银在线2.0版"
End If
MD5String = Trim(PayMoney) & "CNY" & Trim(BookNumber) & Trim(PayOnlineUserName) & Trim(BackURL) & Trim(PayOnlineMD5Key)
MD5String = UCase(MD5(MD5String, 32))
HiddenField = "<input type='hidden' name='v_mid' value='"& EL_Common.ServerHTMLEncode(PayOnlineUserName) &"'>" '商户编号
HiddenField = HiddenField &"<input type='hidden' name='v_oid' value='"& EL_Common.ServerHTMLEncode(BookNumber) &"'>" '订单号
HiddenField = HiddenField &"<input type='hidden' name='v_rcvname' value='"& EL_Common.ServerHTMLEncode(UserName) &"'>" '收货人姓名
HiddenField = HiddenField &"<input type='hidden' name='v_rcvaddr' value='"& EL_Common.ServerHTMLEncode(Address) &"'>" '收货人地址
HiddenField = HiddenField &"<input type='hidden' name='v_rcvtel' value='"& EL_Common.ServerHTMLEncode(Telephone) &"'>" '收货人电话
HiddenField = HiddenField &"<input type='hidden' name='v_rcvpost' value='"& EL_Common.ServerHTMLEncode(ZipCode) &"'>" '收货人邮编
HiddenField = HiddenField &"<input type='hidden' name='v_ordername' value='"& EL_Common.ServerHTMLEncode(UserName) &"'>" '付款人姓名
HiddenField = HiddenField &"<input type='hidden' name='v_ymd' value='"& EL_Common.ServerHTMLEncode(PayDate) &"'>" '订单日期
HiddenField = HiddenField &"<input type='hidden' name='v_amount' value='"& EL_Common.ServerHTMLEncode(PayMoney )&"'>" '金额
HiddenField = HiddenField &"<input type='hidden' name='v_orderstatus' value='1'>" '商户配货状态,0为未配齐,1为已配齐
HiddenField = HiddenField &"<input type='hidden' name='v_moneytype' value='CNY'>" '支付币种 CNY为人民币
HiddenField = HiddenField &"<input type='hidden' name='v_md5info' value='"& MD5String &"'>" 'MD5字符串值
HiddenField = HiddenField &"<input type='hidden' name='v_url' value='"& BackURL &"'>" '返回商户页面地址
Case 3: '中国在线支付网
FormAction = "http://www.ipay.cn/4.0/bank.shtml"
PayOnlineProviderName = "中国在线支付网"
MD5String = PayOnlineUserName & BookNumber & PayMoney & Email & Mobile & PayOnlineMD5Key
MD5String = MD5(MD5String, 32)
HiddenField = "<input type='hidden' name='v_mid' value='"& EL_Common.ServerHTMLEncode(PayOnlineUserName) &"'>" '商户编号
HiddenField = HiddenField &"<input type='hidden' name='v_oid' value='"& EL_Common.ServerHTMLEncode(BookNumber) &"'>" '订单号
HiddenField = HiddenField &"<input type='hidden' name='v_amount' value='"& EL_Common.ServerHTMLEncode(PayMoney) &"'>" '订单金额
HiddenField = HiddenField &"<input type='hidden' name='v_email' value='"& EL_Common.ServerHTMLEncode(Email) &"'>" '消费者Email地址
HiddenField = HiddenField &"<input type='hidden' name='v_mobile' value='"& EL_Common.ServerHTMLEncode(Mobile) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='v_tel' value='"& EL_Common.ServerHTMLEncode(Telephone) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='v_md5' value='"& MD5String &"'>"
HiddenField = HiddenField &"<input type='hidden' name='v_url' value='"& BackURL &"'>" '返回网址
Case 4: '易付通
FormAction = "http://pay.xpay.cn/Pay.aspx"
PayOnlineProviderName = "易付通"
MD5String = PayOnlineMD5Key &":"& PayMoney &","& BookNumber &","& PayOnlineUserName &",bank,,sell,,2.0"
MD5String = MD5(MD5String, 32)
HiddenField = "<input type='hidden' name='Tid' value='"& EL_Common.ServerHTMLEncode(PayOnlineUserName) &"'>" '商户编号
HiddenField = HiddenField &"<input type='hidden' name='Bid' value='"& EL_Common.ServerHTMLEncode(BookNumber) &"'>" '订单号
HiddenField = HiddenField &"<input type='hidden' name='Prc' value='"& EL_Common.ServerHTMLEncode(PayMoney) &"'>" '订单金额
HiddenField = HiddenField &"<input type='hidden' name='Card' value='bank'>" '支付方式 银行卡支付:bank 联通缴费卡:unicom 易付通帐户:xpay Ebilling电话:ebilling 国际卡支付:ibank
HiddenField = HiddenField &"<input type='hidden' name='Scard' value=''>" '支持的支付方式
HiddenField = HiddenField &"<input type='hidden' name='ActionCode' value='sell'>" '交易码,目前系统只支持支付sell
HiddenField = HiddenField &"<input type='hidden' name='ActionParameter' value=''>" '业务代码, 交易码为sell时,该参数请传空
HiddenField = HiddenField &"<input type='hidden' name='Ver' value='2.0'>" '当前版本请赋值2.0
HiddenField = HiddenField &"<input type='hidden' name='Pdt' value='"& EL_Common.ServerHTMLEncode(SiteName & BookNumber) &"'>" '产品名称,可写自己的网站名称
HiddenField = HiddenField &"<input type='hidden' name='type' value=''>" '产品类型
HiddenField = HiddenField &"<input type='hidden' name='lang' value='gb2312'>" '页面语言 简体中文gb2312
HiddenField = HiddenField &"<input type='hidden' name='md' value='"& MD5String &"'>"
HiddenField = HiddenField &"<input type='hidden' name='url' value='"& BackURL &"'>"
Case 5: '支付宝支付
PayOnlineProviderName = "支付宝支付"
FormAction = "https://www.alipay.com/cooperate/gateway.do?"
Dim service, partner, notify_url, return_url, agent, sign, sign_type, subject, body
Dim out_trade_no, price, quantity, seller_email
Dim Md5Str
agent = "" '代理商ID
body = SiteName & BookNumber '商品描述
notify_url = "" '通知URL
out_trade_no = BookNumber '订单号
partner = Partner '合作伙伴ID
price = PayMoney '商品单价
quantity = "1" '购买数量
return_url = BackURL '返回URL
seller_email = PayOnlineUserName '卖家在支付宝的注册Email
service = "create_digital_goods_trade_p" '接口名称
subject = SiteName & BookNumber '商品名称
sign_type = "MD5"
Md5Str = "agent="& agent
Md5Str = Md5Str &"&body="& body
Md5Str = Md5Str &"¬ify_url"& notify_url
Md5Str = Md5Str &"&out_trade_no="& out_trade_no
Md5Str = Md5Str &"&partner="& partner
Md5Str = Md5Str &"&price="& price
Md5Str = Md5Str &"&quantity="& quantity
Md5Str = Md5Str &"&return_url="& return_url
Md5Str = Md5Str &"&seller_email="& seller_email
Md5Str = Md5Str &"&service="& service
Md5Str = Md5Str &"&subject="& subject
FormAction = FormAction & Md5Str
Md5Str = Md5Str & PayOnlineMD5Key
sign = MD5(Md5Str, 32)
FormAction = FormAction
HiddenField = "<input type='hidden' name='service' value='"& EL_Common.ServerHTMLEncode(service) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='partner' value='"& EL_Common.ServerHTMLEncode(partner) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='notify_url' value='"& EL_Common.ServerHTMLEncode(notify_url) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='return_url' value='"& EL_Common.ServerHTMLEncode(return_url) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='agent' value='"& EL_Common.ServerHTMLEncode(agent) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='sign' value='"& EL_Common.ServerHTMLEncode(sign) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='sign_type' value='"& EL_Common.ServerHTMLEncode(sign_type) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='subject' value='"& EL_Common.ServerHTMLEncode(subject) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='body' value='"& EL_Common.ServerHTMLEncode(body) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='out_trade_no' value='"& EL_Common.ServerHTMLEncode(out_trade_no) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='price' value='"& EL_Common.ServerHTMLEncode(price) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='quantity' value='"& EL_Common.ServerHTMLEncode(quantity) &"'>"
HiddenField = HiddenField &"<input type='hidden' name='seller_email' value='"& EL_Common.ServerHTMLEncode(seller_email) &"'>"
'Case 6: '快钱支付
'FormAction = "https://www.99bill.com/webapp/receiveMerchantInfoAction.do"
'PayOnlineProviderName = "快钱支付"
'"merchant_id=" + merchant_id.Value + "&orderid=" + orderid.Value + "&amount=" + amount.Value + "&merchant_url=" + merchant_url.Value + "&merchant_key=" +merchant_key;
'MD5String = "merchant_id="& PayOnlineUserName &"&orderid="& BookNumber &"&amount="& PayMoney &"&merchant_url="& BackURL &"&merchant_key="& PayOnlineMD5Key
'MD5String = MD5(MD5String, 32)
'HiddenField = "<input type='hidden' name='merchant_id' value='"& EL_Common.ServerHTMLEncode(PayOnlineUserName) &"'>"
'HiddenField = HiddenField &"<input type='hidden' name='orderid' value='"& EL_Common.ServerHTMLEncode(BookNumber) &"'>"
'HiddenField = HiddenField &"<input type='hidden' name='amount' value='"& EL_Common.ServerHTMLEncode(PayMoney) &"'>"
'HiddenField = HiddenField &"<input type='hidden' name='currency' value='1'>"
'HiddenField = HiddenField &"<input type='hidden' name='isSupportDES' value='2'>"
'HiddenField = HiddenField &"<input type='hidden' name='pname' value='"& EL_Common.ServerHTMLEncode(UserName) &"'>"
'HiddenField = HiddenField &"<input type='hidden' name='mac' value='"& MD5String &"'>"
'HiddenField = HiddenField &"<input type='hidden' name='merchant_url' value='"& BackURL &"'>"
'Case 7: '快钱神州行
'Case 8: '西部支付
'FormAction = "http://www.yeepay.com/Pay/WestPayReceiveOrderFromMerchant.asp"
'PayOnlineProviderName = "西部支付"
'
'HiddenField = "<input type='hidden' name='MerchantID' value='"& EL_Common.ServerHTMLEncode(PayOnlineUserName) &"'>"
'HiddenField = HiddenField &"<input type='hidden' name='OrderNumber' value='"& EL_Common.ServerHTMLEncode(BookNumber) &"'>"
'HiddenField = HiddenField &"<input type='hidden' name='OrderAmount' value='"& EL_Common.ServerHTMLEncode(PayMoney) &"'>"
'HiddenField = HiddenField &"<input type='hidden' name='PostBackURL' value='"& BackURL &"'>"
Case 9: '上海环迅IPS
FormAction = "https://pay.ips.com.cn/ipayment.aspx"
PayOnlineProviderName = "上海环迅IPS"
MD5String = BookNumber & PayMoney & PayDate &"RMB"& PayOnlineUserName & PayOnlineMD5Key
MD5String = LCase(MD5(MD5String, 32))
HiddenField = "<input type='hidden' name='Mer_code' value='"& EL_Common.ServerHTMLEncode(PayOnlineUserName) &"'>" '商户编号
HiddenField = HiddenField &"<input type='hidden' name='Billno' value='"& EL_Common.ServerHTMLEncode(BookNumber) &"'>" '订单号
HiddenField = HiddenField &"<input type='hidden' name='Amount' value='"& EL_Common.ServerHTMLEncode(PayMoney) &"'>" '金额
HiddenField = HiddenField &"<input type='hidden' name='Date' value='"& EL_Common.ServerHTMLEncode(PayDate) &"'>" '日期
HiddenField = HiddenField &"<input type='hidden' name='Currency_Type' value='RMB'>" '币种
HiddenField = HiddenField &"<input type='hidden' name='Gateway_Type' value='01'>" '支付卡种 01—人民币借记卡(默认值) 02—国际信用卡(Visa/Master) 04—IPS帐户支付 08--EPOS支付
HiddenField = HiddenField &"<input type='hidden' name='SignMD5' value='"& MD5String &"'>"
HiddenField = HiddenField &"<input type='hidden' name='Merchanturl' value='"& BackURL &"'>"
Case Else:
EL_Common.ShowErrorMsg(EL_Common.Lang("BaseConfig.PayOnlineProviderError", "系统未设置在线支付接口,暂时不接受在线支付,如有问题请与管理员联系"))
Call ApplicationTerminate()
End Select
End Sub
Public Sub PayResult(ByVal ChannelID, ByVal BookTableName)
Dim BookNumber, PayStatus, PayResultString, PayAmount, MD5String, RequestMD5, RemarkString
Dim ConfigCmd, rsConfig, PayOnlineProvider, PayOnlineMD5Key, PayOnlineUserName
Dim i, j
Call EL_Common.InitCommonCmd(ConfigCmd, rsConfig, "EL_Config", "PayOnlineProvider,PayOnlineMD5Key,PayOnlineUserName", "1=1")
PayOnlineProvider = rsConfig(0)
PayOnlineMD5Key = rsConfig(1)
PayOnlineUserName = rsConfig(2)
rsConfig.Close()
Set rsConfig = Nothing
Set ConfigCmd = Nothing
Select Case PayOnlineProvider
Case 1, 2: '网银在线 成功:20
Dim Moneytype1, Remark1, Remark2, PayMode
BookNumber = EL_Common.ELRequest("v_oid", 1)
PayStatus = EL_Common.ELRequest("v_pstatus", 1)
PayResultString = EL_Common.ELRequest("v_pstring", 1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -