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 

  

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通过flutter的webview_flutter插件,我们可以在应用中嵌入支付宝和微信支付,并实现支付功能。使用webview_flutter的步骤如下: 1. 首先,在`pubspec.yaml`文件中引入webview_flutter插件。可以在dependencies部分添加`webview_flutter: ^2.0.0`,然后运行`flutter pub get`命令进行依赖安装。 2. 在需要嵌入支付功能的页面中,导入webview_flutter插件。在页面的顶部引入`import 'package:webview_flutter/webview_flutter.dart';`。 3. 在页面的主体中,创建一个WebView组件,并指定需要加载的URL。例如,在Container中使用WebView组件,可以使用如下代码: ```dart Container( child: WebView( initialUrl: 'https://www.alipay.com/', javascriptMode: JavascriptMode.unrestricted, ), ) ``` 4. 在支付宝和微信支付的URL中,传递相关的支付参数,例如订单号、支付金额等。 5. 在WebView组件中,可以通过注册一个JavaScript channel来监听网页中的支付回调信息。例如,在页面初始加载完成后,可以通过使用`onPageFinished`回调方法来执行一段JavaScript代码,监听支付结果。在该代码中,可以通过调用与原生平台交互的方法,将支付结果返回到Flutter中进行处理。 6. 在Flutter中,可以根据支付结果展示相关的提示信息,例如支付成功、支付失败等。 需要注意的是,支付宝和微信支付的具体接口和参数可能会根据版本的更新而有所变化,所以在代码实现中需要根据最新的文档进行调整。同时,为了确保支付过程的安全性,建议在应用中对支付接口进行适当的安全设置,例如使用HTTPS协议,并对支付参数进行加密处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值