oneapp_sdk β Flutter Integration Guide
The OneApp Cobranding SDK provides secure mobile authentication, payments, device binding, user profile access, wallet balance inquiry, TPIN management, and more.
This SDK is designed for FinTech, Payments, and Wallet applications.
Important Note
Our company will provide the Organization ID and Secret Key to integrate this SDK.
Without these values, the SDK will not function.
- Always call modesetup() first before any SDK action.
- Do not call SDK methods without a valid BuildContext.
- Organization credentials are required from the company.
- SDK handles permission dialogs automatically.
Installation
Add this to your pubspec.yaml:
dependencies:
oneapp_sdk:
path: ./oneapp_sdk # OR use git/path based on your setup
Import package:
import 'package:oneapp_sdk/oneapp_sdk.dart';
Android Setup
Add required permissions in your AndroidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
The SDK automatically requests these permissions when needed.
Initialize OneApp SDK
Call modesetup() before using any other SDK method.
bool status = await OneAppSdk.modesetup(
context,
"TEST", // or "LIVE"
"ORG_ID", // Provided by company
"SECRET_KEY", // Provided by company
"9999999999", // User Mobile Number
"TOKEN_HERE", // Token from your backend
false, // isRegistration
Colors.green, // optional theme color
);
if (status) {
}
π± Available SDK Methods
1. Change TPIN
var result = await OneAppSdk.ChnageTpin(
context: context,
mobileNumber: "9999999999",
organizationId: "ORG_ID",
);
2. Mini Statement
var result = await OneAppSdk.statement(
context: context,
mobileNumber: "9999999999",
organizationId: "ORG_ID",
);
3. Registration
var result = await OneAppSdk.registration(
context,
"9999999999",
"ORG_ID",
);
4. Add Money (TaPay)
var response = await OneAppSdk.initiateTaPayAddMoney(
context: context,
orderId: "ORD123",
amount: "500",
mobilenum: "9999999999",
mode: "TEST",
orgID: "ORG_ID",
);
5. Balance Enquiry
var result = await OneAppSdk.BalanceEnquiry(
context: context,
MobileNumber: "9999999999",
orgID: "ORG_ID",
);
6. Validate Mobile Number
var result = await OneAppSdk.ValidateUser(
context: context,
MobileNumber: "9999999999",
orgID: "ORG_ID",
);
7. Update Profile
var result = await OneAppSdk.updateProfile(
context,
"9999999999",
"User Name",
"email@example.com",
"1995-01-01",
);
8. Fund Limit Checking
String? result = await OneAppSdk.fundCheckingAPI(
context,
"9999999999",
"1000",
);
9. View Profile
var result = await OneAppSdk.viewProfile(
context,
"9999999999",
);
10. Payment Initiation
var result = await OneAppSdk.initiatePaymet(
context: context,
orderId: "ORD123",
amount: "1000",
mobilenum: "9999999999",
orgID: "ORG_ID",
SchemeID: "SCH001",
Narration: "Bill Payment",
BTNumber: "BT123",
MerchantID: "M123",
);
11. Device Binding
var result = await OneAppSdk.devicebinding(
context: context,
PhoneNumber: "9999999999",
orgID: "ORG_ID",
);
Runtime Permissions
SDK automatically handles required permissions:
- Location
- Camera
- SMS
- Phone
If the user permanently denies a permission, the SDK automatically shows an Open Settings dialog.
π Environment Modes
| Mode | Description |
|---|---|
TEST |
QA environment |
LIVE |
Production environment |
Use the correct ORG_ID and SECRET_KEY provided by the company.
π¨ Theme Customization
You can customize the SDK theme color:
OneAppSdk.modesetup(context, "TEST", ORG_ID, KEY, number, token, false, Colors.blue);
Libraries
- changeTpin/ChangeTPINController
- changeTpin/ChangeTPinScreen
- changeTpin/CreateTPINController
- changeTpin/CreateTPINScreen
- changeTpin/GenerateOTPModel
- changeTpin/TpinOtpSreen
- changeTpin/TpinSettings
- changeTpin/TPINVerifyOtpController
- clouserRequest/banklist
- clouserRequest/clouserrequest
- clouserRequest/model/BankAccountDetailModel
- clouserRequest/model/ClouserResult
- clouserRequest/model/IFSCDetailModel
- clouserRequest/model/OTPResModel
- clouserRequest/model/UserDataModel
- common/apiservices
- common/authrepository
- common/ColorTheme
- common/constants
- common/kglobal
- common/loadingscreen
- common/ProgressDialog
- common/sdk_theme
- common/sdkapiservice
- common/url
- model/loginmodel
- model/ncmcgetcardstatusmodel
- model/TaPayBankListModel
- model/TaPayInsertionModel
- model/UserDataModel
- model/userdatamodel
- oneapp_sdk
- payment/balanceenquirymodel
- payment/BalanceEnquiryResult
- payment/paymentscreen
- payment/tpin_controller
- payment/verifytpinmodel
- profile/profileviewmodel
- profile/ProfileViewResult
- profile/UpdateProfileModel
- profile/userdatamodel
- registartion/devicebinding
- registartion/Devicebindinggeneratemodel
- registartion/model/AadhaarResponse
- registartion/model/CreateTPINModel
- registartion/model/GenerateOTPModel
- registartion/model/RegistrationCompletion
- registartion/model/RegistrationResult
- registartion/model/RegOTPModel
- registartion/model/RegValidateOTP
- registartion/model/resendOTPModel
- registartion/model/validatemobilenumbermodel
- registartion/personaldetails
- registartion/RegistrationVerifyTpin
- registartion/RegistrationWithMobileNumber
- registartion/review
- registartion/TapaySDKContainer
- registartion/ValidateMobResult
- registartion/verifyotpcontroller
- tapay/cardlistmodel
- tapay/checkfundLimitModel
- tapay/getcardinfomodel
- tapay/savecardmodel
- tapay/tapaybanklist
- tapay/tapayscreen
- tapay/tapaywebview
- tapay_sdk_method_channel
- tapay_sdk_platform_interface
- TransactionHistroy/MiniStatement
- TransactionHistroy/MiniStatementModel
- TransactionHistroy/MiniStatementViewController
- TransactionHistroy/StatementCell