Flutter支付功能插件gpayments的使用
Flutter支付功能插件gpayments的使用
简介
gpayments
是一个用于在 Flutter 应用中集成 4Geeks 支付网关的项目。
开始使用
这是一个还在开发中的项目。如果你发现任何错误或不兼容问题,请不要犹豫,报告并创建一个问题,我会尽快处理。
安装
由于 gpayments
目前还处于早期开发阶段,因此它还没有发布到 Pub.Dev 仓库。为了安装此插件,你需要手动下载并将其安装在项目的 packages
文件夹中。
使用方法
导入包
首先,在你的 Dart 文件中导入 gpayments
包:
#import 'package:gpayments/gpayments.dart';
初始化
然后,初始化主方法以生成认证令牌:
final gpaymentsToken = await GPayments.config(
clientId: "client-id",
clientSecret: "client-secret"
);
创建支付
现在你可以使用 gpaymentsToken
来创建支付:
GPayments.createChargeWithCreditCard(
token: gpaymentsToken,
amount: 12000,
description: 'test product sale charge',
entityDescription: 'test product',
currency: 'crc',
cardNumber: 4242424242424242,
securityCode: 123,
expMonth: 12,
expYear: 2023
);
API 使用
要使用 GPayments
,你必须有一个 4Geeks 支付账户。记住,该服务目前仅在哥斯达黎加可用;然而,你可以处理来自世界各地的 Visa 或 MasterCard 信用卡支付。对于美国运通信用卡,你只能处理美元支付。
初始化 GPayments
开始之前,初始化 GPayments
并生成一个令牌。每次执行请求时,你都需要使用这个令牌来访问 4Geeks 支付 API:
final gpaymentsToken = await GPayments.config(
clientId: "client-id",
clientSecret: "client-secret"
);
注意:别忘了在 4Geeks 支付 注册为商家,并可以使用沙箱凭证进行测试。此外,记得在 Dart 文件中导入包。
获取账户信息
要获取你的账户信息,可以使用以下代码片段:
GPayments.fetchAccountData(
token: gpaymentsToken
);
更新账户信息
如果要编辑账户信息,可以使用以下方法:
GPayments.updateAccountData(
token: gpaymentsToken,
data: {
"bank_name": "Bac"
}
);
创建新客户
如果你想创建一个新的客户以便存储他们的令牌,以便将来进行交易,可以调用以下方法:
GPayments.createCustomer(
token: gpaymentsToken,
name: 'Michael Jordan',
email: 'mjordan@nba.com',
currency: 'crc',
cardNumber: 4242424242424242,
securityCode: 123,
expMonth: 12,
expYear: 2023
);
更新现有客户的账户信息
如果要更新现有客户的账户信息,步骤相同,但这次需要提供客户的 ID:
GPayments.updateCustomer(
token: gpaymentsToken,
customerId: "gjDKFJDJR456kgkgkfsFDKSLAFJGJKL75L",
data: {
"name": "Michael Jackson"
}
);
获取客户信息
你可以获取所有客户的 ID:
GPayments.fetchAllCustomers(
token: gpaymentsToken
);
或者提供特定的客户 ID 来获取该客户的详细信息:
GPayments.fetchCustomerId(
token: gpaymentsToken,
customerId: "gjDKFJDJR456kgkgkfsFDKSLAFJGJKL75L",
);
删除现有客户
如果要删除现有客户的记录,可以使用此方法:
GPayments.removeCustomer(
token: gpaymentsToken,
customerId: "gjDKFJDJR456kgkgkfsFDKSLAFJGJKL75L",
);
创建订阅计划
如果要为客户创建订阅计划,可以使用以下方法:
GPayments.createPlan(
token: gpaymentsToken,
planId: 'plan-1',
name: 'Test Plan',
amount: 300000,
currency: 'crc',
trialPeriod: 0,
interval: 'month',
intervalCount: 1,
entityDescription: 'Test Credit Card'
)
获取计划信息
你可以获取所有计划的 ID:
GPayments.fetchAllPlans(
token: gpaymentsToken
);
或者提供特定的计划 ID 来获取该计划的详细信息:
GPayments.fetchPlanId(
token: gpaymentsToken,
planId: "gjfkAS34WEDjrks454DFG44fdk",
);
删除现有计划
如果要删除现有计划,可以使用此方法:
GPayments.removePlan(
token: gpaymentsToken,
planId: "gjfkAS34WEDjrks454DFG44fdk",
);
订阅计划
要让客户订阅你的一个计划,可以使用以下方法:
GPayments.subscribePlan(
token: gpaymentsToken,
planId: "gjfkAS34WEDjrks454DFG44fdk",
customerId: "gjDKFJDJR456kgkgkfsFDKSLAFJGJKL75L",
);
获取现有订阅
你可以获取所有订阅的 ID:
GPayments.fetchAllSubscriptions(
token: gpaymentsToken
);
或者提供特定的订阅 ID 来获取该订阅的详细信息:
GPayments.fetchPlanId(
token: gpaymentsToken,
subscriptionId: "gjfkAS34WEDjrks454DFG44fdk",
);
取消订阅计划
要取消客户的订阅,可以使用以下方法:
GPayments.unsubscribePlan(
token: gpaymentsToken,
subscriptionId: "gjfkAS34WEDjrks454DFG44fdk",
);
创建支付
如果你想向客户收取特定金额的费用,你可以选择收取他们的信用卡费用或使用预存在的客户信用卡令牌。两种方式的详细信息如下:
收取信用卡费用
GPayments.createChargeWithCreditCard(
token: gpaymentsToken,
amount: 35.99,
description: 'Test Product #1',
entityDescription: 'Product #1',
currency: 'usd',
cardNumber: 4242424242424242,
securityCode: 123,
expMonth: 12,
expYear: 2023
);
使用客户的注册 ID 收费
GPayments.createChargeWithCreditCard(
token: gpaymentsToken,
customerId: "gjDKFJDJR456kgkgkfsFDKSLAFJGJKL75L",
amount: 35.99,
description: 'Test Product #1',
entityDescription: 'Product #1',
currency: 'usd',
);
获取已执行的支付日志
最后,你可以获取所有已执行支付的 ID:
GPayments.fetchAllCharges(
token: gpaymentsToken
);
或者提供特定的支付 ID 来获取该支付的详细信息:
GPayments.fetchChargeWithId(
token: gpaymentsToken,
chargeId: "3lkk98JKGJDF56Lkkasdef67",
);
更多关于Flutter支付功能插件gpayments的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter支付功能插件gpayments的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
gpayments
是一个用于在 Flutter 应用中集成支付功能的插件。它支持多种支付方式,如信用卡、支付宝、微信支付等。以下是如何在 Flutter 项目中使用 gpayments
插件的步骤:
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 gpayments
插件的依赖:
dependencies:
flutter:
sdk: flutter
gpayments: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
以获取依赖。
2. 配置支付平台
根据你使用的支付方式,可能需要配置不同的平台。
Android
在 AndroidManifest.xml
中添加必要的权限和配置:
<uses-permission android:name="android.permission.INTERNET" />
iOS
在 Info.plist
中添加必要的配置:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
3. 初始化支付插件
在 Flutter 应用中初始化 gpayments
插件:
import 'package:gpayments/gpayments.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: PaymentScreen(),
);
}
}
class PaymentScreen extends StatefulWidget {
[@override](/user/override)
_PaymentScreenState createState() => _PaymentScreenState();
}
class _PaymentScreenState extends State<PaymentScreen> {
final Gpayments _gpayments = Gpayments();
[@override](/user/override)
void initState() {
super.initState();
_initializePayments();
}
Future<void> _initializePayments() async {
await _gpayments.initialize(
publicKey: "YOUR_PUBLIC_KEY",
environment: Environment.Sandbox, // 或 Environment.Production
);
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Payment'),
),
body: Center(
child: ElevatedButton(
onPressed: _startPayment,
child: Text('Pay Now'),
),
),
);
}
Future<void> _startPayment() async {
try {
final PaymentResponse response = await _gpayments.startPayment(
amount: 1000, // 金额,单位为分
currency: 'USD',
description: 'Test Payment',
);
if (response.status == PaymentStatus.Success) {
// 支付成功
print('Payment successful: ${response.transactionId}');
} else {
// 支付失败
print('Payment failed: ${response.message}');
}
} catch (e) {
print('Error: $e');
}
}
}