nttdatapay_flutter 1.0.8 copy "nttdatapay_flutter: ^1.0.8" to clipboard
nttdatapay_flutter: ^1.0.8 copied to clipboard

Flutter SDK for NTT DATA Payment Services India with WebView support

NTTDATAPAY Flutter #

Flutter plugin for integrating NTT DATA Payment Services India in Android and iOS applications.

Quick Navigation #


Platform Support #

✅ Android
✅ iOS

⚠️ Mobile platforms only
This SDK relies on mobile-specific features such as in-app WebView checkout and UPI intent handling.
Other platforms are not supported.


Features #

  • Secure token generation
  • WebView-based checkout
  • UPI intent support (GPay, PhonePe, Paytm, Cred, etc.)
  • Android & iOS support
  • UAT & Production environments

Installation #

Add the dependency to your pubspec.yaml:

dependencies:
  nttdatapay_flutter: ^1.0.8

Or run:

flutter pub add nttdatapay_flutter

Then fetch dependencies:

flutter pub get

iOS Setup #

iOS Configuration (Required for UPI Apps) #

iOS blocks app-to-app URL scheme checks by default.
Add the following entries to ios/Runner/Info.plist:

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>upi</string>
  <string>phonepe</string>
  <string>paytmmp</string>
  <string>gpay</string>
  <string>tez</string>
  <string>credpay</string>
</array>

Usage #

Import the Package #

import 'package:nttdatapay_flutter/nttdatapay_flutter.dart';

Initialize Merchant Configuration #

⚠️ Do not hardcode production credentials.
Contact the NTT DATA Payment Services integration team:
https://in.nttdatapay.com/sign-up

final nttdatapayConfig = const NttdatapayConfig(
  merchId: "XXXXXXX",
  txnPassword: "XXXX@XXX",
  reqEncKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  reqSalt: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  resDecKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  resSalt: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  reqHashKey: "XXXXXXXXXXXXXX",
  resHashKey: "XXXXXXXXXXXXXXXXXXX",
  environment: NttdatapayEnvironment.uat,
);

To switch to production:

environment: NttdatapayEnvironment.production,

Generate Token Using NTTDATAPAY AUTH Service #

final ndpsTokenId = await NdpsAuthService.generateToken(
  config: nttdatapayConfig,
  txnId: txnId, // unique transaction Id
  amount: "1.00",
  email: "test.user@xyz.in",
  mobile: "8888888800",
  prodId: "XXX",
  txnCurrency: "INR",
);

Add Optional UDF Parameters #

udf1: "value1",
udf2: "value2",
udf3: "value3",
udf4: "value4",
udf5: "value5",

Add Multi-Product (Split Payment) Support #

prodId: "multi", // fix value
prodDetails: const [
  ProdDetail(prodName: "Item1", prodAmount: "1.00"),
  ProdDetail(prodName: "Item2", prodAmount: "1.00"),
],

Open Checkout WebView and Wait for the Final Payment Result #

final result = await Navigator.push(
  context,
  MaterialPageRoute(
    builder: (_) => NdpsPaymentWebView(
        ndpsTokenId: ndpsTokenId,
        merchId: nttdatapayConfig.merchId,
        returnUrl: nttdatapayConfig.returnUrl,
        config: nttdatapayConfig,
        email: "test.user@xyz.in",
        mobile: "8888888800",
        showAppBar: true,
        appBarTitle: "Complete Payment",
    ),
  ),
);

Full Example #

👉 https://pub.flutter-io.cn/packages/nttdatapay_flutter/example

0
likes
150
points
307
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter SDK for NTT DATA Payment Services India with WebView support

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

cryptography, flutter, flutter_inappwebview, http, url_launcher

More

Packages that depend on nttdatapay_flutter