uni-app - 支付(app支付、小程序支付、h5(微信端)支付)
App支付、小程序支付、h5(微信端)支付
APP支付(内置)
appPay.js
/**
* 5+App支付,仅支持支付宝以及微信支付
*
* 支付宝Sdk集成,微信sdk未集成
*
* @param : provider(String) ->被支付方
* @param : orderInfo(String) ->订单信息
* @param : success,fail(Json) ->回调后的json信息
*
*/ const mPay = (provider, orderInfo, success, fail) => (
uni.requestPayment({
provider,
orderInfo, //订单数据
success(res) {
success(JSON.stringify(res));
},
fail(err) {
fail(JSON.stringify(err));
}
});
) export default mPay;
微信小程序支付(内置)
mPay.js
/**
* 微信小程序支付,仅支持微信支付(后续可能集成网页支付宝支付web-view)
*
* @param : provider(String) ->付款商家
* @param : timeStamp(String) ->时间戳(当前支付时间)
* @param : nonceStr(String) ->支付密匙
* @param : packages(String) ->支付id
* @param : signType(String) ->加密方式(默认MD5)
* @param : paySign(String)
*
*
*
* 小程序支付调用
*
* wePay(provider, timeStamp, nonceStr, packages, signType, paySign,res=>{},fail=>{})
*/ const wePay = (provider, timeStamp, nonceStr, packages, signType, paySign,success,fail) => (
uni.requestPayment({
provider,
timeStamp,
nonceStr,
package: packages,
signType,
paySign,
success(res) {
success(JSON.stringify(res));
},
fail(err) {
fail(JSON.stringify(err))
}
});
) export default wePay;
公众号支付(如果使用微信官方weixin-js-sdk,请使用跨端兼容方案)
(需要引入模块:jweixin-module),详情见yarn以及npm安装
pPay.js
/*
微信支付方法(uni-app h5)适用
获取微信加签信息
@param{data}:获取的微信加签
@param{res}:成功回调
@param{fail}:失败回调 @warn:因为package为严格模式下的保留字,不能用作变量.
@use wPay({
appId,
timeStamp,
nonceStr,
signature,
package,
paySign
},res=>{
console.log('调用成功!');
},fail=>{
console.log('调用失败!');
})
*/
const wx = require('jweixin-module'); const wexinPay = (data, cb, errorCb) => { let [appId, timestamp, nonceStr, signature, packages, paySign] = [data.appId, data.timeStamp, data.nonceStr, data.signature,
data.package, data.paySign
]; wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId, // 必填,公众号的唯一标识
timestamp, // 必填,生成签名的时间戳
nonceStr, // 必填,生成签名的随机串
signature, // 必填,签名,见附录1
jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
}); wx.ready(function() {
wx.chooseWXPay({
timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
nonceStr, // 支付签名随机串,不长于 32 位
'package': packages, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
signType: 'MD5', // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
paySign, // 支付签名
success(res) {
// 支付成功后的回调函数
cb(res);
},
fail(res) {
errorCb(res);
}
});
}); wx.error(function(res) {
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
/*alert("config信息验证失败");*/
});
} export default wexinPay;
关于H5详见微信官方WX-JS-SDK:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
uni-app - 支付(app支付、小程序支付、h5(微信端)支付)的更多相关文章
- h5内嵌微信小程序,调用微信支付功能
在小程序中不能使用之前在浏览器中配置的支付功能,只能调用小程序专属的api进行支付. 因为需要在现在实现的基础上,再添加在小程序中调用微信支付功能,所以我的思路是这样的 1.在点击支付按钮时,判断是不 ...
- 微信小程序中实现微信支付
最近在做微信小程序,今天刚好做到小程序里的微信支付这块,踩过不少坑,特此写个博客记录下,希望能帮到其它人吧. 我总结了一下,小程序中的微信支付和之前其它的公众号里的微信支付有两个区别,第一就是小程序必 ...
- 微信小程序与webview交互实现支付
实现原理:点击h5网页的支付按钮——(跳转)——>嵌套改h5的小程序的支付页面——(处理支付)——>跳转至支付完成后的页面 注意:(1)网页h5中,引入微信的jssdk <scrip ...
- JAVA版开源微信管家—JeeWx捷微3.2版本发布,支持微信公众号,微信企业号,支付窗、小程序
JeeWx捷微3.2微信企业号升级版本发布^_^ JeeWx捷微V3.2——多触点管理平台(支持微信公众号,微信企业号,支付窗.小程序) JeeWx捷微V3.2.0版本引入了更多新特性,支持微信公 ...
- 微信小程序--使用云开发完成支付闭环
微信小程序--使用云开发完成支付闭环 1.流程介绍 2. 代码实现和逻辑思想描述 云函数统一下单 对应云函数 unipay [CloudPay.unifiedOrder] 函数思路 : 调用云函数封装 ...
- 微信小程序唤起其他微信小程序 / 移动应用App唤起小程序
微信小程序唤起其他微信小程序 / 移动应用App唤起小程序 1. 微信小程序唤起微信小程序 小程序唤起其他小程序很简单 先上链接 小程序跳转小程序 Navigator组件 推荐使用 小程序跳转小程序 ...
- 微信小程序与H5数据传递
这的场景是 小程序webview 加载 H5应用 需求点: 1. 小程序的登录code 需要与H5应用的sessionId建立绑定关系 2.H5内发起微信小程序支付,支付参数传递到小程序,支付结果传递 ...
- 小程序嵌套H5的方式和技巧(一)
文章内多次使用了关键字"壳",首先先解释一下什么是壳 壳: 小程序由原生的web-view组件形成的页面,页面只包含技术逻辑(如打开H5页面),不包含具体业务接口请求和业务逻辑处理 ...
- 微信小程序一:微信小程序UI组件、开发框架、实用库
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8079095.html 内容持续更新,维护中 邮箱 ...
- 微信小程序开发01 --- 微信小程序项目结构介绍
一.微信小程序简单介绍: 微信官方介绍微信小程序是一个不需要下载安装就可使用(呵呵,JS代码不用下载吗?展示的UI不用下载吗?)的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用. ...
随机推荐
- Android:活动的启动模式
启动模式一共有四种,分别是 standard .singleTop . singleTask 和 singleInstance , 可 以 在 AndroidManifest.xml 中 通 过 给 ...
- Android Service总结04 之被绑定的服务 -- Bound Service
Android Service总结04 之被绑定的服务 -- Bound Service 版本 版本说明 发布时间 发布人 V1.0 添加了Service的介绍和示例 2013-03-17 Skywa ...
- Android 开机画面和wallpaper总结
Android 开机画面和wallpaper总结 1 kernel的开机画面修改 1.图片需求:图片格式:png图片大小:1024x600(具体示lcd分辨率而定). 2.转换图片png图片. 假设 ...
- Android 百度地图开发(三)
实现比例尺功能和替换自带的缩放组件 ScaleView是比例尺控件.ZoomControlView是缩放控件,MainActivity就是我们的主界面了 先看下ZoomControlView类.代码例 ...
- List集合中的数据按照某一个属性进行分组
有的时候,我们需要在java中对集合中的数据进行分组运算.例如:Bill对象有money(float)和type(String)属性,现有个集合List<Bill>,需要按照Bill的ty ...
- Python集合模块collections
collections collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: ...
- 整理:FPGA选型
针对性整理下FPGA选型问题 一.获取芯片资料: 要做芯片的选型,首先就是要对有可能要面对的芯片有整体的了解,也就是说要尽可能多的先获取芯片的资料.现在FPGA主要有4个生产厂家,ALTERA,XIL ...
- scrapy框架系列 (2) 一个简单案例
学习目标 创建一个Scrapy项目 定义提取的结构化数据(Item) 编写爬取网站的 Spider 并提取出结构化数据(Item) 编写 Item Pipelines 来存储提取到的Item(即结构化 ...
- [leetcode]Best Time to Buy and Sell Stock II @ Python
原题地址:https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/ 题意: Say you have an array ...
- GIST特征描述符使用
来源:http://www.cnblogs.com/justany/archive/2012/12/06/2804211.html 一种场景特征描述 场景特征描述? 通常的特征描述符都是对图片的局部特 ...