Flutter支付集成插件tingo_pay的使用
Flutter支付集成插件tingo_pay的使用
特性
版本: 0.0.9
### 特性
支付服务
### 开始使用
此包为Flutter开发者提供了方便使用Tingo支付网关的方法。
### 使用方法
初始化Tingo支付并在您的应用中使用Tingo网关小部件。
```dart
import 'package:flutter/material.dart';
import 'package:tingo_pay/tingo_controller.dart';
import 'package:tingo_pay/tingo_pay.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
color: Colors.yellow,
title: 'TingoPay Demo',
theme: ThemeData(
primarySwatch: Colors.red,
),
home: HomePage(),
);
}
}
class HomePage extends StatefulWidget {
[@override](/user/override)
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
[@override](/user/override)
void initState() {
// 初始化这里
Tingo.init(
merchantKey: "GnL1MblYPNDomiH0",
publicKey: "PUB-oAx2H6CmWDvvbBeDv5X9Ge4vzSeJC5uK",
successUrl: "sampleSuccessUrl",
callbackUrl: "sampleCallbackUrl",
failUrl: "sampleFailUrl",
);
super.initState();
}
[@override](/user/override)
Widget build(BuildContext context) {
return TingoGateWay(
email: "samwhitedove@gmail.com",
description: "Description",
firstName: "seun",
lastName: "samuel",
);
}
}
额外信息
所有您需要做的就是初始化该包,该包会处理一切。
完整示例代码
import 'package:flutter/material.dart';
import 'package:tingo_pay/tingo_controller.dart';
import 'package:tingo_pay/tingo_pay.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
color: Colors.yellow,
title: 'TingoPay Demo',
theme: ThemeData(
primarySwatch: Colors.red,
),
home: HomePage(),
);
}
}
class HomePage extends StatefulWidget {
[@override](/user/override)
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
[@override](/user/override)
void initState() {
// 初始化Tingo支付
Tingo.init(
merchantKey: "GnL1MblYPNDomiH0",
publicKey: "PUB-oAx2H6CmWDvvbBeDv5X9Ge4vzSeJC5uK",
successUrl: "sampleSuccessUrl",
callbackUrl: "sampleCallbackUrl",
failUrl: "sampleFailUrl",
);
super.initState();
}
[@override](/user/override)
Widget build(BuildContext context) {
return const TingoGateWay(
email: "samwhitedove@gmail.com",
description: "Description",
firstName: "seun",
lastName: "samuel",
);
}
}
更多关于Flutter支付集成插件tingo_pay的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter支付集成插件tingo_pay的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
tingo_pay
是一个用于集成支付功能的 Flutter 插件,通常用于在 Flutter 应用中实现支付功能,特别是与 TingoPay 支付平台的集成。以下是如何在 Flutter 项目中使用 tingo_pay
插件的基本步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 tingo_pay
插件的依赖:
dependencies:
flutter:
sdk: flutter
tingo_pay: ^latest_version # 请替换为最新的版本号
然后运行 flutter pub get
来获取依赖。
2. 初始化 TingoPay
在启动支付之前,你需要初始化 TingoPay。通常这需要在应用的 main.dart
文件中完成:
import 'package:flutter/material.dart';
import 'package:tingo_pay/tingo_pay.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await TingoPay.initialize(
appId: 'YOUR_APP_ID', // 你的 TingoPay App ID
appKey: 'YOUR_APP_KEY', // 你的 TingoPay App Key
env: TingoPayEnv.SANDBOX, // 或者 TingoPayEnv.PRODUCTION
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'TingoPay Example',
home: PaymentScreen(),
);
}
}
3. 发起支付
在你的支付页面中,你可以使用 TingoPay
来发起支付请求。以下是一个简单的示例:
import 'package:flutter/material.dart';
import 'package:tingo_pay/tingo_pay.dart';
class PaymentScreen extends StatelessWidget {
Future<void> _makePayment() async {
try {
final response = await TingoPay.pay(
amount: 100.0, // 支付金额
currency: 'USD', // 货币类型
orderId: 'ORDER12345', // 订单ID
productName: 'Example Product', // 商品名称
productDescription: 'This is an example product', // 商品描述
customerEmail: 'customer@example.com', // 客户邮箱
callbackUrl: 'https://example.com/callback', // 回调URL
);
if (response.status == TingoPayStatus.SUCCESS) {
print('Payment successful: ${response.transactionId}');
} else {
print('Payment failed: ${response.message}');
}
} catch (e) {
print('Error: $e');
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('TingoPay Example'),
),
body: Center(
child: ElevatedButton(
onPressed: _makePayment,
child: Text('Make Payment'),
),
),
);
}
}
4. 处理支付回调
在支付完成后,TingoPay 会将支付结果返回到你指定的 callbackUrl
。你需要在服务器端处理这些回调,并根据支付结果更新订单状态。
5. 处理支付结果
你可以在 TingoPay.pay
方法的回调中处理支付结果。TingoPayStatus
表示支付的状态,你可以根据状态来更新 UI 或执行其他操作。
if (response.status == TingoPayStatus.SUCCESS) {
// 支付成功
} else if (response.status == TingoPayStatus.FAILED) {
// 支付失败
} else if (response.status == TingoPayStatus.PENDING) {
// 支付处理中
}