随笔集:微信小程序的微信支付
微信小程序的微信支付
简单来说一下微信支付的开发流程:
大概来说就是两步:
1.客户端请求后端生成订单,后端生成商户订单后调用统一下单API,微信方会生成一个预付单,并返回预付单信息(prepay_id),后端接收到后生成JSAPI页面调用的支付参数并签名,后传给客户端(prepay_id、paySign等)
2.客户端调用api使用返回过来的参数主动调起支付,微信方检查参数合法性,返回验证结果给客户端并要求支付授权,授权后输入密码,微信方验证成功后将结果异步发送给后端,后端在接收到微信方的结果后发送通知给微信方,微信方最后把结果发给客户端
下面是我在小程序里面的一个支付代码片段
pay(){var _this = thislet params={addressId: _this.addressInfo.id,appointmentTime: _this.serviceTime,couponId: '',num: _this.serviceInfo.serviceNum,remarks: _this.remark,serviceParameterId: _this.serviceInfo.serviceParamId}console.log(params,'params');this.$api.addOrder(params).then(res=>{//生成订单console.log(res.data.data)// uni.hideLoading()var param={orderId: res.data.data.orderId,orderNum: res.data.data.orderNum,openId: this.openId,}this.$api.orderPay(param).then(re=>{ //获取调起支付所需参数uni.requestPayment({ //调起支付provider: 'wxpay',timeStamp: re.data.data.timeStamp,nonceStr: re.data.data.nonceStr,package: re.data.data.package,signType: 'MD5',paySign: re.data.data.paySign,success: function (ress) {uni.hideLoading()_this.getOrderRemark('')console.log('success:' + JSON.stringify(ress));uni.showToast({title: '支付成功',icon: 'success',duration: 2000}); uni.redirectTo({url: `/pages/orderPay/paySuccess?serviceTime=${_this.serviceTime}&serviceId=${_this.serviceInfo.id}`});},fail: function (err) {uni.hideLoading()uni.showToast({title: '支付失败',icon: 'none',duration: 2000}); console.log('fail:' + JSON.stringify(err));setTimeout(function(){uni.redirectTo({url: `/pages/orderPay/payError?serviceTime=${_this.serviceTime}&serviceId=${_this.serviceInfo.id}`})},1000)}})}).catch(er => {uni.hideLoading();uni.showToast({title: '支付失败',icon: 'none',duration: 2000});uni.redirectTo({url: `/pages/orderPay/payError?serviceTime=${_this.serviceTime}&serviceId=${_this.serviceInfo.id}`});})}).catch(err => {uni.hideLoading();})},
H5微信支付文档
随笔集:微信小程序的微信支付相关推荐
- 微信小程序 openid及支付的若干问题解决方案
微信小程序 openid及支付的若干问题解决方案 参考文章: (1)微信小程序 openid及支付的若干问题解决方案 (2)https://www.cnblogs.com/jhlqab/p/78500 ...
- 微信小程序开发-微信支付之免密支付(自动扣费)一 小程序+java接口
微信小程序开发-微信支付之免密支付(自动扣费)一 小程序+java接口 链接: 点击进入
- 微信小程序如何开通支付功能?
微信小程序商城支付方式有哪些,如何开通小程序商城的支付功能,商家开通小程序支付功能的条件有哪些,小程序支付和微商城支付有冲突吗,小程序商城支付方式下商家如何提现,手续费多少? 微信小程序商城支付方式 ...
- 【SpringBoot学习】39、SpringBoot 集成 wxJava 微信小程序:订单支付
文章目录 SpringBoot 集成 wxJava 微信小程序:订单支付 1.整合 wxJava 小程序 2.支付配置类 3.application.yml 配置 4.授权登录流程 5.uniapp ...
- springboot 微信小程序 对接微信支付功能(完整版)
微信小程序对接微信支付功能 业务流程时序图 JAVA版 1. 项目架构 2. pom.xml配置文件 3. 小程序账号参数配置类 4.JAVA 通用代码 4.1 工具类 4.1.1 IdGen (id ...
- 微信小程序接入微信支付(二):后台调用统一下单接口
微信统一支付官方文档:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1 因该接口需要商户系统中自己的订单编号,笔者先 ...
- 老板提了个需求:微信小程序调用支付宝支付!然后群里炸锅了
大前天,我们头戴菊花手拿红包的小编同学在社群里发出了灵魂提问: (声明一下:小编同学只是在我这里兼职运营社群,人家正经工作还是产品狗.所以这个老板不是我) 这个问题简单说,就是在微信小程序里调用支付宝 ...
- 微信小程序接入微信支付(三):小程序端调用支付接口
微信小程序调用支付接口官方文档:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=5 在上一节中 ...
- 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程)
本篇记录说明 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程,详细内容可私信交流) (第一次写博客,写得不好的地方见谅,面向新手,大佬请无视,不喜勿喷 ...
最新文章
- python中函数的参数:必传参数(位置参数)、默认值参数、参数组传参、关键字传参...
- 2020-10-27(补码10000000为什么可以表示-128?)
- Linux虚拟内存管理(glibc)
- Zeroc Ice 发布订阅者之demo Icestorm之clock
- 怎么找到项目中所有同名的类_26岁转行程序员的成长历程--Day03从内存层面理解类和对象...
- jhipster_JHipster入门,第2部分
- 使用Nuget 安装指定版本package或者更新package到指定版本
- 鸿蒙手机(真机)播放音乐-第二集
- HTTP1.1/2.0与QUIC协议
- 排序算法入门之堆排序
- LoadRunner11破解方法
- Windows下使用CMD下载网络文件
- 【技术综述】基于3DMM的三维人脸重建技术总结
- FPGA之旅设计99例之第十九例----OV5640上电及初始化
- Unable to acquire the dpkg frontend lock
- dreamer Waver cc 2014 安装失败解决
- win10系统详细安装教程一
- vue 父组件重新加载子组件
- insmod 加载模块过程、modprobe 与 insmod的区别 、lsmod命令
- 让我受益终生的六个字:道、法、术、器、志、势
热门文章
- 浮动提示title更改字体大小
- DAY 06 作业md
- 『OCR_Recognition』CRNN
- C语言实现三子棋(详解)
- 简述 I18N、L10N的区别
- 如何检查迷你计算机有无兰牙,如何检查Windows10 PC是否具有内置蓝牙
- 学好英语的20个经典要诀(转)
- DBCO-PEG-OPSS,二苯并环辛炔-聚乙二醇-邻吡啶二硫/巯基吡啶取用方法概述
- 以太坊小知识(五)——difficulty、totalDifficulty、cumulativeGasUsed、gasUsed
- 我们的青春,除了《灌篮高手》还有那些电脑“大神”