Flutter支付集成插件flutter_payunit的使用

Flutter支付集成插件flutter_payunit的使用

Nest Logo

欢迎来到Pay Unit Flutter SDK,在您的应用中无缝接受和管理付款。

Pub Version GitHub repo size GitHub issues GitHub Repo stars GitHub forks GitHub code size in bytes Website Twitter Follow Website

描述

Pay Unit SDK 包装件使您能够通过一个按钮轻松地将支付功能集成到您的应用程序中。

安装

运行以下命令:

使用dart

dart pub add flutter_payunit

使用Flutter

flutter pub add flutter_payunit

手动添加

pubspec.yaml文件中添加以下依赖:

dependencies:
  flutter_payunit: ^0.0.4

导入包

在Dart文件中导入:

import 'package:flutter_payunit/flutter_payunit.dart';

添加PayUnitButton

在你的应用中添加PayUnitButton组件:

PayUnitButton(
  apiUsername: "<Your apiuser>",
  apiPassword: "<Your apiPassword>",
  apiKey: "<Your apiKey>",
  mode: 'live', // live 或者 test
  paymentCountry: '<Transaction country>',
  notifyUrl: "<Your notification url>",
  returnUrl: "<Your return url>",
  totalAmount: "<Your transaction amount>",
  currency: "XAF", 
  buttonTextColor: Colors.white,
  buttonText: "Pay now",
  width: double.infinity,
  color: Colors.orange,
  actionAfterProccess: (transactionId, transactionStatus) {
    // 回调函数,包含交易ID和交易状态
  },
),

PayUnit按钮参数

  • apiUsername: 您的API用户名在PayUnit仪表板上提供,格式类似于"xxxxxx-xxxxxxx-xxxxxx-xxxxxx"
  • apiPassword: 您的API密码在PayUnit仪表板上提供,格式类似于"xxxxxx-xxxxxxx-xxxxxx-xxxxxx"
  • apiKey: 您的应用程序令牌,例如sand_xxxxxx或live_xxxxxx
  • mode: 可以是测试(test)或生产(live)
  • currency: 交易货币,例如XAF表示FCFA
  • buttonTextColor: 自定义PayUnit按钮文本颜色
  • color: 自定义PayUnit按钮背景色
  • actionAfterProccess: 在支付结束后开始的动作。您可以在这里执行一些操作,例如支付完成后显示一个对话框。
  • transactionIdtransactionStatusactionAfterProccess函数的回调参数,不要修改它们。

图库

gallery - Copy

客户

clients - Copy

示例代码

以下是完整的示例代码,展示了如何在Flutter应用中使用flutter_payunit插件:

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

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

class App extends StatelessWidget {
  const App({super.key});

  [@override](/user/override)
  Widget build(BuildContext context) => const MaterialApp(
        debugShowCheckedModeBanner: false,
        home: Scaffold(
          body: PayButton(),
        ),
      );
}

class PayButton extends StatelessWidget {
  const PayButton({
    super.key,
  });

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
        backgroundColor: Colors.grey,
        appBar: AppBar(
          elevation: 1,
          backgroundColor: Colors.white,
          title: const Text(
            "Pay unit demo",
            style: TextStyle(color: Colors.black),
          ),
          centerTitle: true,
        ),
        body: Center(
          child: Padding(
            padding: const EdgeInsets.only(left: 30, right: 30),
            child: PayUnitButton(
              apiUsername: "xxxxxx-xxxxxxx-xxxxxx-xxxxxx",
              apiPassword: "xxxxxx-xxxxxxx-xxxxxx-xxxxxx",
              apiKey: 'live_xxxxxxxxxxxxxxxxxxxxxxxxxxx',
              mode: 'live', // test 或者 live
              totalAmount: 1000,
              currency: 'XAF',
              paymentCountry: 'CM',
              actionAfterProccess: (transactionId, transactionStatus) {
                print(
                    "Transaction id is : $transactionId  and transaction status : $transactionStatus");
                if (transactionStatus == 'SUCCESS') {
                  // 如果交易成功
                  print('The transaction $transactionId is successful');
                } else {
                  // 如果交易失败
                  print('The transaction $transactionId failed');
                }
              },
              returnUrl:
                  'https://webhook.site/d457b2f3-dd71-4f04-9af5-e2fcf3be8f34',
              notifyUrl:
                  'https://webhook.site/d457b2f3-dd71-4f04-9af5-e2fcf3be8f34',
            ),
          ),
        ));
  }
}

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

1 回复

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


flutter_payunit 是一个用于在 Flutter 应用中集成支付功能的插件,支持多种支付网关(如 PayPal、Stripe 等)。以下是如何在 Flutter 项目中使用 flutter_payunit 插件的步骤:

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 flutter_payunit 插件的依赖:

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

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

2. 配置支付网关

在使用 flutter_payunit 之前,你需要在相应的支付网关(如 PayPal、Stripe)上创建账户,并获取 API 密钥或其他必要的凭证。

3. 初始化支付

在 Flutter 应用中初始化支付。通常,你需要在应用的某个地方(如 main.dart 或支付页面)初始化支付插件。

import 'package:flutter_payunit/flutter_payunit.dart';

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

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

class PaymentPage extends StatelessWidget {
  final PayUnit payUnit = PayUnit();

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Payment Page'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            // 初始化支付
            await payUnit.initialize(
              apiKey: 'YOUR_API_KEY',
              gateway: PaymentGateway.PayPal, // 选择支付网关
              currency: 'USD', // 设置货币
            );

            // 发起支付
            final paymentResponse = await payUnit.makePayment(
              amount: 10.0, // 支付金额
              description: 'Test Payment', // 支付描述
            );

            // 处理支付结果
            if (paymentResponse.status == PaymentStatus.success) {
              print('Payment Successful: ${paymentResponse.transactionId}');
            } else {
              print('Payment Failed: ${paymentResponse.errorMessage}');
            }
          },
          child: Text('Pay Now'),
        ),
      ),
    );
  }
}
回到顶部