昨天帮一个客户写的,他的程序是老的asp,想实现微信在手机上下单付款,让帮忙给写一份asp微信支付的接口代码,昨天晚上闲着没事,搞了一个晚上才搞好,其实asp支付并不需要安装证书,其实asp支付也很好用,微信对asp的支持还是有的,回调入库等都很完善,不说了,上代码:

<%
'作者微信:18611436777
SET Wx = New WxAPI
If Session("openid")="" Then
Code = Trim(Request.QueryString("code"))
If Code = "" Then
wx.get_redirect_uri = "http://"&request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL")&"?"&request.QueryString
Response.Redirect(Wx.GetAuthorization_Code)
Else
Call Wx.GetAccess_Token(Code)
End If
End If
Set Wx=Nothing
set wxpay = New WxPayApi
Dim body,out_trade_no,attach,total_fee,Arr,sUrl
body = "微信支付测试(18611436777)"
out_trade_no = wxpay.GetDateTime
attach = "购买商品"'商户自定义数据包.
total_fee = "0.01" wxpay.setParameter "openid",Session("openid")'"oiQ6Bs4Vo0OWAAiHxVSbry7z6yzE"
wxpay.setParameter "body",body
wxpay.setParameter "out_trade_no",out_trade_no
wxpay.setParameter "attach",attach
wxpay.setParameter "total_fee",(total_fee)*100
wxpay.setParameter "trade_type","JSAPI"
wxpay.setParameter "spbill_create_ip","127.0.0.1"
wxpay.setParameter "notify_url",NOTIFY_URL
wxpay.setParameter "device_info","WEB" jsApiParameters = wxpay.get_Parameters
EditAddressParameters = wxpay.GetEditAddressParameters
'xml= wxpay.Get_Return_Xml()
'wxpay.Die jsApiParameters set wxpay = Nothing %> <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>微信安全支付</title>
<script type="text/javascript">
//调用微信JS api 支付
function jsApiCall()
{
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
<%= jsApiParameters %>,
function(res){
WeixinJSBridge.log(res.err_msg);
//alert(res.err_code+res.err_desc+res.err_msg);
if(res.err_msg.indexOf("ok")>0){
alert("付款成功!");
window.location.href='./';
}else if(res.err_msg.indexOf("cancel")>0){
alert("取消付款!");
window.location.href='./';
}else{
alert(res.err_code+res.err_desc+res.err_msg);
}
}
);
} function callpay()
{
if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', jsApiCall);
document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
}
}else{
jsApiCall();
}
}
</script>
<script type="text/javascript">
//获取共享地址
function editAddress()
{
WeixinJSBridge.invoke(
'editAddress',
<%= EditAddressParameters %>,
function(res){
var value1 = res.proviceFirstStageName;
var value2 = res.addressCitySecondStageName;
var value3 = res.addressCountiesThirdStageName;
var value4 = res.addressDetailInfo;
var tel = res.telNumber; //alert(value1 + value2 + value3 + value4 + ":" + tel);
var addrval = value1 + value2 + value3 + value4 + ":" + tel;
var addr = document.querySelector('#addr');
if(addrval !='NaN:undefined'){
addr.innerHTML = "收货地址:<br/>" + value1 + value2 + value3 + value4 + ":" + tel;
}
}
);
} </script>
</head>
<body>
<br/>
<font color="#9ACD32"><b>订单号:<span style="color:#f00;font-size:20px"><%= out_trade_no %></span></b></font><br/>
<font color="#9ACD32"><b>商品名称:<span style="color:#f00;font-size:20px"><%= body %></span></b></font><br/>
<font color="#9ACD32"><b>付款金额:<span style="color:#f00;font-size:50px"><%= total_fee %></span>元</b></font><br/>
<div align="center">
<button style="width:45%; height:50px; border-radius: 15px;background-color:#FE6714; border:0px #FE6714 solid; cursor: pointer; color:white; font-size:16px;" type="button" onClick="editAddress()" >使用微信地址</button>
<button style="width:45%; height:50px; border-radius: 15px;background-color:#FE6714; border:0px #FE6714 solid; cursor: pointer; color:white; font-size:16px;" type="button" onClick="callpay()" >立即支付</button> </div>
<div id="addr" style="color:#9ACD32;font-size:20px; margin-top:10px"></div>
</body>

  

