Flutter支付集成插件paymentez_sdk的使用

Flutter支付集成插件paymentez_sdk的使用

paymentez

此SDK用于Paymentez 💳,由Flutter Ecuador 🇪🇨社区开发,这不是Paymentez的官方解决方案,但作为对数字支付生态系统中稳健高效集成需求不断增长的回应而产生。我们识别到在企业与开发者尝试将Paymentez服务集成到其Flutter应用时所面临的困难和疑问。

PaymentezSDK 是一个稳定、高效且易于实现的解决方案,为Dart和Flutter应用程序提供了无缝的集成体验。专注于稳定性和全面的代码覆盖,该SDK非常适合寻求集成Paymentez高级支付功能的企业 🏢 和独立开发者👨🏻‍💻,避免了常见的技术复杂性问题。

📑 注意: 需要指出的是,Paymentez已被Nuvie收购。因此,Paymentez的服务将继续仅在厄瓜多尔地区提供,直到2027-2028年 🗓。

🤝🏼 承诺未来支持Nuvie 🖊。

特性

PaymentezSDK 提供了一系列功能,以简化并优化您Flutter应用中的支付集成。以下是其中一些关键特性:

Paymentez宝箱管理

创建卡片 💳

允许用户安全地添加信用卡或借记卡到Paymentez的宝箱中。每张添加的卡片都与特定用户关联。

查看卡片 💳

获取与用户关联的所有已保存卡片列表。

删除卡片 💳

允许用户从Paymentez宝箱中删除已保存的卡片。

支付处理

使用PCI处理支付

直接处理支付,管理卡数据并符合PCI安全标准。

不使用PCI的宝箱支付

通过使用Paymentez的宝箱系统处理支付,无需直接管理卡数据。

退款

集成的退款能力,允许全面管理交易生命周期。

3D Secure

支持3D Secure认证方法,为在线交易增加额外的安全层。

使用OTP验证支付

通过使用一次性密码(OTP)验证支付,确保更高的安全性和合规性。

安装

不应在任何公开网站的客户端代码中暴露服务器凭据。

为了开始集成,您需要向Nuvie团队申请一个开发/沙盒账户。请发送您的电子邮件地址以确认您的身份,并提供您的公司名称。

初始配置

final sdk = PaymentezSDK(
    clientApplicationCode: 'APP.....CODE.....CLIENT',
    clientAppKey: 'L38fv.....KEY.....RXQoz',
    serverApplicationCode: 'APP.....CODE.....SERVER',
    serverAppKey: 'voRXQ.....KEY......Kn9v6I',
);

使用示例

添加卡片

这是一种通常在Paymentez等支付处理平台中使用的功能,用于将信用卡或借记卡添加到保护宝箱中,在这里添加的卡片会被token化以确保数据的安全和隐私,每张添加的卡片都与特定用户关联。

final addCardRequest = AddCardRequest(
    user: UserCard(
        id: '5a9b9072-4d60-4846-be71-d533d3851901',
        email: 'test@example.com',
    ),
    card: NewCard(
        number: '4111111111111111',
        holderName: 'citlali calderon',
        expiryMonth: 9,
        expiryYear: 2025,
        cvc: '123',
    ),
);

final (addCardResponse, paymentezError) = await sdk.addCard(addCardRequest);

删除卡片

删除Paymentez宝箱中的卡片是一个安全的过程,确保卡片信息完全从数据库中删除。这对于保持用户数据的安全性和让用户控制存储的支付方式非常重要。deleteCard 函数对于管理过期、丢失或更换的卡片特别重要。

// 删除卡片的示例代码尚未提供,请参考文档进行补充。

列出卡片

此列表包括卡类型、最后四位数字、到期日期和持卡人姓名等详细信息,提供了一种清晰且安全的方式查看和管理您的支付方式。此功能对于用户快速检查已保存的卡片并选择最合适的卡进行交易非常有用。

// 列出卡片的示例代码尚未提供,请参考文档进行补充。

使用令牌卡支付

此功能允许用户使用已token化的订单进行购买。在此方法中,用户的卡信息已预先token化并安全存储。在进行购买时,用户只需引用存储的卡token,而不是每次输入卡详情。这不仅加快了购买过程,还提高了安全性,因为敏感的卡数据不会在交易过程中传输。对于经常购物或希望更快速和安全支付体验的用户来说,这是一个理想的选择。

final model = PayRequest(
    user: UserPay(
        id: '5a9b9072-4d60-4846-be71-d533d3851901',
        email: 'test@example.com',
        phone: '+593555555555',
    ),
    order: OrderPay(
        taxPercentage: 12,
        taxableAmount: 292.86,
        vat: 35.14,
        amount: 328,
        description: 'pozole',
        devReference: 'cod_order_buy_001',
    ),
    card: CardToken(
        token: '14329172493919123772',
    ),
);

final (payResponse, paymentezError) = await sdk.debit(model);

直接使用卡支付

此功能允许用户在每次交易时直接输入信用卡或借记卡的详细信息。与tokenized订单不同,此方法在每次购买时提供卡信息,可能更适合不希望存储卡数据的用户或单次交易。尽管每次购买都需要更多步骤,但这种选项保持了高标准的安全性,包括数据验证和可能的3D Secure认证,以防止欺诈和未经授权的卡使用。

final payPCIRequest = PayPCIRequest(
    user: UserPay(
        id: '5a9b9072-4d60-4846-be71-d533d3851901',
        email: 'test@example.com',
        phone: '+593555555555',
    ),
    order: OrderPay(
        taxPercentage: 12,
        taxableAmount: 292.86,
        vat: 35.14,
        amount: 328,
        description: 'pozole',
        devReference: 'cod_order_buy_001',
    ),
    card: CardPCI(
        number: '4111111111111111',
        holderName: 'citlali calderon',
        expiryMonth: 9,
        expiryYear: 2025,
        cvc: '123',
    ),
);

final (payResponse, paymentezError) = await sdk.debitCC(payPCIRequest);

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

1 回复

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


paymentez_sdk 是一个用于在 Flutter 应用中集成 Paymentez 支付功能的插件。Paymentez 是一个支付网关,支持信用卡、借记卡和其他支付方式的处理。

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

1. 添加依赖

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

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

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

2. 初始化 Paymentez SDK

在应用启动时,你需要初始化 Paymentez SDK。通常可以在 main.dart 中完成这个操作。

import 'package:paymentez_sdk/paymentez_sdk.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Paymentez SDK
  PaymentezSdk.initialize(
    environment: Environment.STAGING, // 或 Environment.PRODUCTION
    clientAppCode: 'YOUR_CLIENT_APP_CODE',
    clientAppKey: 'YOUR_CLIENT_APP_KEY',
  );

  runApp(MyApp());
}

3. 创建支付

在需要支付的地方,你可以使用 PaymentezSdk 创建支付请求。

import 'package:paymentez_sdk/paymentez_sdk.dart';

class PaymentPage extends StatelessWidget {
  Future<void> makePayment() async {
    try {
      final paymentResponse = await PaymentezSdk.createPayment(
        userId: 'USER_ID',
        email: 'USER_EMAIL',
        amount: 100.0, // 支付金额
        description: 'Product Purchase',
        card: CardModel(
          number: '4111111111111111', // 信用卡号
          holderName: 'John Doe',
          expiryMonth: 12,
          expiryYear: 2025,
          cvc: '123',
        ),
      );

      if (paymentResponse.success) {
        print('Payment successful: ${paymentResponse.transactionId}');
      } else {
        print('Payment failed: ${paymentResponse.message}');
      }
    } 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'),
        ),
      ),
    );
  }
}
回到顶部