当前位置: 首页 > news >正文

网站设计与建设公司/北京seo专业团队

网站设计与建设公司,北京seo专业团队,华为官网商城手机价格,建设银行武威分行网站背景 首先,小程序端的微信支付功能我还没有做,但是之前做过网页版已经微信端唤醒方式的微信支付因为还需要申请新的域名,过几天才能正式测试,此处是在参考小程序官方文档后的思路 因此文可自成一体,所以被我摘出来了&…

背景

  • 首先,小程序端的微信支付功能我还没有做,但是之前做过网页版已经微信端唤醒方式的微信支付
  • 因为还需要申请新的域名,过几天才能正式测试,此处是在参考小程序官方文档后的思路

因此文可自成一体,所以被我摘出来了,全文可参考小白的 微信小程序实例——天气预报开发笔记

摸索思考

①. 参考demo获取思路

  • 根据官方Demo中对此功能的一条重要注释如下:
// 此处需要先调用 wx.login 方法获取 code,然后在服务端调用微信接口使用 code 换取 下单用户的 openId
// 具体文档参考 https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html?t=20161230#wxloginobject

②. 服务端要创建接口返回用户openId

  • 服务端代码是 java 的建议参考文章:微信小程序调用微信登陆获取openid及用户信息 java做为服务端

根据网上多数编码同行的介绍可知,微信的域名是无法绑定到自己的小程序中的,但是根据前面的经验,可以在自己的服务端借用参数code获取openId,最后以json数据方式返回小程序即可

③. 请求微信支付Url

  • 假设服务端已经能够正确返回我们所需要的openId,此时我们可以考虑唤醒微信支付了,然而根据接口要求需要以下的多个参数:
wx.requestPayment({'timeStamp': '','nonceStr': '','package': '','signType': 'MD5','paySign': '','success':function(res){},'fail':function(res){}
})
  • 所以在唤醒微信支付之前,需要先获取上述的参数,而根据之前实现微信支付的经验正好是返回这些信息的

如此一来的思路就是,在服务端还需有一个支付接口,可返回我们需要的上述参数

  • 想了解更多信息,可以查看 微信支付接口文档
  • 或者参考我之前的一篇文章:微信公众平台开发[4] —— ThinkPHP 框架下微信支付

核心代码参考

  • 此代码是参考官方demo和自己的思路后补充完善的小程序端代码
  • 注意看注释,需要获取相应数据
  requestPayment: function () {var self = thisself.setData({loading: true})// 此处需要先调用wx.login方法获取code,然后在服务端调用微信接口使用code换取 下单用户 的openId// 具体文档参考 https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html?t=20161230#wxloginobjectwx.login({success: function (res) {if (res.code) {//发起网络请求console.log('code:' + res.code)wx.request({url: 'https://api.youself.com/getOpenId', //此处应在服务端根据得到的 code 获取用户的 openiddata: {code: res.code},success: function (res) {console.log('拉取openid成功', res)self.setData({openid: 'o0rJUwexa08tg4pyFi1tkvJKhxHY' //此处假设已经获得了用户的openID})//访问服务端 微信支付接口paymentUrl,从而获取后面所需的重要参数wx.request({url: 'https://api.yourself.com/wxpayment', //此处为举例接口data: {openid},method: 'GET',success: function (res) {var timestamp = Date.parse(new Date());timestamp = timestamp / 1000; var payargs = res.data.payargs//唤醒微信支付wx.requestPayment({timeStamp: timestamp+'',nonceStr: 'payargs.nonceStr',package: 'payargs.package',signType: 'MD5',paySign: 'payargs.paySign','success': function (res) {console.log('支付-success')},'fail': function (res) {wx.showToast({title: '支付测试中...',icon: 'fail',image: '',duration: 2000,mask: true,success: function (res) { },fail: function (res) { },complete: function (res) { },})console.log('支付-fail')}})self.setData({loading: false})}})},fail: function (res) {console.log('拉取用户openid失败,将无法正常使用开放接口等服务', res)self.setData({loading: false})}})} else {console.log('获取用户登录态失败!' + res.errMsg)}}});}

附录

①. 注意

  • 我们所要访问的服务端接口,要保证其域名已经绑定,注意一点,要求协议为 https

②. 后期再做补充

http://www.lbrq.cn/news/1610263.html

相关文章:

  • wordpress评论框required/河北seo技术培训
  • 在凡科网申请的网站设置网页访问密码/网络营销的四大要素
  • 教你做面膜v官方网站/青岛seo
  • 做网站公司上海/企业网站官网
  • 杭州app开发公司集中/海淀区seo引擎优化多少钱
  • 做网商哪个国外网站好/怎么联系百度客服
  • 专业北京网站建设公司排名/怎样做自己的网站
  • 打金传奇rmb回收/下载班级优化大师app
  • 建设适应连锁行业网站/营销策划书案例
  • 团委网站建设的问题及原因/广州新闻最新消息今天
  • html下载网站模板/百度关键词推广帝搜软件
  • 上海网站建设sh808web/网站如何推广营销
  • 银川市住房和城乡建设局网站公告/磁力狗在线搜索
  • 门户网站做/建站平台有哪些
  • 网站空间1/如何用html制作网页
  • 郑州上市企业网站建设/网站建设的数字化和互联网化
  • 深圳影视广告制作预算/优化大师最新版本
  • 建什么网站 做 cpa/厦门网站外包
  • 杭州营销型网站制作/怎么做网络营销推广啊
  • 做的差的网站/seo运营
  • 网站通知做文献的格式/厦门seo推广外包
  • p2p网上贷款网站建设方案/千锋教育和黑马哪个好
  • 做婚纱网站的图片大全/营销宝
  • 做办公设备网站/域名注册网站
  • 桂林 门户网站/全国各城市疫情高峰感染高峰进度
  • 专业做家具的网站有哪些/seo网站推广助理
  • 网站建设原则应考虑哪些/自己开平台怎么弄啊
  • 网站建设图片轮播/站内关键词排名软件
  • 秦皇岛建设部网站/谷歌play商店官网
  • 电商网站设计公司皆选亿企邦/网络推广比较经典和常用的方法有
  • 09.Redis 常用命令
  • 决策树的实际案例
  • 【学习笔记】MySQL技术内幕InnoDB存储引擎——第7章 事务
  • 高效轻量的C++ HTTP服务:cpp-httplib使用指南
  • Z20K118库中寄存器及其库函数封装-WDOG库
  • Oracle 11g RAC集群部署手册(三)