Flutter Unicode与Moyasar集成插件unicode_moyasar的使用

Flutter Unicode与Moyasar集成插件unicode_moyasar的使用

标题

Flutter Unicode与Moyasar集成插件unicode_moyasar的使用

内容

  • UNICODE Team开发的在线支付库,用于通过Moyasar支付网关进行在线支付。

    • 支持的支付方式:

      • 卡片支付((mada, visa, mastercard)
      • Apple Pay
      • stc pay
    • 示例图片:

  • 开始使用

    • 请查看我们的示例项目以更好地理解实现方法:example
    import 'package:flutter/material.dart';
    import 'package:unicode_moyasar/unicode_moyasar.dart';
    
    void main() {
      runApp(const MyApp());
    }
    
    class MyApp extends StatelessWidget {
      const MyApp({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          title: 'UNICODE Moyasar',
          debugShowCheckedModeBanner: false,
          theme: ThemeData(primarySwatch: Colors.indigo),
          home: const PaymentView(),
        );
      }
    }
    
    class PaymentView extends StatefulWidget {
      const PaymentView({Key? key}) : super(key: key);
    
      @override
      State<PaymentView> createState() => _PaymentViewState();
    }
    
    class _PaymentViewState extends State<PaymentView> {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: const Text("Checkout"),
            shape: const StadiumBorder(),
          ),
          body: MoyasarPayment(
            moyasarPaymentData: MoyasarPaymentData(
              appName: "UNICODE",
              secretKey: "sk_test_key",
              publishableSecretKey: "pk_test_key",
              purchaseAmount: 75.50,
              locale: PaymentLocale.en,
              paymentEnvironment: PaymentEnvironment.test,
              paymentOptions: [
                PaymentOption.card,
                PaymentOption.applepay,
                PaymentOption.stcpay,
              ],
            ),
            onPaymentSucess: (response) {
              //TODO Handle success payment response
              debugPrint("Success ------> ${response.toMap()}");
            },
            onPaymentFailed: (response) {
              //TODO Handle failed payment response
              debugPrint("Failed ------> ${response.toMap()}");
            },
          ),
        );
      }
    }
    
  • Apple Pay设置

    • 要在项目中使用Apple Pay,请先将您的域名添加到Moyasar Dashboard中的Apple Pay - domains设置。
    • 请访问他们的官方文档了解更多关于如何为Apple Pay添加域名的信息:docs
    • 步骤1和2可以跳过,直接使用提供的URL。
    unicode-moyasar.web.app
    

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

1 回复

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


当然,以下是一个关于如何在Flutter项目中集成并使用unicode_moyasar插件的示例代码。这个插件用于处理Unicode和Moyasar支付的集成。请注意,由于我无法直接访问最新的插件文档或源码,以下代码基于假设的插件API设计。如果实际插件API有所不同,请根据官方文档进行调整。

首先,确保在pubspec.yaml文件中添加unicode_moyasar依赖:

dependencies:
  flutter:
    sdk: flutter
  unicode_moyasar: ^latest_version  # 请替换为实际最新版本号

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

接下来,在你的Flutter项目中,你可以按照以下步骤使用unicode_moyasar插件:

  1. 初始化Moyasar客户端
import 'package:unicode_moyasar/unicode_moyasar.dart';

void main() {
  // 初始化Moyasar客户端
  final moyasarClient = MoyasarClient(
    publicKey: 'your_public_key', // 替换为你的Moyasar公钥
    privateKey: 'your_private_key', // 替换为你的Moyasar私钥(仅在需要时)
    environment: MoyasarEnvironment.sandbox, // 使用沙盒环境,生产环境请使用MoyasarEnvironment.production
  );

  runApp(MyApp(moyasarClient: moyasarClient));
}
  1. 创建支付请求
import 'package:flutter/material.dart';
import 'package:unicode_moyasar/unicode_moyasar.dart';

class MyApp extends StatelessWidget {
  final MoyasarClient moyasarClient;

  MyApp({required this.moyasarClient});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Moyasar Payment Integration'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () async {
              try {
                // 创建支付请求
                final paymentRequest = PaymentRequest(
                  source: PaymentSource(
                    type: 'card',
                    details: PaymentSourceDetails(
                      number: '4242424242424242', // 测试卡号
                      expiry_month: '12',
                      expiry_year: '23',
                      cvv: '123',
                    ),
                  ),
                  amount: 1000, // 金额,单位为分
                  currency: 'USD',
                  description: 'Test Payment',
                  metadata: {'order_id': '12345'},
                );

                final paymentResponse = await moyasarClient.createPayment(paymentRequest);
                print('Payment Created: ${paymentResponse.toJson()}');
              } catch (e) {
                print('Error creating payment: $e');
              }
            },
            child: Text('Create Payment'),
          ),
        ),
      ),
    );
  }
}

在上面的代码中,我们创建了一个PaymentRequest对象,其中包含支付源(如信用卡详情)、金额、货币、描述和元数据。然后,我们使用moyasarClient.createPayment方法发送支付请求,并处理响应或错误。

  1. 处理支付响应

支付响应通常包含支付的状态、ID和其他相关信息。在实际应用中,你可能需要根据支付响应更新UI或执行其他逻辑。

请注意,上述代码仅作为示例,实际使用时需要根据unicode_moyasar插件的实际API进行调整。特别是,错误处理和UI更新可能需要根据具体需求进行更复杂的实现。

此外,确保遵循Moyasar的安全最佳实践,不要在客户端存储私钥,也不要在客户端日志中记录敏感信息。私钥应仅用于服务器端操作。

最后,务必参考unicode_moyasar插件的官方文档和示例代码,以获取最新和最准确的集成指南。

回到顶部