Flutter支付集成插件pockyt_pay的使用

Flutter支付集成插件pockyt_pay的使用

pub package
pockyt_pay 是一个用于微信支付和支付宝的Flutter插件。

开始使用

  1. 在微信开放平台注册并完成开发者认证,创建应用并获取App ID。
  2. 对于iOS,需要在微信开放平台上配置通用链接。官方文档
  3. 对于Android,需要在微信开放平台上配置包名和签名。官方签名APK

配置

pubspec.yaml文件中配置插件

dependencies:
  pockyt_pay: ^${lastest version}
  
pockyt:
  app_id: ${wechat app id}  # 微信App ID
  url_scheme: ${alipay url scheme, unique string}  # 支付宝URL Scheme
  ios:
    universal_link: ${wechat universal link}  # 微信通用链接

安装iOS依赖

# 步骤1:安装缺失的依赖
sudo gem install plist

# 步骤2:进入iOS文件夹 (example/ios/)
cd example/ios/

# 步骤3:执行安装命令
pod install

如何使用

只需要四个步骤即可完成支付调用。

// 创建一个PockytPay实例
PockytPay pockyt = PockytPay();

// 订阅支付结果事件
pockyt.subscribe();

// 请求支付宝或微信支付
pockyt.requestAlipay();
pockyt.requestWechatPay();

// 取消订阅
pockyt.unsubscribe();

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

1 回复

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


pockyt_pay 是一个 Flutter 插件,用于集成支付宝和微信支付。它提供了简单的 API,使得在 Flutter 应用中集成支付功能变得更加容易。以下是如何使用 pockyt_pay 插件的详细步骤:

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 pockyt_pay 依赖:

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

然后运行 flutter pub get 以安装依赖。

2. 配置支付平台

2.1 配置支付宝

AndroidManifest.xml 文件中添加以下内容:

<application>
    <activity
        android:name="com.alipay.sdk.app.H5PayActivity"
        android:configChanges="orientation|keyboardHidden|navigation|screenSize"
        android:exported="false"
        android:screenOrientation="behind"
        android:windowSoftInputMode="adjustResize|stateHidden" />
</application>

2.2 配置微信支付

AndroidManifest.xml 文件中添加以下内容:

<application>
    <activity
        android:name="com.tencent.mm.opensdk.openapi.WXPayEntryActivity"
        android:exported="true"
        android:launchMode="singleTop" />
</application>

3. 初始化插件

main.dart 文件中初始化 pockyt_pay 插件:

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomePage(),
    );
  }
}

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

class _HomePageState extends State<HomePage> {
  [@override](/user/override)
  void initState() {
    super.initState();
    PockytPay.init(
      alipayScheme: "your_alipay_scheme", // 支付宝回调 Scheme
      wxAppId: "your_wx_app_id",         // 微信 App ID
    );
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Pockyt Pay Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: _startAlipay,
              child: Text('Start Alipay'),
            ),
            ElevatedButton(
              onPressed: _startWxPay,
              child: Text('Start WeChat Pay'),
            ),
          ],
        ),
      ),
    );
  }

  void _startAlipay() async {
    try {
      // 替换为实际的支付订单信息
      String orderInfo = "your_alipay_order_info";
      final result = await PockytPay.alipay(orderInfo);
      print("Alipay Result: $result");
    } catch (e) {
      print("Alipay Error: $e");
    }
  }

  void _startWxPay() async {
    try {
      // 替换为实际的支付订单信息
      Map<String, dynamic> params = {
        "appid": "your_wx_app_id",
        "partnerid": "your_partner_id",
        "prepayid": "your_prepay_id",
        "package": "Sign=WXPay",
        "noncestr": "your_nonce_str",
        "timestamp": "your_timestamp",
        "sign": "your_sign",
      };
      final result = await PockytPay.wxPay(params);
      print("WeChat Pay Result: $result");
    } catch (e) {
      print("WeChat Pay Error: $e");
    }
  }
}
回到顶部