Flutter微信H5支付插件better_wechat_h5pay的使用

Flutter微信H5支付插件better_wechat_h5pay的使用

简介

better_wechat_h5pay 是一个用于 Flutter 的简单微信 H5 支付插件。


安装与开始

1. 在 pubspec.yaml 文件中添加依赖:
dependencies:
  better_wechat_h5pay: ^0.0.1
2. 安装依赖:

运行以下命令安装插件:

$ flutter pub get

常规用法

以下是使用 better_wechat_h5pay 插件的基本示例:

import 'package:flutter/material.dart';
import 'package:better_wechat_h5pay/better_wechat_h5pay.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  [@override](/user/override)
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  // 初始化 WeChat Pay 控制器
  final WechatPayWebViewController _payWebViewController =
      WechatPayWebViewController();

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('微信H5支付示例'),
        ),
        body: Column(
          children: [
            // 集成 WeChat Pay WebView
            WechatPayWebView(controller: _payWebViewController),
            // 支付按钮
            Expanded(
              child: Center(
                child: CupertinoButton(
                  child: Text("支付"),
                  onPressed: () {
                    // 调用支付方法
                    _payWebViewController.pay(
                      url: url(), // 微信支付跳转的URL
                      referer: referer(), // 引用地址
                    );
                  },
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }

  // 获取微信支付的跳转URL
  String url() {
    return "https://wx.tenpay.com/xxxxxx"; // 替换为实际的微信支付跳转URL
  }

  // 获取引用地址
  String referer() {
    return Platform.isIOS
        ? "yourserverhost://" // iOS平台的引用地址
        : "https://yourserverhost"; // Android平台的引用地址
  }
}

功能特点

  • ✅ wechat h5 payment:支持微信 H5 支付功能。

示例代码

以下是完整的示例代码(来自官方仓库):

import 'dart:io';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

import 'package:better_wechat_h5pay/better_wechat_h5pay.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  [@override](/user/override)
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  // 初始化 WeChat Pay 控制器
  final WechatPayWebViewController _payWebViewController =
      WechatPayWebViewController();

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('better_wechat_h5pay 示例'),
        ),
        body: Column(
          children: [
            // 集成 WeChat Pay WebView
            WechatPayWebView(controller: _payWebViewController),
            // 支付按钮
            Expanded(
              child: Center(
                child: CupertinoButton(
                  child: Text("支付"),
                  onPressed: () {
                    // 调用支付方法
                    _payWebViewController.pay(
                      url: url(), // 微信支付跳转的URL
                      referer: referer(), // 引用地址
                    );
                  },
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }

  // 获取微信支付的跳转URL
  String url() {
    return "https://wx.tenpay.com/xxxxxx"; // 替换为实际的微信支付跳转URL
  }

  // 获取引用地址
  String referer() {
    return Platform.isIOS
        ? "yourserverhost://" // iOS平台的引用地址
        : "https://yourserverhost"; // Android平台的引用地址
  }
}

更多关于Flutter微信H5支付插件better_wechat_h5pay的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter微信H5支付插件better_wechat_h5pay的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


better_wechat_h5pay 是一个用于在 Flutter 应用中实现微信 H5 支付的插件。它允许你在 Flutter 应用中调用微信 H5 支付功能,用户可以通过微信浏览器完成支付。

以下是使用 better_wechat_h5pay 插件的基本步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 better_wechat_h5pay 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  better_wechat_h5pay: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来获取依赖。

2. 初始化插件

在你的 Flutter 应用中初始化 better_wechat_h5pay 插件。通常你可以在 main.dart 文件中进行初始化:

import 'package:better_wechat_h5pay/better_wechat_h5pay.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await BetterWechatH5Pay.init();
  runApp(MyApp());
}

3. 调用支付接口

在需要调用微信 H5 支付的地方,使用 BetterWechatH5Pay.pay 方法。你需要提供从服务器获取的支付参数。

import 'package:better_wechat_h5pay/better_wechat_h5pay.dart';

Future<void> payWithWechatH5() async {
  try {
    // 从服务器获取支付参数
    Map<String, String> paymentParams = {
      'appId': 'your_app_id',
      'timeStamp': 'timestamp',
      'nonceStr': 'nonce_str',
      'package': 'prepay_id=your_prepay_id',
      'signType': 'MD5',
      'paySign': 'your_pay_sign',
    };

    // 调用支付
    await BetterWechatH5Pay.pay(paymentParams);

    // 支付成功后的处理
    print('支付成功');
  } catch (e) {
    // 支付失败后的处理
    print('支付失败: $e');
  }
}
回到顶部