微信小程序前端支付
2024-09-02 17:53:14
原文地址
//index.js
Page({
data: { },
//点击支付按钮进行支付
payclick: function () {
var t = this;
wx.login({
//获取code换取openID
success: function (res) {
//code = res.code //返回code
console.log("获取code");
console.log(res.code);
var opid = t.getOpenId(res.code);
}
})
},
//获取openID
getOpenId: function (code) {
var that = this;
wx.request({
url: "https://api.weixin.qq.com/sns/jscode2session?appid=你的appid&secret=AppSecret(小程序密钥)&js_code=" + code + "&grant_type=authorization_code",
data: {},
method: 'GET',
success: function (res) {
console.log("获取openid")
console.log(res)
that.setData({
openid: res.data.openid,
session_key: res.data.session_key
})
that.generateOrder(res.data.openid)
},
fail: function () {
// fail
},
complete: function () {
// complete
}
})
},
//生成商户订单
generateOrder: function (openid) {
var that = this
wx.request({
url: 'http://localhost:25492/wx/getda',//后台请求地址
method: 'GET',
data: {
gfee: '商品价钱',
gname: '商品名称',
openId: openid
//(商品价钱和商品名称根据自身需要是否传值, openid为必传)
},
success: function (res) {
console.log("后台获取数据成功");
console.log(res);
var param = { "timeStamp": res.data.timeStamp, "package": res.data.package, "paySign": res.data.paySign, "signType": "MD5", "nonceStr": res.data.nonceStr };
//发起支付
that.pay(param);
},
fail: function (res) {
console.log("向后台发送数据失败")
}
})
},
//支付
pay: function (param) {
var that = this;
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) {
console.log("success");
console.log(res);
},
fail: function (res) {
console.log("fail")
console.log(res);
},
complete: function (res) {
console.log("complete");
console.log(res)
}
})
}
})
最新文章
- session超时时间设置方法
- knockout应用开发指南(完整版)
- 请问如何查看mysql 的端口号?
- Channel States
- git 删除错误提交的commit
- Mvc4_ActionLink跟@RenderBody ,@RenderPage
- 搭建高性能计算环境(十)、应用软件的安装之Wien2k
- [Computer Vision] SIFT特征学习笔记
- 在Word中直接用快捷键查找选中文本
- Golang 基于libpcap/winpcap的底层网络编程——gopacket安装
- mysql、oracle和SQL server数据库的区别
- powerdesigner将name的名字赋给comment
- AngularJS多个ng-app只解析第一个的问题
- jquery运用FormData结合Ajax异步上传表单,超实用
- lumion室内渲染二6.3
- c++ 创建线程以及参数传递
- [ 10.05 ]CF每日一题系列—— 962B贪心和思维?
- 浅谈ASP.NET框架
- Android 简历 怎么写? 月薪10K,20K+, 怎么拿到面试?
- python中函数基础
热门文章
- java序列化和反序列化及序列化方式
- 采用线性回归方法降低双目测距到平面的误差(sklearn)
- 【HDU6635】Nonsense Time
- JavaScript Array -->;map()、filter()、reduce()、forEach()函数的使用
- 2017 CVTE Windows开发一面 3.7
- Redis——认识
- JS 全局作用域和局部作用域
- Linux命令-文件管理(四)
- 使用keil生成bin文件
- #pragma once vs #ifndef