Flutter支付集成插件finpay_money的使用

Flutter支付集成插件finpay_money的使用

finpay_money

Pub Package

Finpay 是一种实用且易于使用的基于数字交易的解决方案。通过 Finpay,您可以随时随地自由选择各种交易方式。

使用此包作为库

依赖此包

运行以下命令:

在 Flutter 中:

$ flutter pub add finpay_money

这将在您的包的 pubspec.yaml 文件中添加如下行(并运行隐式的 flutter pub get):

dependencies:
  finpay_money: ^0.0.2

或者,您的编辑器可能支持 flutter pub get。请查阅您的编辑器文档以了解更多信息。

在 Android 的 android/build.gradle 文件中打开:

添加以下内容到根 build.gradle 文件的 repositories 部分末尾:

allprojects {
  repositories {
    google()
    mavenCentral()
    // 添加这一行
    maven { url 'https://jitpack.io' }
    maven { url "https://maven.google.com" }
    jcenter()
  }
}

在 Android 的 android/app/src/build.gradle 文件中打开:

更改 minSdkVersiontargetSdkVersion 如下:

minSdkVersion 24
targetSdkVersion 32

在 Android 的 android/app/src/AndroidManifest.xml 文件中打开:

添加以下内容:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  package="com.example.flutter_app_test">
  <application
      android:label="flutter_app_test"
      android:name="${applicationName}"
      tools:replace="android:label"
      android:icon="@mipmap/ic_launcher">
      ......
  </application>
</manifest>

导入包

现在可以在 Dart 代码中使用以下导入语句:

import 'package:finpay_money/finpay_money.dart';

调用 SDK 函数

可以使用以下代码调用 SDK 函数:

final _finpayMoneyPlugin = FinpayMoney();
try {
  _finpayMoneyPlugin.showTopup(
    transNumber: transNumber,
    merchantUsername: merchantUsername,
    merchantPassword: merchantPassword,
    merchantSecretKey: merchantSecretKey,
    custPhoneNumber: custPhoneNumber,
    custName: custName
  );
} on PlatformException {
  print("error");
}

完整示例 Demo

以下是一个完整的示例代码,展示了如何在 Flutter 应用程序中集成 Finpay 插件:

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

import 'package:flutter/services.dart';
import 'package:finpay_money/finpay_money.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _merchantUsername = 'MT77764DKM83N';
  String _merchantPassword = 'YJV3AM0y';
  String _merchantSecretKey = 'daYumnMb';
  String _custPhoneNumber = '083815613839';
  String _custName = 'Widiyanto Ramadhan';
  final _finpayMoneyPlugin = FinpayMoney();

  [@override](/user/override)
  void initState() {
    super.initState();
  }

  Future<void> callTopup({
    required String transNumber,
    required String merchantUsername,
    required String merchantPassword,
    required String merchantSecretKey,
    required String custPhoneNumber,
    required String custName
  }) async {
    try {
      await _finpayMoneyPlugin.showTopup(
          transNumber: transNumber,
          merchantUsername: merchantUsername,
          merchantPassword: merchantPassword,
          merchantSecretKey: merchantSecretKey,
          custPhoneNumber: custPhoneNumber,
          custName: custName
      );
    } on PlatformException {
      print("error");
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Finpay 示例应用'),
        ),
        body: Center(
          child: Column(
            children: [
              SizedBox(height: 20,),
              TextButton(
                style: ButtonStyle(
                  foregroundColor: MaterialStateProperty.all<Color>(Colors.blue),
                ),
                onPressed: () async {
                  await callTopup(
                      transNumber: "apptest",
                      merchantUsername: _merchantUsername,
                      merchantPassword: _merchantPassword,
                      merchantSecretKey: _merchantSecretKey,
                      custPhoneNumber: _custPhoneNumber,
                      custName: _custName
                  );
                },
                child: Text('从 SDK 显示充值页面'),
              )
            ],
          )
        ),
      ),
    );
  }
}

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

1 回复

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


finpay_money 是一个用于 Flutter 的支付集成插件,它可以帮助开发者快速集成支付功能到 Flutter 应用中。以下是如何使用 finpay_money 插件的基本步骤:

1. 添加依赖

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

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

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

2. 初始化插件

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

import 'package:finpay_money/finpay_money.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 finpay_money
  await FinpayMoney.initialize(
    apiKey: 'YOUR_API_KEY',
    environment: Environment.sandbox, // 或者 Environment.production
  );

  runApp(MyApp());
}

3. 发起支付

在需要发起支付的地方,调用 finpay_money 的支付方法。通常,你可以使用 pay 方法来发起支付请求。

import 'package:finpay_money/finpay_money.dart';

class PaymentPage extends StatelessWidget {
  Future<void> makePayment() async {
    try {
      PaymentResponse response = await FinpayMoney.pay(
        amount: 100.0, // 支付金额
        currency: 'USD', // 货币类型
        description: 'Payment for order #123', // 支付描述
      );

      if (response.status == PaymentStatus.success) {
        // 支付成功
        print('Payment successful: ${response.transactionId}');
      } else {
        // 支付失败
        print('Payment failed: ${response.errorMessage}');
      }
    } catch (e) {
      print('Error: $e');
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Payment'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: makePayment,
          child: Text('Pay Now'),
        ),
      ),
    );
  }
}
回到顶部