Flutter插件easebuzz_flutter的安装及使用方法详解

Flutter插件easebuzz_flutter的安装及使用方法详解

Flutter 插件用于 Easebuzz SDK。通过此插件,您可以轻松地在 Flutter 应用程序中集成 Easebuzz 支付网关。

  • 开始使用
  • 前置条件
  • 安装
  • 使用
  • 示例代码

开始使用

此 Flutter 插件是基于我们的 Android 和 iOS SDK 的封装,提供了将 Easebuzz 支付网关集成到 Flutter 应用程序的一种简便方式。要了解 Easebuzz 支付流程及其实现,请参阅官方文档:Easebuzz 文档

前置条件

在进行集成之前,请确保以下条件已经满足:

商户注册

测试环境凭据

  • 在您的注册邮箱中会收到测试凭据。这些凭据使您能够在安全的沙箱环境中测试支付功能,确保不会发生真实的金融交易。
  • 在充分测试后,用生产环境密钥替换测试密钥以处理实际支付。

安装

该插件可在 pub.dev 上找到。

要在您的 Flutter 项目中集成 easebuzz_flutter,请在 pubspec.yaml 文件中添加以下依赖项:

easebuzz_flutter: ^0.0.1

或者运行以下命令:

flutter pub add easebuzz_flutter

添加依赖项后,运行以下命令获取包:

flutter pub get

使用

要集成 Easebuzz 支付功能,请遵循以下步骤:

导入包

import 'package:easebuzz_flutter/easebuzz_flutter.dart';

初始化插件

创建插件实例并定义支付响应变量:

final _easebuzzFlutterPlugin = EasebuzzFlutter();
String _paymentResponse = 'No payment response yet';

实现支付功能

使用以下方法发起支付:

// 使用 Easebuzz 插件发起支付的方法
Future<void> initiatePayment() async {
  String accessKey = "Access key generated by the Initiate Payment API";
  String payMode = "test"; // 可以是 'test' 或 'production'
  try {
    // 调用平台方法以发起支付
    final paymentResponse = await _easebuzzFlutterPlugin.payWithEasebuzz(accessKey, payMode);

    setState(() {
      _paymentResponse = paymentResponse.toString(); // 存储并显示响应
    });
  } on PlatformException catch (e) {
    setState(() {
      _paymentResponse = "Payment failed: ${e.message}";
    });
  }
}

示例代码可以在 example/lib/main.dart 中找到。

示例代码

以下是展示如何集成 initiatePayment 方法的一个示例小部件:

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

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

class _PaymentScreenState extends State<CheckoutPaymentPage> {
  final _easebuzzFlutterPlugin = EasebuzzFlutter();
  String _paymentResponse = 'No payment response yet';

  Future<void> initiatePayment() async {
    String accessKey = "Access key generated by the Initiate Payment API";
    String payMode = "test"; // 用于测试模式;使用 "production" 进行生产模式
    try {
      final paymentResponse = await _easebuzzFlutterPlugin.payWithEasebuzz(accessKey, payMode);
      setState(() {
        _paymentResponse = "Payment successful: $paymentResponse";
      });
    } on PlatformException catch (e) {
      setState(() {
        _paymentResponse = "Payment failed: ${e.message}";
      });
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Easebuzz Payment'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(_paymentResponse),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: initiatePayment,
              child: Text('Initiate Payment'),
            ),
          ],
        ),
      ),
    );
  }
}

更多关于Flutter插件easebuzz_flutter的安装及使用方法详解的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter插件easebuzz_flutter的安装及使用方法详解的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


easebuzz_flutter 是一个用于Flutter应用程序与Easebuzz支付网关集成的插件。Easebuzz是一个印度的支付网关,支持多种支付方式,如信用卡、借记卡、网银、UPI等。通过easebuzz_flutter插件,开发者可以轻松地将Easebuzz支付功能集成到Flutter应用中。

1. 安装插件

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

dependencies:
  flutter:
    sdk: flutter
  easebuzz_flutter: ^1.0.0  # 请检查最新版本

然后运行flutter pub get来安装插件。

2. 配置Easebuzz密钥

在使用easebuzz_flutter之前,你需要在Easebuzz商户后台获取Merchant KeySALT。这些密钥用于初始化支付请求。

3. 初始化Easebuzz

在你的Flutter应用中,首先需要初始化Easebuzz插件。通常,你可以在应用的main.dart文件中进行初始化:

import 'package:easebuzz_flutter/easebuzz_flutter.dart';

void main() {
  EasebuzzFlutter.initialize(
    merchantKey: 'YOUR_MERCHANT_KEY',
    salt: 'YOUR_SALT',
    environment: Environment.TEST, // 使用TEST环境进行测试,生产环境使用Environment.PRODUCTION
  );
  runApp(MyApp());
}

4. 发起支付请求

在用户选择支付后,你可以使用EasebuzzFlutter来发起支付请求。以下是一个简单的示例:

import 'package:easebuzz_flutter/easebuzz_flutter.dart';

Future<void> initiatePayment() async {
  try {
    var response = await EasebuzzFlutter.initiatePayment(
      amount: '100.00', // 支付金额
      email: 'user@example.com', // 用户邮箱
      phone: '9876543210', // 用户手机号
      firstName: 'John', // 用户名字
      lastName: 'Doe', // 用户姓氏
      address: '123 Street', // 用户地址
      city: 'City', // 用户城市
      state: 'State', // 用户州
      zipCode: '123456', // 用户邮编
      country: 'India', // 用户国家
      productInfo: 'Product Info', // 产品信息
      transactionId: 'TXN123456', // 交易ID
      surl: 'https://example.com/success', // 成功回调URL
      furl: 'https://example.com/failure', // 失败回调URL
    );

    // 处理支付响应
    print('Payment Response: $response');
  } catch (e) {
    // 处理错误
    print('Payment Error: $e');
  }
}
回到顶部