momo_vn
Getting Started
1. Android set up:
Step 1: Request Internet permission at AndroidManifest.xml
file:
<uses-permission android : name =" android.permission.INTERNET" />
2. iOS set up:
Step 1: Update Info.plist
file as below:
<key >CFBundleURLTypes</key >
<array >
<dict >
<key >CFBundleURLName</key >
<string ></string >
<key >CFBundleURLSchemes</key >
<array >
<string >partnerSchemeId</string >
</array >
</dict >
</array >
<key >LSApplicationQueriesSchemes</key >
<array >
<string >momo</string >
</array >
<key >NSAppTransportSecurity</key >
<dict >
<key >NSAllowsArbitraryLoads</key >
<true />
</dict >
Step 2: Define call back url for momo at AppDelegate.swift
file:
override func application (_ application : UIApplication, open url : URL, sourceApplication : String ? , annotation : Any ) -> Bool {
MoMoPayment.handleOpenUrl (url : url, sourceApp : sourceApplication! )
return true
}
override func application (_ app : UIApplication, open url : URL, options : [UIApplicationOpenURLOptionsKey : Any ]) -> Bool {
MoMoPayment.handleOpenUrl (url : url, sourceApp : " " )
return true
}
Usage
import 'package:momo_vn/momo_vn.dart' ;
void initState () {
super .initState ();
_momoPay = MomoVn ();
_momoPay.on (MomoVn .EVENT_PAYMENT_SUCCESS , _handlePaymentSuccess);
_momoPay.on (MomoVn .EVENT_PAYMENT_ERROR , _handlePaymentError);
initPlatformState ();
}
MomoPaymentInfo options = MomoPaymentInfo (
merchantname: "Tên đối tác" ,
merchantcode: 'Mã đối tác' ,
appScheme: "1221212" ,
amount: 6000000000 ,
orderId: '12321312' ,
orderLabel: 'Label để hiển thị Mã giao dịch' ,
merchantnamelabel: "Tiêu đề tên cửa hàng" ,
fee: 0 ,
description: 'Mô tả chi tiết' ,
username: 'Định danh user (id/email/...)' ,
partner: 'merchant' ,
extra: "{\" key1\" :\" value1\" ,\" key2\" :\" value2\" }" ,
isTestMode: true
);
try {
_momoPay.open (options);
} catch (e) {
debugPrint (e);
}
void _setState () {
_payment_status = 'Đã chuyển thanh toán' ;
if (_momoPaymentResult.isSuccess) {
_payment_status += "\n Tình trạng: Thành công." ;
_payment_status += "\n Số điện thoại: " + _momoPaymentResult.phonenumber;
_payment_status += "\n Extra: " + _momoPaymentResult.extra;
_payment_status += "\n Token: " + _momoPaymentResult.token;
}
else {
_payment_status += "\n Tình trạng: Thất bại." ;
_payment_status += "\n Extra: " + _momoPaymentResult.extra;
_payment_status += "\n Mã lỗi: " + _momoPaymentResult.status.toString ();
}
}
void _handlePaymentSuccess (PaymentResponse response) {
setState (() {
_momoPaymentResult = response;
_setState ();
});
Fluttertoast .showToast (msg: "THÀNH CÔNG: " + response.phonenumber, timeInSecForIos: 4 );
}
void _handlePaymentError (PaymentResponse response) {
setState (() {
_momoPaymentResult = response;
_setState ();
});
Fluttertoast .showToast (msg: "THẤT BẠI: " + response.message.toString (), timeInSecForIos: 4 );
}