<%
dim Tmp1,pay_number,pay_signa,pay_back,pay_currency,pay_url,v_moneytype,pay_alipay_number,pay_alipay_signa,pay_alipay_currency,pay_alipay_url
Tmp1 = Split(YSvoid.Web_Payment,"|")
pay_number=Tmp1(0) '网银商户代号
pay_signa=Tmp1(1) '网银商户支付私钥, 要与网银管理中心里设置的值相同
pay_currency=Tmp1(2) '网银货币种类(该值请勿乱改动)
pay_url=Tmp1(3) '网银支付网关入口(请不要随意更改)
pay_back=Tmp1(4) '网银支付成功后默认的返回(URL)地址
pay_alipay_number=Tmp1(5) '支付宝商户代号
pay_alipay_signa=Tmp1(6) '支付宝商户支付私钥, 要与网银管理中心里设置的值相同
pay_alipay_currency=Tmp1(7) '支付宝货币种类(该值请勿乱改动)
pay_alipay_url=Tmp1(8) '支付宝支付网关入口(请不要随意更改)
function fm_price(pvar,pt)
if not isnumeric(pvar) then
fm_price=0
exit function
end if
dim nvar,ni
nvar=formatnumber(pvar)
nvar=replace(nvar,",","")
if left(nvar,1)="." then
nvar="0"&nvar
end if
if pt=1 then
fm_price=nvar
exit function
end if
for ni=0 to 1
if cstr(right(nvar,1))="0" then
nvar=left(nvar,len(nvar)-1)
else
ni=1
end if
next
if cstr(right(nvar,1))="." then
nvar=left(nvar,len(nvar)-1)
end if
if not isnumeric(nvar) then nvar=0
fm_price=csng(nvar)
end function
function pay_encrypt(pvar)
pay_encrypt=YSvoid_md5(pvar,"long")
end function
class YSvoid_pay
public back_url,pay_sort,pay_ordernum,pay_amount,pay_username,pay_address,pay_post,pay_phone,pay_email,pay_carry,pay_remark,frm_target,frm_js,val_num
private sub class_initialize()
back_url=""
frm_target=true
frm_js=true
val_num=0
end sub
public function sort_type(ts)
dim temp1
ts=replace(ts,"'","")
ts=replace(ts,"""","")
ts=replace(ts,"*","")
ts=replace(ts,"#","")
ts=replace(ts,"$","")
ts=replace(ts,"%","")
ts=replace(ts," ","")
select case ts
case "emoney"
temp1=ts
case "shop"
temp1=ts
case else
temp1=ts
end select
sort_type=temp1
end function
public sub pay_return()
dim re_safety,var_tmp,v_pstatus,v_moneytype,v_pmode
pay_ordernum=trim(request.form("v_oid")) '定单号
pay_amount=trim(request.form("v_amount")) '订单实际支付金额
re_safety=request.form("v_md5str") 'Md5校验串
v_pstatus=trim(request.form("v_pstatus")) '支付状态
pay_currency=trim(request.form("v_moneytype")) '货币种类
if request.form("v_md5str")="" then
val_num=1
exit sub
end if
var_tmp=Ucase(pay_encrypt(cstr(pay_ordernum)&cstr(v_pstatus)&cstr(pay_amount)&cstr(pay_currency)&cstr(pay_signa))) '顺序为定单号, 支付状态, 订单实际支付金额, 货币种类, 私匙
if re_safety<>var_tmp then
val_num=2
exit sub
end if
end sub
public sub pay_frm(ftype)
dim temp1
pay_amount=fm_price(pay_amount,1)
dim var_tmp,pay_safety
pay_sort=sort_type(pay_sort)
var_tmp=cstr(fm_price(pay_amount,1))&cstr(pay_currency)&cstr(pay_ordernum)&cstr(pay_number)&cstr(back_url)&cstr(pay_signa)
pay_safety=Ucase(pay_encrypt(var_tmp))
if back_url="" then back_url=pay_back
temp1=vbcrlf&"<form name=YSvoid_pay_frm action='"&pay_url&"' method=post"
if frm_target then temp1=temp1&" target=pay_win"
temp1=temp1&">" & _
vbcrlf&"<input type=hidden name=v_mid value='"&pay_number&"'>" & _
vbcrlf&"<input type=hidden name=v_moneytype value='"&pay_currency&"'>" & _
vbcrlf&"<input type=hidden name=v_oid value='"&pay_ordernum&"'>" & _
vbcrlf&"<input type=hidden name=v_amount value='"&pay_amount&"'>" & _
vbcrlf&"<input type=hidden name=v_rcvname value='"&pay_username&"'>" & _
vbcrlf&"<input type=hidden name=v_rcvaddr value='"&pay_address&"'>" & _
vbcrlf&"<input type=hidden name=v_rcvpost value='"&pay_post&"'>" & _
vbcrlf&"<input type=hidden name=v_rcvtel value='"&pay_phone&"'>" & _
vbcrlf&"<input type=hidden name=v_orderemail value='"&pay_email&"'>" & _
vbcrlf&"<input type=hidden name=remark2 value='"&pay_carry&"'>" & _
vbcrlf&"<input type=hidden name=remark1 value='"&pay_remark&"'>" & _
vbcrlf&"<input type=hidden name=v_url value='"&back_url&"'>" & _
vbcrlf&"<input type=hidden name=v_md5info value='"&pay_safety&"'>" & _
vbcrlf&"</form>"
if frm_js then
temp1=temp1&vbcrlf&"<script language=javascript>" & _
vbcrlf&"<!--"
end if
temp1=temp1&vbcrlf&"function YSvoid_online_pay()" & _
vbcrlf&"{"
if frm_target then temp1=temp1&vbcrlf&" window.open('about:blank','pay_win');"
temp1=temp1&vbcrlf&" document.YSvoid_pay_frm.submit();" & _
vbcrlf&"}"
if ftype=1 then temp1=temp1&vbcrlf&"YSvoid_online_pay();"
if frm_js then
temp1=temp1&vbcrlf&"-->" & _
vbcrlf&"</script>"
end if
response.write temp1
end sub
end class
class YSvoid_alipay
Public sellerEmail,securityCode,Cmd,frm_target,frm_js,ordinaryFee,expressFee,md5Obj,alipayNotifyURL
Public REQUEST_PAYTO_URL 'payto连接地址
Public DEFAULT_ENCODING '默认编码
'构造函数,初始化各必要变量
Public Sub myAlipay_Initialize()
sellerEmail = pay_alipay_number '您的支付宝认证Email
securityCode = pay_alipay_signa '安全校验码
Cmd = pay_alipay_currency '命令编号
ordinaryFee = "12.00" '平邮费用
expressFee = "20.00" '快递费用
REQUEST_PAYTO_URL = pay_alipay_url
alipayNotifyURL = "http://notify.alipay.com/trade/notify_query.do?"
DEFAULT_ENCODING = "GBK"
frm_target=true
frm_js=true
Set md5Obj = New MD5
md5Obj.MD5_Initialize()
End Sub
'生成交易Form
Public sub generateShopPaytoURL(s1,s2,s3,s4,s5,s7,s8,s9,s10,s11,s12,s13,s15,s16,s17,s18,ftype)
dim temp1,md5Str
md5Str= "cmd" & s3 & _
"subject" & s5 & _
"body" & s7 & _
"order_no" & s4 & _
"price" & s8 & _
"type" & s10 & _
"number" & s9 & _
"transport" & s13 & _
"ordinary_fee" & s11 & _
"express_fee" & s12 & _
"seller" &s1 & _
"buyer" & s16 & _
"buyer_name" & s15 & _
"buyer_address" & s17 & _
"buyer_zipcode" & s18 & _
s2
temp1=vbcrlf&"<form name=YSvoid_pay_frm action='"&REQUEST_PAYTO_URL & s1&"' method=get"
if frm_target then temp1=temp1&" target=pay_win"
temp1=temp1&">" & _
vbcrlf&"<input type=hidden name=cmd value='"&s3&"'>" & _
vbcrlf&"<input type=hidden name=subject value='"&s5&"'>" & _
vbcrlf&"<input type=hidden name=body value='"&s7&"'>" & _
vbcrlf&"<input type=hidden name=order_no value='"&s4&"'>" & _
vbcrlf&"<input type=hidden name=price value='"&s8&"'>" & _
vbcrlf&"<input type=hidden name=type value='"&s10&"'>" & _
vbcrlf&"<input type=hidden name=number value='"&s9&"'>" & _
vbcrlf&"<input type=hidden name=transport value='"&s13&"'>" & _
vbcrlf&"<input type=hidden name=ordinary_fee value='"&s11&"'>" & _
vbcrlf&"<input type=hidden name=express_fee value='"&s12&"'>" & _
vbcrlf&"<input type=hidden name=buyer value='"&s16&"'>" & _
vbcrlf&"<input type=hidden name=buyer_name value='"&s15&"'>" & _
vbcrlf&"<input type=hidden name=buyer_address value='"&s17&"'>" & _
vbcrlf&"<input type=hidden name=buyer_zipcode value='"&s18&"'>" & _
vbcrlf&"<input type=hidden name=ac value='"&generatePaytoMD5(md5Str,0)&"'>" & _
vbcrlf&"</form>"
if frm_js then
temp1=temp1&vbcrlf&"<script language=javascript>" & _
vbcrlf&"<!--"
end if
temp1=temp1&vbcrlf&"function YSvoid_online_alipay()" & _
vbcrlf&"{"
if frm_target then temp1=temp1&vbcrlf&" window.open('about:blank','pay_win');"
temp1=temp1&vbcrlf&" document.YSvoid_pay_frm.submit();" & _
vbcrlf&"}"
if ftype=1 then temp1=temp1&vbcrlf&"YSvoid_online_alipay();"
if frm_js then
temp1=temp1&vbcrlf&"-->" & _
vbcrlf&"</script>"
end if
response.write temp1
End sub
'取得payto交易的MD5加密串
Public Function generatePaytoMD5(strTemp,ty)
generatePaytoMD5 = md5Obj.md5(strTemp)
if ty=1 then set md5Obj=nothing
End Function
'检查返回信息是否来自支付宝,如果 Cstr(ReturnState) 不是 "true" 和 "false" ,就是错误信息
Public Function ReturnState(msg_id,order_no)
dim Retrieval,strURL
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
strURL = "http://notify.alipay.com/trade/notify_query.do?msg_id=" & msg_id
strURL = strURL & "&email=" & sellerEmail & "&order_no=" & order_no
Retrieval.open "GET", strURL, False, "", ""
Retrieval.send()
ReturnState = Retrieval.ResponseText
Set Retrieval = Nothing
End Function
'私有接口,取得请求后返回的html
Public Function getHTTPURL(strPath)
Dim strTemp
strTemp = GetBody(strPath)
getHTTPURL = BytesToBstr(strTemp,"GB2312")
End function
'私有接口,取得请求后返回的html Stream
Private Function GetBody(strURL)
On Error Resume Next
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "GET", strURL, False, "", ""
.Send
GetBody = .ResponseBody
End With
Set Retrieval = Nothing
End Function
'私有接口,转换Stream-->String
Private Function BytesToBstr(strBody,strCharset)
Dim streamObj
set streamObj = Server.CreateObject("ADODB.Stream")
streamObj.Type = 1
streamObj.Mode = 3
streamObj.Open
streamObj.Write strBody
streamObj.Position = 0
streamObj.Type = 2
streamObj.Charset = strCharset
BytesToBstr = streamObj.ReadText
streamObj.Close
Set streamObj = Nothing
End Function
end class
%>
![]()
由于各种原因,我们无法获知[asp各种网上支付接口函数]原创作者,如侵犯了您的版权,请您及时联系我们!

