Flutter支付集成插件sumup_sdk_wrapper的使用
Flutter支付集成插件sumup_sdk_wrapper的使用
sumup_sdk_wrapper
目前此项目不再维护,因为原始项目已更新。请改用sumup。
Flutter包装器,用于使用最新的SumUp SDK。基于sumup。
连接到SumUp终端,登录并在Android上接受卡支付。
前提条件
- 通过SumUp的国家网站注册商户账户(或收到测试账户)。
- 收到SumUp卡终端:Air、Air Lite、PIN+终端、Chip & Signature读卡器、SumUp Air Register、Solo或Solo Lite(Solo和Solo Lite当前处于测试阶段)。
- 通过SumUp开发者仪表板请求访问密钥并注册您的应用ID。
- Android最低SDK版本为23或更高。
安装
在pubspec.yaml
文件中添加sumup_sdk_wrapper
:
dependencies:
sumup_sdk_wrapper:
导入sumup
:
import 'package:sumup_sdk_wrapper/sumup_sdk_wrapper.dart';
开始使用
初始化SumUp SDK
SumupSdkWrapper.init(affiliateKey);
登录
SumupSdkWrapper.login();
或者使用令牌登录:
SumupSdkWrapper.loginWithToken(token);
打开设置页面
SumupSdkWrapper.openSettings();
准备终端进行结账
SumupSdkWrapper.prepareForCheckout();
完成交易
var payment = SumupPayment(
title: 'Test payment', // 支付标题
total: 1.2, // 总金额
currency: 'EUR', // 货币类型
foreignTransactionID: '', // 外部交易ID
saleItemsCount: 0, // 销售项目数量
skipSuccessScreen: false, // 是否跳过成功屏幕
tip: .0, // 小费
);
var request = SumupPaymentRequest(payment);
SumupSdkWrapper.checkout(request);
可用API
SumupSdkWrapper.init(affiliateKey); // 初始化SDK
SumupSdkWrapper.login(); // 登录
SumupSdkWrapper.isLoggedIn; // 检查是否已登录
SumupSdkWrapper.merchant; // 获取商户信息
SumupSdkWrapper.openSettings(); // 打开设置页面
SumupSdkWrapper.prepareForCheckout(); // 准备终端进行结账
SumupSdkWrapper.checkout(request); // 完成交易
SumupSdkWrapper.logout(); // 登出
// iOS独有
SumupSdkWrapper.isCheckoutInProgress; // 检查是否正在进行结账
示例代码
以下是一个完整的示例代码,展示如何使用sumup_sdk_wrapper
完成支付流程。
示例代码:main.dart
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:sumup_sdk_wrapper/sumup_sdk_wrapper.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 _platformVersion = 'Unknown';
final _sumupSdkWrapperPlugin = SumupSdkWrapper();
[@override](/user/override)
void initState() {
super.initState();
initPlatformState();
}
// 平台消息异步初始化
Future<void> initPlatformState() async {
String platformVersion;
try {
platformVersion =
await _sumupSdkWrapperPlugin.getPlatformVersion() ?? 'Unknown platform version';
} on PlatformException {
platformVersion = 'Failed to get platform version.';
}
if (!mounted) return;
setState(() {
_platformVersion = platformVersion;
});
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('SumUp支付插件示例'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('运行环境: $_platformVersion\n'),
ElevatedButton(
onPressed: () {
// 初始化SDK
SumupSdkWrapper.init('your_affiliate_key');
// 登录
SumupSdkWrapper.login();
// 准备终端
SumupSdkWrapper.prepareForCheckout();
// 创建支付请求
var payment = SumupPayment(
title: '测试支付',
total: 1.2,
currency: 'EUR',
foreignTransactionID: '',
saleItemsCount: 0,
skipSuccessScreen: false,
tip: 0.0,
);
var request = SumupPaymentRequest(payment);
// 开始支付
SumupSdkWrapper.checkout(request);
},
child: Text('开始支付'),
),
],
),
),
);
}
}
更多关于Flutter支付集成插件sumup_sdk_wrapper的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter支付集成插件sumup_sdk_wrapper的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
sumup_sdk_wrapper
是一个用于在 Flutter 应用中集成 SumUp 支付的插件。SumUp 是一家提供移动支付解决方案的公司,允许用户通过智能手机或平板电脑接受信用卡支付。以下是如何在 Flutter 项目中使用 sumup_sdk_wrapper
插件的步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 sumup_sdk_wrapper
插件的依赖:
dependencies:
flutter:
sdk: flutter
sumup_sdk_wrapper: ^1.0.0 # 请检查最新版本
然后运行 flutter pub get
来安装依赖。
2. 配置 Android 和 iOS 项目
Android
在 android/app/build.gradle
文件中,确保 minSdkVersion
至少为 21:
android {
defaultConfig {
minSdkVersion 21
// 其他配置
}
// 其他配置
}
iOS
在 ios/Podfile
中,确保平台设置为 iOS 11 或更高版本:
platform :ios, '11.0'
然后运行 pod install
来更新 iOS 项目的依赖。
3. 初始化 SumUp SDK
在 Flutter 应用中初始化 SumUp SDK。通常,你可以在 main.dart
文件中进行初始化:
import 'package:flutter/material.dart';
import 'package:sumup_sdk_wrapper/sumup_sdk_wrapper.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 SumUp SDK
await SumUpSdkWrapper.init('YOUR_SUMUP_AFFILIATE_KEY');
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter SumUp Integration',
home: PaymentScreen(),
);
}
}
4. 处理支付
在 PaymentScreen
中,你可以使用 SumUpSdkWrapper
来处理支付。以下是一个简单的支付示例:
import 'package:flutter/material.dart';
import 'package:sumup_sdk_wrapper/sumup_sdk_wrapper.dart';
class PaymentScreen extends StatelessWidget {
Future<void> _processPayment() async {
try {
final response = await SumUpSdkWrapper.processPayment(
amount: 10.0, // 支付金额
currencyCode: 'EUR', // 货币代码
title: 'Test Payment', // 支付标题
);
if (response['success']) {
print('Payment successful: ${response['transaction_code']}');
} else {
print('Payment failed: ${response['error_message']}');
}
} catch (e) {
print('Error processing payment: $e');
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SumUp Payment'),
),
body: Center(
child: ElevatedButton(
onPressed: _processPayment,
child: Text('Pay with SumUp'),
),
),
);
}
}