分类归档

小程序

FWQ
小程序
C#开发微信门户及应用微信支付接入和API封装使用
在微信的应用上,微信支付是一个比较有用的部分,但也是比较复杂的技术要点,在微商大行其道的年代,自己的商店没有增加微信支付好像也说不过去,微信支付旨在为广大微信用户及商户提供更优质的支付服务,微信的支付和安全系统由腾讯财付通提供支持。本文主要介绍如何在微信公众号上实现微信支付的接入、微信支付api的封装,以及api的调用,实现我们一些常见的业务调用。 1、开通微信支付并配置 微信支付是需要微信公众号的认证基础,也就是只对认证的公众号开放,微信认证需要签署相关的资料,并且进行对账认证,一般会有电话联系确认相关的信息的。 在微信支付API开始使用前,我们一般需要在后台进行一定的配置,如我们需要配置公众号支付的授权目录,测试白名单等信息,以及扫码支持的回调处理地址(这个实现在后面再讲),如下所示。 在使用API之前,我们要知道微信一些关键的操作,如退款、撤销订单等操作是需要证书的,而且常规的支付操作,我们也需要商户号、商户支付秘钥等信息,这些证书和秘钥信息,是我们从微信支付的商户平台上获取的,我们微信支付开通并审核通过后,我们就可以登录商户平台进行相关的操作了。 首先我们需要在开发的电脑上安装证书。 然后需要设置API的秘钥 最后在【API安全】项目上下载证书供我们开发环境使用。   2、微信支付API的介绍 微信支付配置相关的参数,并获得证书、API秘钥、商户号等信息后,我们可以开始了解微信支付的API的具体使用了,我们需要先把API封装为C#的类库进行使用,这样才能在各种应用里面方便调用。 微信支付分为有多种方式,如扫码支付、公众号支付、JSAPI支付、APP支付等方面,不过核心的API都差不多,基本上都覆盖了下面截图的几个API,只是有部分的接口差异。 我们可以从其中扫码支付开始了解,这个是对二维码进行扫码支付的场景,分为了模式一和模式二两种方式。 扫码支付可分为两种模式,商户根据支付场景选择相应模式。 【模式一】:商户后台系统根据微信支付规则链接生成二维码,链接中带固定参数productid(可定义为产品标识或订单号)。用户扫码后,微信支付系统将productid和用户唯一标识(openid)回调商户后台系统(需要设置支付回调URL),商户后台系统根据productid生成支付交易,最后微信支付系统发起用户支付流程。 【模式二】:商户后台系统调用微信支付【统一下单API】生成预付交易,将接口返回的链接生成二维码,用户扫码后输入密码完成支付交易。注意:该模式的预付单有效期为2小时,过期后无法支付。 根据扫码支付的API说明,我们可以分别对这些接口(如统一下单、查询订单、关闭订单、申请退款、查询退款、下载对账单等接口进行逐一封装,以方便我们的开发使用。 模式一和模式二,都需要使用到了统一下单的接口,然后生成相应的二维码给客户扫码支付使用。 那么我们先来看看统一下单的接口说明,以了解它的具体使用。 1)应用场景 除被扫支付场景以外,商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再按扫码、JSAPI、APP等不同场景生成交易串调起支付。 2)接口链接 URL地址:https://api.mch.weixin.qq.com/pay/unifiedorder 3)是否需要证书 不需要 4)请求参数 请求参数看似很多,大概分为两部分,一部分是系统必须的固定参数,一部分是业务所需的参数。 系统必须的固定参数如下所示。…
2024-11-25 阅读全文 →
FWQ
小程序
微信公众号开发:商户如何给用户发红包实例讲解
红包功能简单介绍: 1、商户调用接口时,通过指定发送对象以及发送金额的方式发放红包,这样的方式,允许商户灵活的应用于各种各样丰富的活动场景 2、领取到红包后,用户的资金直接进入微信零钱,避免繁复的领奖流程,带给用户微信支付原生的流畅体验 现金红包官网文档地址:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_1 调用现金红包接口需要使用到证书,请前往商户平台下载证书 官网有关详细证书的介绍:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3 因为发送现金红包是从商户平台余额扣款,所以商户平台的账户余额必须有充足的余额 下面是调用红包接口详细代码:1、签名的MD5加密类: /// <summary>/// MD5UtilHelper 的摘要说明。/// </summary>public class MD5UtilHelper {    public MD5UtilHelper()     {        //         // TODO: 在此处添加构造函数逻辑         //     }    /// <summary>             /// 获取大写的MD5签名结果     /// </summary>     /// <param>     /// <param>     /// <returns></returns>     public static string GetMD5(string encypStr, string charset)     {        string retStr;         MD5CryptoServiceProvider m5 = new MD5CryptoServiceProvider();        //创建md5对象         byte[] inputBye;        byte[] outputBye;        //使用GB2312编码方式把字符串转化为字节数组.         try         {             inputBye = Encoding.GetEncoding(charset).GetBytes(encypStr);         }        catch (Exception ex)         {…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序实现鼠标拖动效果实现方法
本文主要介绍了微信小程序实现鼠标拖动效果,涉及微信小程序事件绑定及元素属性动态操作相关实现技巧,需要的朋友可以参考下,希望能和大家分享。 1、效果展示 2、关键代码 index.wxml文件 <view>使用鼠标拖动我</view> 登录后复制 index.js文件 Page({   data:{     left:'',     top:''   },   viewTouchMove:function(e){     this.setData({       left:e.touches[0].clientX-60,       top:e.touches[0].clientY-60     })   } }) 登录后复制 相关推荐: 以上就是微信小程序实现鼠标拖动效果实现方法的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
小程序button引导用户授权的方法介绍(代码示例)
本篇文章给大家带来的内容是关于小程序button引导用户授权的方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 wx.getUserInfo(OBJECT) 注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用 <button open-type="getUserInfo"></button> 登录后复制 引导用户主动进行授权操作当用户未授权过,调用该接口将直接报错 当用户授权过,可以使用该接口获取用户信息 所以我们要使用上述button来请求用户授权 1.index.wxml <button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" >授权登录</button> <view wx:else>请升级微信版本</view> 登录后复制 2.index.js Page({ data: { //判断小程序的API,回调,参数,组件等是否在当前版本可用。 canIUse: wx.canIUse('button.open-type.getUserInfo') }, onLoad: function…
2024-11-25 阅读全文 →
FWQ
小程序
有关摇一摇抽奖的文章推荐
这篇文章主要介绍了微信小程序 摇一摇抽奖简单实例实现代码的相关资料,这里实现摇一摇抽奖的功能,需要的朋友可以参考下微信小程序 摇一摇抽奖微信小程序目录为了更好的理解小程序和小程序开发,我们首先来看一下项目的目录。 首先看下根目录下的app.json的文件,可以看到在”pages”的数组里,里面配置了每个界面,且包含了每个界面文件的目录 我们接下来看一下page文件夹,可以看到每个页面需要包含两个文件,一个是js文件,是每个界面的入口,wxml的文件是每个界面的布局文件,wxss是样式文件。 接下来看一下logs文件夹,在logs文件夹中比index文件夹中多出了一个logs.json的文件,logs.json这个文件配置了一个界面的title的信息。 为了更好的理解项目的结构,我们来一张gif图。 摇一摇项目实例我们首先看一下测试效果 添加图片资源index.js之前说 1. 简介:这篇文章主要介绍了微信小程序 摇一摇抽奖简单实例实现代码的相关资料,这里实现摇一摇抽奖的功能,需要的朋友可以参考下 2. 简介:摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的devicemotion事件,获取设备在位置和方向上的改变速度的相关信息,该事件的基本使用如下: 3. 简介:上次在玩一手游看到里面有一个摇一摇抽奖,游戏是web做的所以在网上找了些代码实现了JS摇一摇功能,  具体内容不详解,直接上码  HTML代码       JS代码  init();   var SHAKE_THRESHOLD = 3000;  …
2024-11-25 阅读全文 →
FWQ
小程序
微信可以同时登录几个设备?
微信可以同时登录两个设备(电脑端和手机端)。若是同时使用两部手机登录一个微信号是不行的;腾讯将运用各种安全技术和程序建立完善的管理制度来保护用户的个人信息,以免遭受未经授权的访问和使用或披露。 同一个号码可以同时用两个设备等登录,但是只支持电脑端和手机端。若是同时使用两部手机登录一个微信号是不行的。腾讯将运用各种安全技术和程序建立完善的管理制度来保护用户的个人信息,以免遭受未经授权的访问和使用或披露。 扩展资料: 微信客户端软件可以提供包括但不限于iOS、Android、Windows Phone、Symbian、BlackBerry、Windows、Mac等多个应用版本,用户必须选择与所安装终端设备相匹配的软件版本使用。也就是说微信号可以在不同类型的设备上进行使用。 用户必须选择与所安装终端设备相匹配的软件版本,否则,由于软件与终端设备型号不相匹配所导致的任何问题或损害,均由用户自行承担。用户可以为非商业目的在单一台终端设备上安装、使用、显示、运行本软件。 推荐教程:《》 以上就是可以同时登录几个设备?的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序之蓝牙链接实例教程
本文主要和大家介绍微信小程序之蓝牙的链接的相关资料,希望通过本文大家能够掌握小程序蓝牙的开发方法,需要的朋友可以参考下,希望能帮助到大家。 微信小程序之蓝牙的链接 微信小程序蓝牙连接2.0说明: 1、本版本区分了ANDROID和IOS系统下蓝牙连接的不同方式。 2、兼容了更多情况下的链接包括: (1)未开启设备蓝牙,当监听到开启了蓝牙后自动开始连接。 (2)初始化蓝牙失败后每3000ms自动重新初始化蓝牙适配器。 (3)安卓端开启蓝牙适配器扫描失败,每3000ms自动重新开启。 (4)IOS端获取已连接蓝牙设备为空,每3000ms自动重新获取。 (5)安卓端蓝牙开始链接后中断扫描,连接失败了,重新开始扫描。 (6)IOS端开始连接设备后,停止获取已连接设备,连接失败自动重新开启获取。 (7)连接成功后,关闭系统蓝牙,蓝牙适配器重置。 (8)连接成功后,关闭系统蓝牙,再次打开蓝牙,自动重新开始连接。 (9)连接成功后,关闭目标蓝牙设备,自动重新开始扫描(获取)。 (10)连接成功后,最小化小程序(连接未中断),打开小程序显示已连接。 (11)连接成功后,杀掉小程序进程,连接关闭,自动重新开始扫描(获取)。 3、想起来了再来更新….。 4、流程图,明天或后天或…谁有空帮我画一下也行。 我的连接是在App.js中做的。 在App.js中的onLaunch触发是调用 init()方法。 init代码: init: function (n) {   this.list = [];   this.serviceId = "6E400001-B5A3-F393-E0A9-E50E24DCCA9E";   this.serviceId_2 = "00001803-0000-1000-8000-00805F9B34FB";   this.serviceId_3 = "00001814-0000-1000-8000-00805F9B34FB";   this.serviceId_4 = "00001802-0000-1000-8000-00805F9B34FB";…
2024-11-25 阅读全文 →
FWQ
小程序
详解Android编程实现微信分享信息的方法
本文实例讲述了实现微信分享信息的方法。分享给大家供大家参考,具体如下: 随着微信越来越火,越来越多的应用要求有分享到微信的功能。虽然有很多平台都帮集成有分享功能,比如友盟。但是个人觉得友盟集成的东西太多了,自己封装得太过分了,很多资源文件也要带进去,所以感觉不是怎么好,所以自己也研究了一下微信的调用其SDK分享。下面说说步骤。 第一:下载官方的sdk demo。 下载地址:open.weixin.qq.com/download/?lang=zh_CN 第二:解压,并将工程导入到 解压出来的时候,发现根目录下有一个debug.store文件,这个文件很关键的哦。然后我们运行看看,你会发现分享根本就不成功,是微信原因吗,当然不是。 第三:在上面说到项目的根目录下有一个debug.keystore文件,因为我们编译、签名apk的时候,用的是我们自带的那个debug.keystore,每台电脑都是不一样的签名文件,而且微信那个APP_ID已经签名文件debug.keystore绑定了的,所以为什么我们直接运行时候是不成功的。 解决方法就是将微信的那个debug.keystore拷贝到我们电脑默认的那个debug.keystore位置,将其覆盖(建议先备份)。 在window系统,这个签名文件在c:用户你的用户名.android目录下(注意.android文件夹默认是隐藏的)。 再次运行,分享就成功了。 如果是我们的应用,将APP_ID替换成我们在官网上面申请的APP_ID就行了。 其实我们分享信息到微信,还有一种更简单的方法,不用其提供的SDK ,直接调用微信相关的Activity,这样更加省事,例如: /**  * 分享信息到朋友  *  * @param file,假如图片的路径为path,那么file = new File(path);  */ private void shareToFriend(File file) {      Intent intent = new Intent();      ComponentName componentName = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");      intent.setComponent(componentName);      intent.setAction(Intent.ACTION_SEND);      intent.setType("image/*");      intent.putExtra(Intent.EXTRA_TEXT, "测试微信");      intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));      startActivity(intent); …
2024-11-25 阅读全文 →
FWQ
小程序
微信开发之JS动态修改样式
这篇文章主要介绍了微信小程序 js动态修改样式的实现代码,原理是绑定数据,然后动态的修改数据,从而实现动态样式的改变而已,需要的朋友可以参考下 微信小程序这个坑啊,js动态修改样式,我们并不能用js或者jq 轻轻松松一行代码搞定。或者用removeClass addClass 来修改样式。 以下是一种动态修改样式的方法,原理是绑定数据,然后动态的修改数据,从而实现动态样式的改变而已。感觉有点········那个啥的,怪怪的。不过也没办法了。如果你有更好的方法,可以在评论区分享一下。 test.wxml <view>  <label>我会变色</label>  <button>变红</button>  <button>变绿</button> </view> 登录后复制 test.js Page({  data: {  color: "red"  },  clickRed: function () {  this.setData({   color: "red"  })  },  clickgreen: function () {  this.setData({   color: "green"  })…
2024-11-25 阅读全文 →
FWQ
小程序
详解微信小程序地图定位实例代码
这篇文章主要详解微信小程序定位实例代码的相关资料,并附实例代码及实现效果图,需要的朋友可以参考下 微信小程序开发地图定位。 微信小程序 刚刚公布没多久,自己学习一下内容,以便以后的开发,想落后别人,这里做了一个简单的小程序示例,大家可以参考下 要求要完成的功能: 1.要完成的要点是城市定位。 2.就是切换城市。 首页我们先参照微信小程序开放的官方文档找到: 在这里我们可以找到”当前位置经纬度“ getLocation: function () {   var that = this wx.getLocation(   {     success: function (res) {          console.log(res)      that.setData({        hasLocation: true,        location: formatLocation(res.longitude, res.latitude)//这里是获取经纬度     })     }   }) }, 登录后复制 //将经纬度转换成城市名和街道地址,参见百度地图文档:http://www.php.cn/ onLoad: function (options) {   console.log('onLoad')   var that = this;   wx.getLocation({…
2024-11-25 阅读全文 →