asp微信支付代码v4.1无需证书版,带回调入库的asp支付源码的更多相关文章

  1. Asp.net Core中SignalR Core预览版的一些新特性前瞻,附源码(消息订阅与发送二进制数据)

    目录 SignalR系列目录(注意,是ASP.NET的目录.不是Core的) 前言 一晃一个月又过去了,上个月有个比较大的项目要验收上线.所以忙的脚不沾地.现在终于可以忙里偷闲,写一篇关于Signal ...

  2. asp微信支付代码证书文件post_url.aspx和post_url.aspx.cs源码下载

    很多朋友在网上找的asp支付代码中都没有这两个证书文件,只能是用别人的,但是如果别人把他的网站这个文件删了,你的支付也就不能用了,今天我就把大家需要的这两个asp微信支付代码证书文件post_url. ...

  3. 用c#开发微信(1)服务号的服务器配置和企业号的回调模式 - url接入 (源码下载)

    最近研究了下服务号的服务器配置和企业号的回调模式.真正实现完后,觉得很简单,但一开始还是走了点弯路,所以写了个web程序,只用改下配置文件里的参数就可以直接用了.下面介绍下详细的用法以及实现步骤. 本 ...

  4. iOS电商常见动画与布局、微信悬浮窗、音乐播放器、歌词解析、拖动视图等源码

    iOS精选源码 MXScroll 介绍 混合使用UIScrollView ios 电商demo(实现各种常见动画效果和页面布局) 一行代码集成微信悬浮窗 可拖动,大小的视图,可放置在屏幕边缘. 在使用 ...

  5. 微信小程序之蓝牙开发(详细读数据、写数据、附源码)

    本文将详细介绍微信小程序的蓝牙开发流程(附源码)准备:微信只支持低功耗蓝牙也就是蓝牙4.0,普通的蓝牙模块是用不了的,一定要注意. 蓝牙可以连TTL接到电脑上,再用XCOM调试 一开始定义的变量 va ...

  6. 微信小程序中如何实现分页下拉加载?(附源码)

    转眼间坚持写教你微信小程序系列已经有十节系列课程了,每天的工作压力繁重,小女子也不知道自己还能坚持这样的系列教程多久.只希望每篇教程真的对大家有帮助.这节课我们要介绍的就是如何实现分页的下拉加载,我们 ...

  7. asp.net core 2.0 web api + Identity Server 4 + angular 5 可运行前后台源码

    前台使用angular 5, 后台是asp.net core 2.0 web api + identity server 4. 从头编写asp.net core 2.0 web api 基础框架: 第 ...

  8. 微信公众号商城、小程序商城、H5商城 实例 前后端源码

    CRMEB客户管理+电商营销系统  https://gitee.com/ZhongBangKeJi/CRMEB 演示站后台: http://demo.crmeb.net/admin 账号:demo 密 ...

  9. 【转】asp.net(c#)加密解密算法之sha1、md5、des、aes实现源码详解

    原文地址:http://docode.top/Article/Detail/10003 目录: 1..Net(C#)平台下Des加密解密源代码 2..Net(C#)平台下Aes加密解密源代码 3..N ...

随机推荐

  1. 两款不错的Linux密码生成工具

    先介绍最简单的方法,Linux自带的 $ strings /dev/urandom | | ; echo whucNWhr35W6ZP0MxrLQ $ /dev/random | base64 | t ...

  2. flume中sink到hdfs,文件系统频繁产生文件,文件滚动配置不起作用?

    在测试hdfs的sink,发现sink端的文件滚动配置项起不到任何作用,配置如下: a1.sinks.k1.type=hdfs a1.sinks.k1.channel=c1 a1.sinks.k1.h ...

  3. git-本地仓库和远程仓库关联

    以github为例: 在github创建仓库 本地新建项目后执行:git init 将远程项目和本地项目关联:git remote add origin +远程仓库地址 如:git remote ad ...

  4. seriviceWorker 小结

    serviceWorker 的状态 install → activate. 1.初进页面,此前未加载过serviceWorker,直接进入install状态,随后进入activate状态,但是此时se ...

  5. xdoj-1297 Tr0y And His Startup

    题目: 1297: Tr0y And His Startup 时间限制: 1 Sec  内存限制: 256 MB提交: 18  解决: 8[提交][状态][讨论版] 题目描述 Tr0y创办了一家安全公 ...

  6. JDBCTM中Statement接口提供的execute、executeQuery和executeUpdate之间的区别

    Statement 接口提供了三种执行 SQL 语句的方法:executeQuery.executeUpdate 和 execute.使用哪一个方法由 SQL 语句所产生的内容决定. 方法execut ...

  7. Lucene分词详解

    分词和查询都是以词项为基本单位,词项是词条化的结果.在Lucene中分词主要依靠Analyzer类解析实现.Analyzer类是一个抽象类,分词的具体规则是由子类实现的,所以对于不同的语言规则,要有不 ...

  8. 常见JS倒计时

    https://www.jb51.net/Special/356.htm  //JS倒计时  <button onclick="resetTime(60)">启动倒计时 ...

  9. 2.go的变量和常量

    go的变量和常量 GO的变量: 变量的声明:  先对变量进行声明,在对其赋值 var variableName type variableName = typeValue var number int ...

  10. vue state

    vuex单一状态树,直接地定位任一特定的状态片段. vuex状态存储响应式,唯一store实例,从store中读取状态: 1.在计算属性中返回某个状态 2.在根实例中注册store选项,该 store ...