开发微信公众号1元抢购

近期做了许多微信方面的开发,基本涵盖了所有微信接口和相关功能,本文将介绍如何在微信公众号中实现“1元抢购”功能。

1元抢购指的是将指定的商品,按1元一份进行销售,粉丝可以购买任意数量的份次,当此商品的份数买满时,系统自动抽取一个中奖者,粉丝先通过微信进行充值,然后即可参与。商品的上架销售是滚动进行的,开一期上架一期,通过此功能可进行24小时滚动不简短的进行销售。

先看最终效果:

 

 

在线演示:

第一步是对接微信支付:

1、设置测试目录

在微信公众平台设置,栏目见图7.7。支付测试状态下,设置测试目录,测试人的微信号添加到白名单,发起支付的页面目录必须与设置的精确匹配。并将支付链接发到对应的公众号会话窗口中才能正常发起支付测试。注意正式目录一定不能与测试目录设置成一样,否则支付会出错。

图7.7 微信内网页支付设置栏目入口

2、设置正式支付目录

根据图中栏目顺序进入修改栏目,勾选JSAPI网页支付开通该权限,并配置好支付授权目录,该目录必须是发起支付的页面的精确目录,子目录下无法正常调用支付。具体界面如图7.8所示:

业务流程时序图

在微信浏览器里面打开H5网页中执行JS调起支付。接口输入输出数据格式为JSON。

注意:WeixinJSBridge内置对象在其他浏览器中无效。

列表中参数名区分大小,大小写错误签名验证会失败。

getBrandWCPayRequest参数以及返回值定义见图7.1,返回列表值说明见图7.2。

表7.1 网页端接口参数列表

名称 变量名 必填 类型 示例值 描述
公众号id appId String(16) wx8888888888888888 商户注册具有支付权限的公众号成功后即可获得
时间戳 timeStamp String(32) 1414561699 当前的时间,其他详见时间戳规则
随机字符串 nonceStr String(32) 5K8264ILTKCH16CQ2502SI8ZNMTM67VS 随机字符串,不长于32位。推荐随机数生成算法
订单详情扩展字符串 package String(128) prepay_id=123456789 统一下单接口返回的prepay_id参数值,提交格式如:prepay_id=***
签名方式 signType String(32) MD5 签名算法,暂支持MD5
签名 paySign String(64) C380BEC2BFD727A4B6845133519F3AD6 签名,详见签名生成算法

表7.2 网页内支付接口err_msg返回结果值说明

返回值 描述
get_brand_wcpay_request:ok 支付成功
get_brand_wcpay_request:cancel 支付过程中用户取消
get_brand_wcpay_request:fail 支付失败

注:JS API的返回结果get_brand_wcpay_request:ok仅在用户成功完成支付时返回。由于前端交互复杂,get_brand_wcpay_request:cancel或者get_brand_wcpay_request:fail可以统一处理为用户遇到错误或者主动放弃,不必细化区分。

示例代码如下:

function onBridgeReady(){
   WeixinJSBridge.invoke(
       ‘getBrandWCPayRequest‘, {
           "appId" : "wx2421b1c4370ec43b",     //公众号名称,由商户传入     
           "timeStamp":" 1395712654",         //时间戳,自1970年以来的秒数     
           "nonceStr" : "e61463f8efa94090b1f366cccfbbb444", //随机串     
           "package" : "prepay_id=u802345jgfjsdfgsdg888",     
           "signType" : "MD5",         //微信签名方式:     
           "paySign" : "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名 
       },
       function(res){     
           if(res.err_msg == "get_brand_wcpay_request:ok" ) {}     // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。 
       }
   ); 
}
if (typeof WeixinJSBridge == "undefined"){
   if( document.addEventListener ){
       document.addEventListener(‘WeixinJSBridgeReady‘, onBridgeReady, false);
   }else if (document.attachEvent){
       document.attachEvent(‘WeixinJSBridgeReady‘, onBridgeReady); 
       document.attachEvent(‘onWeixinJSBridgeReady‘, onBridgeReady);
   }
}else{
   onBridgeReady();
}

未完待续……

时间: 2024-08-19 03:07:30

开发微信公众号1元抢购的相关文章

.net开发微信公众号(1)-启用开发者中心

开篇介绍 今天新开一个微信公众号开发经验分享的系列,主要是和大家分享在.net下开发微信公众号后台的一些经验,希望能给在.net下做微开发的小伙伴们一些参考.最近由于工作需要,开发了一个微信公众账号.我本人其实一直是做winform方向开发的,asp.net接触的也不多,现学现卖,有啥不足或不对的地方,希望大家发邮件告诉我,[email protected],一起学习,一起进步. 微信公众号其实火了很长一段时间了,应该是从2012开始火起来的.最近正好做一个这样的项目,在网上找资料的时候发现大家

PHP开发微信公众号(一)二维码的获取

