upi_pay_x 0.0.8 upi_pay_x: ^0.0.8 copied to clipboard
Plugin to pay using upi (With upi you can send money with phonepay, gpay, applepay etc).
upi_pay_x #
Plugin to pay using upi
Getting Started #
Add into your pubspec.yaml
==========================
upi_pay_x:
Replace Info.plist code with below code into ios runner folder #
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>upi_pay_example</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>Bandhan</string>
<string>BHIM</string>
<string>CanaraMobility</string>
<string>CentUPI</string>
<string>com.amazon.mobile.shopping</string>
<string>com.ausmallfinancebank.aupay.bhimupi</string>
<string>com.jkbank.bhimjkbankupi</string>
<string>com.rbl.rblimplicitjourney</string>
<string>com.syndicate.syndupi</string>
<string>com.vijayabank.UPI</string>
<string>cred</string>
<string>dbin</string>
<string>freecharge</string>
<string>gpay</string>
<string>hdfcnewbb</string>
<string>imobileapp</string>
<string>in.cointab.app</string>
<string>in.fampay.app</string>
<string>kvb.app.upiapp</string>
<string>lotza</string>
<string>mobikwik</string>
<string>money.bullet</string>
<string>myairtel</string>
<string>myJio</string>
<string>paytm</string>
<string>payzapp</string>
<string>phonepe</string>
<string>truecaller</string>
<string>ucoupi</string>
<string>upi</string>
<string>upibillpay</string>
<string>whatsapp</string>
<string>www.citruspay.com</string>
</array>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict>
</plist>
Parameters #
final a = await UpiPay.initiateTransaction(
amount: _amountController.text,
app: app.upiApplication,
receiverName: 'Amir Rahi',
receiverUpiAddress: _upiAddressController.text,
transactionRef: transactionRef,
transactionNote: 'UPI Payment',
// merchantCode: '7372',
);
To show android apps #
Widget _androidApps() {
return Container(
margin: EdgeInsets.only(top: 32, bottom: 32),
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Container(
margin: EdgeInsets.only(bottom: 12),
child: Text(
'Pay Using',
style: Theme.of(context).textTheme.bodyText1,
),
),
if (_apps != null) _appsGrid(_apps!.map((e) => e).toList()),
],
),
);
}
To show IOS apps #
Widget _iosApps() {
return Container(
margin: EdgeInsets.only(top: 32, bottom: 32),
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Container(
margin: EdgeInsets.only(bottom: 24),
child: Text(
'One of these will be invoked automatically by your phone to '
'make a payment',
style: Theme.of(context).textTheme.bodyText2,
),
),
Container(
margin: EdgeInsets.only(bottom: 12),
child: Text(
'Detected Installed Apps',
style: Theme.of(context).textTheme.bodyText1,
),
),
if (_apps != null) _discoverableAppsGrid(),
Container(
margin: EdgeInsets.only(top: 12, bottom: 12),
child: Text(
'Other Supported Apps (Cannot detect)',
style: Theme.of(context).textTheme.bodyText1,
),
),
if (_apps != null) _nonDiscoverableAppsGrid(),
],
),
);
}