flutter 调用微信支付

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、支付完成后,微信支付系统会异步通知商户后台支付结果,客户端执行回调方法,通过接口向后台查询支付结果后,向用户展示支付结果

微信支付流程图icon-default.png?t=M276https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3 

  

猜你喜欢

转载自blog.csdn.net/lqw200931116/article/details/123819477