Flutter支付功能插件nhn_payment的使用
Flutter支付功能插件nhn_payment的使用
Flutter NHN KCP支付插件。
开发信息
详情请参阅NHN开发者中心。
安装
在pubspec.yaml
文件中添加依赖:
dependencies:
nhn_payment: ^<latest_version>
设置指南
Android
- 在
app/build.gradle
中设置minSDK
版本:
minSdkVersion 19
- 在
AndroidManifest.xml
中添加intent queries
:
<manifest>
<queries>
<package android:name="com.shcard.smartpay" />
<package android:name="com.shinhancard.smartshinhan" />
<package android:name="com.hyundaicard.appcard" />
<package android:name="com.lumensoft.touchenappfree" />
<package android:name="kr.co.samsungcard.mpocket" />
<package android:name="nh.smart.nhallonepay" />
<package android:name="com.kbcard.cxh.appcard" />
<package android:name="com.kbstar.liivbank" />
<package android:name="com.kbstar.reboot" />
<package android:name="kvp.jjy.MispAndroid320" />
<package android:name="com.lcacApp" />
<package android:name="com.hanaskcard.paycla" />
<package android:name="kr.co.hanamembers.hmscustomer" />
<package android:name="kr.co.citibank.citimobile" />
<package android:name="com.wooricard.wpay" />
<package android:name="com.wooricard.smartapp" />
<package android:name="com.wooribank.smart.npib" />
<package android:name="viva.republica.toss" />
<package android:name="com.nhnent.payapp" />
<package android:name="com.ssg.serviceapp.android.egiftcertificate" />
<package android:name="com.kakao.talk" />
<package android:name="com.nhn.android.search" />
<package android:name="com.lotte.lpay" />
<package android:name="com.lottemembers.android" />
<package android:name="com.samsung.android.spay" />
<package android:name="com.samsung.android.spaylite" />
<package android:name="com.lge.lgpay" />
<package android:name="com.TouchEn.mVaccine.webs" />
<package android:name="kr.co.shiftworks.vguardweb" />
<package android:name="com.ahnlab.v3mobileplus" />
<package android:name="com.kftc.bankpay.android" />
</queries>
</manifest>
iOS
- 在
Info.plist
中添加LSApplicationQueriesSchemes
:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>wooripay</string>
<string>NewSmartPib</string>
<string>citimobileapp</string>
<string>paycoapplogin</string>
<string>payco</string>
<string>lpayapp</string>
<string>nhallonepayansimclick</string>
<string>shinhan-sr-ansimclick</string>
<string>smshinhanansimclick</string>
<string>hdcardappcardansimclick</string>
<string>smhyundaiansimclick</string>
<string>mpocket.online.ansimclick</string>
<string>scardcertiapp</string>
<string>hanawalletmembers</string>
<string>cloudpay</string>
<string>oneqpay</string>
<string>nhappcardansimclick</string>
<string>nonghyupcardansimclick</string>
<string>lotteappcard</string>
<string>lottesmartpay</string>
<string>kb-acp</string>
<string>ispmobile</string>
<string>liivbank</string>
<string>newliiv</string>
<string>citicardappkr</string>
<string>citispay</string>
<string>lmslpay</string>
<string>shinsegaeeasypayment</string>
<string>kakaotalk</string>
<string>supertoss</string>
<string>samsungpay</string>
<string>callonlinepay</string>
<string>com.wooricard.wcard</string>
<string>payco://</string>
<string>payco://payment/online/linkaccount?from=payco</string>
<string>payco://payment/online/linkaccount?from=apple&url=</string>
<string>payco://payment/online/linkaccount?from=apple</string>
<string>naversearchapp</string>
<string>naversearchthirdlogin</string>
<string>kakaobeabbcd57061040ee0a7864a7f759dd0</string>
<string>kakaokompassauth</string>
<string>storykompassauth</string>
<string>kakaolink</string>
<string>kakaotalk-5.9.7</string>
</array>
使用
以下是一个完整的示例代码,展示了如何使用NhnPayment
插件:
import 'package:flutter/material.dart';
import 'package:nhn_payment/nhn_payment.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
[@override](/user/override)
void initState() {
super.initState();
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: NhnPayment(
url: "https://testsmpay.kcp.co.kr/pay/mobileGW.kcp", // 测试URL
siteCode: "T0000",
paymentNumber: "P12203", // 需要在服务器上注册的信息
payAmount: 10000, // 需要在服务器上注册的信息
productName: "ProductName",
paymentMethod: "CARD",
returnUrl: "returnUrl", // 服务器返回URL
approvalKey: "approvalKey", // approvalKey
payUrl: "https://testsmpay.kcp.co.kr/pay/mobileGW.kcp", // 测试URL
shopUserId: "1",
traceNo: "T00001L7892",
),
),
);
}
}
更多关于Flutter支付功能插件nhn_payment的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter支付功能插件nhn_payment的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
nhn_payment
是一个用于在 Flutter 应用中集成 NHN Cloud 支付服务的插件。通过这个插件,你可以轻松地在应用中实现支付功能。以下是使用 nhn_payment
插件的基本步骤和示例代码。
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 nhn_payment
插件的依赖。
dependencies:
flutter:
sdk: flutter
nhn_payment: ^1.0.0 # 请使用最新版本
然后,运行 flutter pub get
来安装依赖。
2. 初始化插件
在使用 nhn_payment
插件之前,你需要对其进行初始化。通常,你可以在 main.dart
文件中进行初始化。
import 'package:flutter/material.dart';
import 'package:nhn_payment/nhn_payment.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 NHN Payment
await NHNPayment.initialize(
appKey: 'YOUR_APP_KEY', // 你的 NHN Cloud App Key
companyId: 'YOUR_COMPANY_ID', // 你的公司 ID
storeId: 'YOUR_STORE_ID', // 你的商店 ID
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'NHN Payment Example',
home: PaymentScreen(),
);
}
}
3. 实现支付功能
接下来,你可以在应用的某个页面(例如 PaymentScreen
)中实现支付功能。以下是一个简单的示例:
import 'package:flutter/material.dart';
import 'package:nhn_payment/nhn_payment.dart';
class PaymentScreen extends StatelessWidget {
Future<void> _startPayment() async {
try {
// 创建支付请求
final paymentRequest = PaymentRequest(
amount: 1000, // 支付金额
orderId: 'ORDER_123456', // 订单 ID
productName: 'Sample Product', // 商品名称
currency: 'KRW', // 货币类型
);
// 启动支付
final paymentResult = await NHNPayment.startPayment(paymentRequest);
// 处理支付结果
if (paymentResult.isSuccess) {
print('Payment successful: ${paymentResult.transactionId}');
} else {
print('Payment failed: ${paymentResult.errorMessage}');
}
} catch (e) {
print('Error during payment: $e');
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('NHN Payment Example'),
),
body: Center(
child: ElevatedButton(
onPressed: _startPayment,
child: Text('Start Payment'),
),
),
);
}
}