要开发微信公众号,首先进行需要注册一个,然后认证.这就不用多说了. 当然如果没有,也可以去申请一个测试号来使用,地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 申请成功后,你会得到一个appID 和 appsecret,这个就相当于你的开发者账号和密码. 开发模式如下图: 1.Access_Token的获取 对于这个access_token就是一个访问标识,其实不用想得太高深,它就好比是你进图书馆需要的图书卡:

从零开始开发微信公众号系列篇一:微信测试号申请

从零开始开发微信公众号系列片将会讲述微信账号申请,微信各个接口的实现,同时会为每个接口提供实现的demo.同时,此系列博文也不乏引用博友的一些思想内容,如有问题,欢迎联系于我,谢谢!由于该系列博文是工作之余总结的,有时没及时更新还望博友监督,提醒以达到共勉.俗话说,磨刀不误砍柴工,要进行微信公众号开发首先你得做好以下准备工作,那现在我们先来磨刀.很多人为微信开发账号发愁,这一点不用担心,腾讯还是挺人性化的,作为开发者可以申请测试号来进行微信公众号开发,这样我们就可以不用花冤枉钱去申请微信的订阅号

Spring Boot 开发微信公众号后台

Hello 各位小伙伴,松哥今天要和大家聊一个有意思的话题,就是使用 Spring Boot 开发微信公众号后台. 很多小伙伴可能注意到松哥的个人网站(http://www.javaboy.org)前一阵子上线了一个公众号内回复口令解锁网站文章的功能,还有之前就有的公众号内回复口令获取超 2TB 免费视频教程的功能(免费视频教程),这两个都是松哥基于 Spring Boot 来做的,最近松哥打算通过一个系列的文章,来向小伙伴们介绍下如何通过 Spring Boot 来开发公众号后台. 1. 缘起

使用NodeJs开发微信公众号(一)

准备工作 1.首先注册自己的微信公众号. 微信公众号现在分为订阅号,服务号,企业号,服务号和企业号不对个人开发者开放,所以我们只能选择订阅号. 但是订阅号也有认证和未认证之分,认证的订阅号支持的接口更多也更高级,下图是微信的接口权限图,只截取了一部分. 如果我们想测试这些接口怎么办?我们可以申请微信的测试账号,测试账号只能用于测试接口,不能用于真实的项目.下面就看看怎么申请测试账号吧. 1.1进入微信公众平台首页 https://mp.weixin.qq.com/ 1.2在下方的账号分类里找到订

C#开发微信公众号-学习笔记

由于最近要做微信服务号的开发,所以开始找相关说明和接口文档开始学,故把学习过程及注意事项记录一下,帮助想学习的快速上手.废话不多少了,直接上干货! 1.申请微信公众号 这个就不需要多说了吧,大家直接照着提示步骤走就行 2.建立服务器和微信端的链接 这一步的操作其实就是确认一下你的公众号跟你的服务器匹配成功了,所要做的工作其实很简单,就是微信会给你的服务器发一个请求,传过去几个参数,然后你把其中的timestamp,nonce参数获取到,在把你在微信设置服务器的页面填写的token这三个值按字典排

利用H5开发微信公众号

一. 首先授权配置 公众号设置 -->功能设置 设置业务域名!  这里的MP_verify_w7tdZrafqhkK9Mcj.txt文件,需要放到你项目的根目录下,例子:你的项目war包叫 test.war ,里面包含了src,WEB-INFO两个文件夹,则把MP_verify_w7tdZrafqhkK9Mcj.txt放到这两个文件夹的同级目录下;即现在test.war下有两个文件夹一个txt文件:src,WEB-INFO,MP_verify_w7tdZrafqhkK9Mcj.txt. 后面就需

NodeJs 开发微信公众号(四)微信网页授权

微信的网页授权指的是在微信公众号中访问第三方网页时获取用户地理.个人等信息的权限.对于开发了自己的网页app应用时,获取个人的信息非常重要.上篇博客讲到了注册时可以获取用户的信息,很多人会问为什么还需要网页授权这种方式去获取呢,直接从数据库中读取不就可以了吗?这样的做的原因是服务器会话时间终究是有限的,关注后我们设置的会话一般在半个月左右,半个月后就需要重新生成会话,而这时就需要网页授权的openid帮忙了.况且,用户的信息也是会刷新的,虽然这种情况很少发生,但是我们至少应该确保信息是有一定的更

NodeJs 开发微信公众号(一)准备工作

前言 大概是一个月前,自己用业余时间做了一个微信公众号.微信开发,尤其是对后台不熟悉的人来说显得尤其困难.首先要克服的是后台语言(nodejs)的一些不熟悉困难,其次,也是最大的一点困难是在跟微信交互过程.借助各种工具和几位朋友的帮助,总算把各种困难解决,并且在自己计划的时间内建立起来公众号.第一次个人独立完成了一个网站的开发,对于自己的知识提升不少.微信公众号现在是html5应用的一个重要平台,许许多多的同行都陆续加入到这个行列.接下来一个月打算写一些我个人在走这条路的心得,每一章结尾都会把参