RSS
热门关键字:  虚拟主机技术  vps团购  discuz架构  虚拟主机团购  curl
当前位置 :| 团购首页>网站编程>ASP>

asp各种在线支付接口的类(含aspMD5加密)

来源: 作者: 时间:2008-09-02 Tag: 点击:

<%
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

 

 


    由于各种原因,我们无法获知[asp各种在线支付接口的类(含aspMD5加密)]原创作者,如侵犯了您的版权,请您及时联系我们!
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册