Flutter支付集成插件elepay_flutter的使用
Flutter支付集成插件elepay_flutter的使用
elepay Flutter原生SDK(Android/iOS)的封装。
需求
此插件要求Flutter 3.0.0或更高版本。
从版本3.0.0开始,对于Android目标构建,minSdk需要为23。对于iOS目标构建,最低版本要求为iOS 12和Swift 5.7。
安装
在你的pubspec.yaml
文件中添加以下依赖:
dependencies:
elepay_flutter: ^${latestVersion}
使用
导入
导入package:elepay_flutter/elepay_flutter.dart
。
初始化
通过ElepayFlutter.initElepay
初始化elepay SDK。
处理数据
将数据(JSON对象字符串)传递给ElepayFlutter
处理方法,并处理ElepayResult
数据。
示例代码
import 'package:elepay_flutter/elepay_flutter.dart';
...
// 初始化elepay SDK。只需要第一个参数`publicKey`是必需的。
// 下面的例子还更改了elepay SDK UI的默认语言为`日语`。
var config = ElepayConfiguration(
currentConfig['pk'],
languageKey: ElepayLanguageKey.japanese);
ElepayFlutter.initElepay(config);
// 可以通过调用以下方法更改elepay SDK UI的默认语言。
// 默认情况下,elepay SDK会尽可能使用系统语言设置,并回退到英语。
// 注意:更改语言必须在elepay SDK初始化后且在调用`ElepayFlutter.handlePayment`之前进行。
ElepayFlutter.changeLanguage(ElepayLanguageKey.japanese);
// 还可以指定elepay SDK UI的颜色主题。
// 默认情况下,elepay SDK使用应用或系统的主题颜色。
// 注意:在iOS平台上,主题更改仅支持iOS 13及以上版本。
ElepayFlutter.changeTheme(ElepayTheme.dark);
...
// 通过调用elepay API创建收费数据(JSON对象)
// 然后将数据转换为String实例并传递给elepay SDK以处理支付。
//
// elepay SDK还支持source和checkout处理,相关方法为`handleSource`和`checkout`。
var res = await ElepayFlutter.handlePayment(chargePayload);
// 处理结果数据。
if (res is ElepayResultSucceeded) {
print('成功。' + res.paymentId);
} else if (res is ElepayResultFailed) {
print('失败:' + res.paymentId + ', code=' + res.code + ', reason=' + res.reason + ', message=' + res.message);
} else if (res is ElepayResultCancelled) {
print('取消。' + res.paymentId);
}
原生回调
某些支付方式需要在其原生应用程序中处理支付。对于这些支付方式,你需要配置你的应用程序以能够处理回调。
查看elepay文档以了解哪些方法需要额外的配置。
Android
在加载ElepayFlutter
的Activity中(通常是MainActivity
),在AndroidManifest.xml
文件中添加以下代码:
<intent-filter>
<data android:scheme="Your-elepay-app-scheme" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
iOS
需要配置URL schemes。请参阅elepay iOS SDK文档以获取详细信息。
其他
在flutter 2.5.0与Android平台结合使用时,当使用checkout
且支付处理需要跳转到其他应用程序或Activity时,返回到您的应用程序后,您的应用程序可能会显示一个黑色背景屏幕。您可以尝试向您的应用程序的MainActivity添加以下代码来解决此问题。
override fun getBackgroundMode(): FlutterActivityLaunchConfigs.BackgroundMode {
return BackgroundMode.transparent
}
您可以通过查看此链接了解更多信息。
更多关于Flutter支付集成插件elepay_flutter的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter支付集成插件elepay_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
elepay_flutter
是一个用于在 Flutter 应用中集成 Elepay 支付的插件。Elepay 是一个支持多种支付方式的支付平台,包括信用卡、支付宝、微信支付等。通过 elepay_flutter
插件,开发者可以轻松地在 Flutter 应用中集成 Elepay 支付功能。
以下是使用 elepay_flutter
插件的基本步骤:
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 elepay_flutter
插件的依赖:
dependencies:
flutter:
sdk: flutter
elepay_flutter: ^1.0.0 # 请使用最新版本
然后,运行 flutter pub get
来安装依赖。
2. 初始化 Elepay 支付
在应用的启动阶段,初始化 Elepay 支付插件。通常可以在 main.dart
文件中进行初始化:
import 'package:elepay_flutter/elepay_flutter.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 Elepay 支付
await Elepay.initialize(
publicKey: 'YOUR_PUBLIC_KEY', // 替换为你的 Elepay 公钥
isSandbox: true, // 是否使用沙盒环境
);
runApp(MyApp());
}
3. 创建支付请求
在需要发起支付的地方,创建一个支付请求对象 PaymentRequest
,并调用 Elepay.startPayment
方法发起支付:
import 'package:elepay_flutter/elepay_flutter.dart';
void makePayment() async {
final paymentRequest = PaymentRequest(
amount: 1000, // 支付金额,单位为分
currency: 'JPY', // 货币代码,例如 JPY 表示日元
orderNo: 'ORDER_123456', // 订单号
description: 'Test Payment', // 支付描述
extra: {'key': 'value'}, // 额外的支付信息
);
try {
final result = await Elepay.startPayment(paymentRequest);
if (result.isSuccess) {
print('Payment successful!');
} else {
print('Payment failed: ${result.errorMessage}');
}
} catch (e) {
print('Payment error: $e');
}
}