Last updated:
0 purchases
flutter upayments
flutter_upayments #
The UPayments flutter SDK allows you to integrate easily and faster with native Android and iOS apps.
Manage your transactions and clients effectively and in real-time through our easy-to-use real-time dashboard.
We provide a powerful, secure payment and pre-built UI that can be used out-of-the-box to collect your users’ payment details.
This pre-built UI lets you accept KNET, Apple Pay, Samsung Pay, Visa and MasterCard.
Prerequisites #
To have the plugin integration working in a live environment, please refer to the section prerequisites and read it for more details
Integration #
Installation #
Add flutter_upayments plugin to your pubspec.yaml file.
dependencies:
flutter_upayments: <latest_version>
copied to clipboard
Install the plugin by running the following command.
$ flutter pub get
copied to clipboard
Usage #
Inside your Dart code, do the following:
To use the flutter_upayments plugin, import it into your Flutter app.
import ‘package:flutter_upayments/flutter_upayments.dart’;
copied to clipboard
Request Payment.
Requestpayment: This step will request payment and return the callback data on payment success.
RequestPayment(
context,
PaymentDetails, //All payment details
OnSuccess, // method OnSuccess which returns data on callback
OnFailure // method OnFailure which returns data on error
);
copied to clipboard
Parameters #
PaymentDetails (Required): All payment details model should be passed in this parameter.
paymentDetails userData = paymentDetails(
merchantId: “”,
// SetMerchantID
username: “”,
// Set User Name Provided, For Test Pass test
password: “”,
// Set Password, For Test pass test
apiKey: “”,
// API Key for Test jtest123
orderId: “”,
// MIN 30 characters with a strong unique function (like hashing function with time)
totalPrice: “”,
// Total Price Payable amount (max 3 decimal points)
currencyCode: “”,
/* Supported currency code
KWD, SAR, USD, BHD, EUR, OMR, QAR, AED Contact us at [email protected] For sandbox: NA */
successUrl: “”,
// URL to redirect the user to a successful transaction. For Test: https://example.com/success.html
errorUrl: “”,
// URL where the user will redirect after an error in payment. For Test: https://example.com/error.html
testMode: “”,
// 0 for production mode,1 Sandbox Mode
customerFName: “”,
// Customer Name
customerEmail: “”,
// Customer Email
customerMobile: “”,
// Customer Mobile number
paymentGateway: “”,
/* knet for KNet transaction, c for Credit Card Transaction For Sandbox: NA */
whitelabled: “”,
/* 1 = true (must be enabled by admin) 0 = false
For SandBox : NA */
productTitle: “”,
// Product Name/Description
productName: “”,
/* Encoded array of product names Ex: Posting Products Name :
For SandBox: NA
List<String> listProductName = new ArrayList<String>();
listProductName.add(“product1”);
listProductName.add(“product2”); */
productPrice: “”,
/* Encoded array of product prices
Ex: List<String> listProductPrice = new ArrayList<String>();
listProductPrice.add(“12”);
listProductPrice.add(“14”);
For SandBox : NA */
productQty: “”,
/* Encoded array of product quantities
Ex: List<String> listProductQuantity = new ArrayList<String>();
listProductQuantity.add(“2”);
listProductQuantity.add(“4”); */
reference: “”,
/* Merchant Order ID or Reference number for Sandbox: NA */
notifyURL: “”,
// Notification URL that you can provide with every call to receive confirmations
);
RequestPayment( context, userData, OnSuccess, OnFailure );
copied to clipboard
OnSuccess (Required): You have to create a method that will contain 3 parameters that will give you the status of callback, data received on callback, and message.
OnSuccess(isSuccess, data, message) {
print(isSuccess); // it will print true if success else false
print(data);// it will print all transaction details.
print(message);// it will print a message.
}
copied to clipboard
OnFailure (Required): You have to create a method that will contain 3 parameters that will give you the status of error, data received on callback and message.
OnFailure(isSuccess, data, message) {
print(isSuccess); // it will print true if success else false
print(data);// it will print all transaction details.
print(message);// it will print a message.
}
copied to clipboard
Example #
import ‘package:flutter/material.dart’;
import ‘package:flutter_upayments/flutter_upayments.dart’;
paymentDetails userData = paymentDetails(
merchantId: “1201”,
username: “test”,
password: “test”,
apiKey: “jtest123”,
orderId: “12345”,
totalPrice: “3.000”,
currencyCode: “NA”,
successUrl: “https://example.com/success.html”,
errorUrl: “https://example.com/error.html”,
testMode: “1”,
customerFName: “test23”,
customerEmail: “[email protected]”,
customerMobile: “12345678”,
paymentGateway: “knet”,
whitelabled: “true”,
productTitle: “productTitle”,
productName: “Product1”,
productPrice: “12”,
productQty: “2”,
reference: “Ref00001”,
notifyURL: “https://example.com/success.html”,
);
OnSuccess(isSuccess, data, message) {
print(isSuccess); // it will print true if success else false.
print(data); // it will print all transaction details.
print(message); // it will print the message.
}
OnFailure(isSuccess, data, message) {
print(isSuccess); // it will print true if success else false.
print(data); // it will print all transaction details.
print(message); // it will print the message.
}
class mainapp extends StatelessWidget {
const mainapp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
child: Center(
child: RaisedButton(
onPressed: () =>
RequestPayment(context, userData, OnSuccess, OnFailure),
child: Text(‘Pay’),
),
),
);
}
}
void main() => runApp(
MaterialApp(
home: Material(child: mainapp()),
),
);
copied to clipboard
Contributing #
Pull requests are welcome. For major changes, please open the issue first to discuss what you would like to change.
Please make sure to update the tests as appropriate.
License #
MIT
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.