Flutter支付集成插件epayco_dart的使用

Flutter支付集成插件epayco_dart的使用

epayco_dart 是一个为 ePayco 网络 API 构建的封装库。它可以帮助开发者更方便地在 Flutter 应用中集成 ePayco 支付功能。

使用步骤

1. 添加依赖

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

dependencies:
  epayco_dart: ^1.0.0

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

2. 初始化插件

在应用启动时初始化 epayco_dart 插件。例如,在 main.dart 中添加以下代码:

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('ePayco Payment Example'),
        ),
        body: PaymentPage(),
      ),
    );
  }
}

3. 创建支付页面

创建一个新的页面 PaymentPage 来处理支付逻辑。在这个页面中,你需要调用 epayco_dart 插件的方法来生成支付请求。

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

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

class _PaymentPageState extends State<PaymentPage> {
  final Epayco epayco = Epayco(
    publicKey: 'YOUR_PUBLIC_KEY',
    privateKey: 'YOUR_PRIVATE_KEY',
    lang: 'ES', // 或者 'EN'
    test: true, // 是否在测试模式下运行
  );

  void makePayment() async {
    try {
      var response = await epayco.payment.create({
        "token_card": "TOKEN_CARD",
        "doc_type": "CC",
        "doc_number": "DOC_NUMBER",
        "name": "NAME",
        "last_name": "LAST_NAME",
        "email": "EMAIL",
        "phone": "PHONE",
        "invoice": "INVOICE",
        "description": "DESCRIPTION",
        "amount": "AMOUNT",
        "currency": "COP", // 或者其他货币代码
        "test": true,
      });

      if (response['success']) {
        // 成功处理支付
        print("支付成功!");
      } else {
        // 处理失败情况
        print("支付失败!");
      }
    } catch (e) {
      // 处理异常
      print("发生错误: $e");
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Center(
      child: ElevatedButton(
        onPressed: makePayment,
        child: Text('发起支付'),
      ),
    );
  }
}

4. 测试支付功能

确保你已经获取了 publicKey, privateKey, 和 TOKEN_CARD 等必要的参数。这些参数可以在 ePayco 的开发者控制台中获取。将它们替换到上述代码中相应的占位符中。

完整示例代码

以下是完整的示例代码,包含了 main.dartPaymentPage.dart 文件。

main.dart

import 'package:flutter/material.dart';
import 'package:epayco_dart/epayco_dart.dart';
import 'payment_page.dart';

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('ePayco Payment Example'),
        ),
        body: PaymentPage(),
      ),
    );
  }
}

payment_page.dart

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

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

class _PaymentPageState extends State<PaymentPage> {
  final Epayco epayco = Epayco(
    publicKey: 'YOUR_PUBLIC_KEY',
    privateKey: 'YOUR_PRIVATE_KEY',
    lang: 'ES', // 或者 'EN'
    test: true, // 是否在测试模式下运行
  );

  void makePayment() async {
    try {
      var response = await epayco.payment.create({
        "token_card": "TOKEN_CARD",
        "doc_type": "CC",
        "doc_number": "DOC_NUMBER",
        "name": "NAME",
        "last_name": "LAST_NAME",
        "email": "EMAIL",
        "phone": "PHONE",
        "invoice": "INVOICE",
        "description": "DESCRIPTION",
        "amount": "AMOUNT",
        "currency": "COP", // 或者其他货币代码
        "test": true,
      });

      if (response['success']) {
        // 成功处理支付
        print("支付成功!");
      } else {
        // 处理失败情况
        print("支付失败!");
      }
    } catch (e) {
      // 处理异常
      print("发生错误: $e");
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Center(
      child: ElevatedButton(
        onPressed: makePayment,
        child: Text('发起支付'),
      ),
    );
  }
}

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

1 回复

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


epayco_dart 是一个用于在 Flutter 应用中集成 Epayco 支付的 Dart 插件。Epayco 是一个流行的支付网关,支持多种支付方式,包括信用卡、PSE(Pagos Seguros en Línea)、现金支付等。

以下是如何在 Flutter 项目中使用 epayco_dart 插件的基本步骤:

1. 添加依赖

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

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

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

2. 初始化 Epayco

在需要使用 Epayco 的地方导入并初始化 epayco_dart:

import 'package:epayco_dart/epayco_dart.dart';

final epayco = Epayco(
  publicKey: 'YOUR_PUBLIC_KEY',  // 你的 Epayco 公钥
  privateKey: 'YOUR_PRIVATE_KEY',  // 你的 Epayco 私钥
  apiKey: 'YOUR_API_KEY',  // 你的 Epayco API 密钥
  test: true,  // 是否使用测试模式
);

3. 创建支付

使用 epayco 实例来创建一个支付请求。以下是一个使用信用卡支付的示例:

void makePayment() async {
  try {
    final response = await epayco.charge.create({
      'card[number]': '4111111111111111',
      'card[exp_month]': '12',
      'card[exp_year]': '2025',
      'card[cvc]': '123',
      'customer[email]': 'customer@example.com',
      'amount': '10000',  // 金额(分)
      'currency': 'cop',  // 货币类型
      'description': 'Test Payment',
      'test': 'true',  // 是否在测试模式下进行
    });

    print('Payment Response: $response');
  } catch (e) {
    print('Error: $e');
  }
}

4. 处理响应

根据返回的响应,你可以处理支付成功或失败的情况。response 对象包含了支付的状态、交易 ID 等信息。

if (response['success'] == true) {
  print('Payment successful! Transaction ID: ${response['data']['x_transaction_id']}');
} else {
  print('Payment failed: ${response['error']['message']}');
}
回到顶部