微信小程序 支付功能(前端)的实现
发布时间 - 2026-01-11 01:16:17 点击率:次微信小程序 支付功能(前端)的实现

只提供微信小程序端代码:
var app = getApp();
Page({
data: {},
onLoad: function (options) {
// 页面初始化 options为页面跳转所带来的参数
var that = this
//登陆获取code
wx.login({
success: function (res) {
console.log(res.code)
//获取openid
that.getOpenId(res.code)
}
});
},
getOpenId: function (code) {
var that = this;
wx.request({
url: "https://api.weixin.qq.com/sns/jscode2session?appid=小程序appid&secret=小程序应用密钥&js_code=" + code + "&grant_type=authorization_code",
data: {},
method: 'GET',
success: function (res) {
that.generateOrder(res.data.openid)
},
fail: function () {
// fail
},
complete: function () {
// complete
}
})
},
/**生成商户订单 */
generateOrder: function (openid) {
var that = this
//统一支付
wx.request({
url: '后台路径',
method: 'GET',
data: {
gfee: '商品价钱',
gname: '商品名称',
openId:openid
(商品价钱和商品名称根据自身需要是否传值,openid为必传)
},
success: function (res) {
var pay = res.data
//发起支付
var timeStamp = pay[0].timeStamp;
var packages = pay[0].package;
var paySign = pay[0].paySign;
var nonceStr = pay[0].nonceStr;
var param = { "timeStamp": timeStamp, "package": packages, "paySign": paySign, "signType": "MD5", "nonceStr": nonceStr };
that.pay(param)
},
})
},
/* 支付 */
pay: function (param) {
console.log("支付")
console.log(param)
wx.requestPayment({
timeStamp: param.timeStamp,
nonceStr: param.nonceStr,
package: param.package,
signType: param.signType,
paySign: param.paySign,
success: function (res) {
// success
wx.navigateBack({
delta: 1, // 回退前 delta(默认为1) 页面
success: function (res) {
wx.showToast({
title: '支付成功',
icon: 'success',
duration: 2000
})
},
fail: function () {
// fail
},
complete: function () {
// complete
}
})
},
fail: function (res) {
// fail
},
complete: function () {
// complete
}
})
}
})
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# 微信小程序
# 支付
# 小程序
# 支付功能
# 微信小程序支付前端源码
# 微信小程序支付功能完整流程记录(前端)
# 希望能
# 跳转
# 谢谢大家
# 只提供
# 商户
# 默认为
# res
# console
# log
# wx
# login
# success
# openid
# weixin
# api
# sns
# qq
# request
# getOpenId
# https
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
java ZXing生成二维码及条码实例分享
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
利用vue写todolist单页应用
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
利用JavaScript实现拖拽改变元素大小
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
Python制作简易注册登录系统
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
如何快速完成中国万网建站详细流程?
如何挑选优质建站一级代理提升网站排名?
Laravel怎么为数据库表字段添加索引以优化查询
IOS倒计时设置UIButton标题title的抖动问题
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
详解Oracle修改字段类型方法总结
Laravel如何创建自定义中间件?(Middleware代码示例)
如何在云主机上快速搭建多站点网站?
原生JS获取元素集合的子元素宽度实例
php485函数参数是什么意思_php485各参数详细说明【介绍】
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
JavaScript如何实现路由_前端路由原理是什么
如何注册花生壳免费域名并搭建个人网站?
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
Python文件流缓冲机制_IO性能解析【教程】
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
实例解析Array和String方法
Laravel如何与Pusher实现实时通信?(WebSocket示例)
javascript如何操作浏览器历史记录_怎样实现无刷新导航
如何快速使用云服务器搭建个人网站?
如何有效防御Web建站篡改攻击?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
如何快速选择适合个人网站的云服务器配置?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
Laravel Docker环境搭建教程_Laravel Sail使用指南
如何彻底删除建站之星生成的Banner?
如何快速搭建高效香港服务器网站?
详解jQuery停止动画——stop()方法的使用
JavaScript模板引擎Template.js使用详解
如何在云主机上快速搭建网站?
如何正确选择百度移动适配建站域名?
Laravel如何发送系统通知?(Notification渠道示例)

