Flutter内容管理或集成Gokwik插件flutter_gokwik的使用

Flutter内容管理或集成Gokwik插件flutter_gokwik的使用

本仓库展示了如何集成GoKwik的Flutter SDK。

特性

以下是GoKwik Flutter SDK的主要功能:

  1. UPI支付

    • 此功能允许用户从已安装的UPI应用列表中选择一个应用进行付款。
  2. 直接UPI支付

    • 此功能允许用户直接打开UPI应用进行付款。
  3. 货到付款(COD)

    • 此功能为用户提供GoKwik支持的货到付款选项。
  4. 非GoKwik支付通知

    • 此功能允许在未通过GoKwik完成支付时通知GoKwik后端。

支持

GoKwik是一个电子商务赋能品牌。GoKwik通过提高整个购物漏斗中的转化率、降低获取成本和提高交付率来增加您的电子商务或D2C业务的盈利能力。如需更多查询,请联系 https://www.gokwik.co/contact

许可证

此项目采用MIT许可证。许可证文件已添加到仓库中。


完整示例代码

以下是一个完整的示例代码,展示如何在Flutter中集成GoKwik插件flutter_gokwik

// 导入必要的库
import 'package:flutter/material.dart';
import 'package:flutter_gokwik/flutter_gokwik.dart'; // GoKwik插件
import 'home.dart'; // 自定义首页

void main() {
  runApp(MyApp()); // 启动应用程序
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'GoKwik Payment Gateway', // 应用名称
      debugShowCheckedModeBanner: false, // 去掉调试标志
      theme: ThemeData(primaryColor: Colors.indigo), // 主题颜色
      home: Home(), // 首页
    );
  }
}

// 调用GoKwik API的方法
void GokwikAPI() async {
  Gokwik _gokwik; // 初始化GoKwik实例

  // 设置支付参数
  String requestId = "requestId"; // 请求ID
  String gokwikOid = "gokwikOid"; // GoKwik订单ID
  String moid = "MerchantOrderID"; // 商户订单ID
  String mid = "MerchantID"; // 商户ID
  String total = "100"; // 总金额
  String orderType = "cod"; // 支付类型(例如:cod/upi)

  // 初始化支付
  _gokwik.initPayment(
    context, // 当前上下文
    production: false, // 是否为生产环境
    data: GokwikData( // 支付数据
      requestId,
      gokwikOid,
      total,
      moid,
      mid,
      orderType,
    ),
  );

  // 监听支付成功和失败事件
  _gokwik.on(Gokwik.EVENT_PAYMENT_SUCCESS, _handleResult); // 支付成功回调
  _gokwik.on(Gokwik.EVENT_PAYMENT_ERROR, _handleResult); // 支付失败回调

  // 处理支付结果的回调函数
  void _handleResult(PaymentResponse response) {
    print(response); // 打印支付结果
  }
}

示例说明

  1. 初始化GoKwik实例

    • 使用Gokwik类创建一个实例,并调用其initPayment方法初始化支付。
  2. 设置支付参数

    • 包括请求ID、GoKwik订单ID、商户订单ID、商户ID、总金额和支付类型。
  3. 监听支付事件

    • 使用on方法监听支付成功和失败事件,并将结果传递给回调函数_handleResult
  4. 处理支付结果

    • _handleResult方法中打印支付结果,您可以根据实际需求处理支付结果。

注意事项

  • 确保在pubspec.yaml中添加flutter_gokwik依赖:
    dependencies:
      flutter_gokwik: ^版本号
    

更多关于Flutter内容管理或集成Gokwik插件flutter_gokwik的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter内容管理或集成Gokwik插件flutter_gokwik的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中集成Gokwik插件(如flutter_gokwik)通常用于处理支付、订单管理等功能。以下是一个基本的步骤指南,帮助你集成和使用flutter_gokwik插件。

1. 添加依赖

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

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

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

2. 初始化Gokwik

在你的Flutter应用中,你需要在应用启动时初始化Gokwik插件。通常可以在main.dart文件中进行初始化。

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化Gokwik
  await Gokwik.initialize(
    apiKey: 'YOUR_API_KEY',
    environment: GokwikEnvironment.sandbox, // 使用沙盒环境进行测试
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Gokwik Example',
      home: HomeScreen(),
    );
  }
}

3. 使用Gokwik进行支付

在需要支付的地方,你可以调用Gokwik的支付方法。以下是一个简单的示例:

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

class HomeScreen extends StatelessWidget {
  Future<void> _startPayment() async {
    try {
      // 创建支付请求
      final paymentResponse = await Gokwik.createPayment(
        orderId: 'ORDER_ID',
        amount: 100.0, // 金额
        customerName: 'John Doe',
        customerEmail: 'john.doe@example.com',
        customerPhone: '1234567890',
      );

      // 处理支付响应
      if (paymentResponse.status == 'success') {
        // 支付成功
        print('Payment successful: ${paymentResponse.paymentId}');
      } else {
        // 支付失败
        print('Payment failed: ${paymentResponse.errorMessage}');
      }
    } catch (e) {
      print('Error: $e');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Gokwik Payment'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _startPayment,
          child: Text('Pay with Gokwik'),
        ),
      ),
    );
  }
}

4. 处理支付回调

Gokwik支付完成后,通常会有一个回调URL或Webhook来通知支付结果。你需要在服务器端处理这些回调,并更新订单状态。

5. 测试与发布

在开发过程中,你可以使用Gokwik的沙盒环境进行测试。确保在发布应用之前切换到生产环境。

await Gokwik.initialize(
  apiKey: 'YOUR_PRODUCTION_API_KEY',
  environment: GokwikEnvironment.production,
);
回到顶部