Fluwx
是一个微信SDK插件,它允许开发者调用 微信原生SDK .
- 分享图片,文本,音乐,视频等。支持分享到会话,朋友圈以及收藏.
- 微信支付.
- 在微信登录时,获取Auth Code.
- 拉起小程序.
- 订阅消息.
- 打开微信.
- 从微信标签打开应用
1、在pubspec.yaml添加依赖
# 微信SDK插件
fluwx: ^3.8.1+1
获取插件
flutter pub get
2、引入头文件
import 'package:fluwx/fluwx.dart' as fluwx;
3、微信支付代码实现
//注册微信
void initWxApi() {
fluwx.registerWxApi(
appId: "开放平台appId",
universalLink: "https://help.wechat.com/app",
);
}
//微信支付
Future<void> openWxPay() async {
//是否安装微信
bool isInstalled = await fluwx.isWeChatInstalled;
if (!isInstalled) {
Toast.showMsg("请先安装微信");
return;
}
//调起支付
fluwx.payWithWeChat(
appId: "开放平台appId",
partnerId: "partnerId",
prepayId: "prepayId",
packageValue: "packageValue",
nonceStr: "nonceStr",
timeStamp: 1597927308,
sign: "sign",
);
//监听微信回调
fluwx.weChatResponseEventHandler.listen((event) {
if(event.isSuccessful) {
Toast.showMsg("微信支付成功");
} else {
Toast.showMsg(event.errStr??"微信支付成功");
}
});
}
附:
App调用微信支付步骤:
1、用户在客户端APP中选择商品,提交订单,选择微信支付,向商户后台发起支付请求。
2、商户后台调用微信支付API,向微信支付系统发送请求,微信支付系统返回预付单。
3、商户后台把预付单返回的prepay_id,再按签名规范重新生成签名后,将数据传输给客户端。
4、客户端显示支付信息,使用SDK调起微信支付,向微信支付系统发起支付请求。
5、微信支付系统验证签名,判断支付权限后,返回信息给微信,微信弹出支付确认窗口,用户出入密码确认支付。
6、支付完成后,微信支付系统会异步通知商户后台支付结果,客户端执行回调方法,通过接口向后台查询支付结果后,向用户展示支付结果
微信支付流程图https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3