esewa_pnp_forked

Last updated:

0 purchases

esewa_pnp_forked Image
esewa_pnp_forked Images
Add to Cart

Description:

esewa pnp forked

esewa_pnp #




esewa_pnp is flutter plugin that let's developer to integrate native eSewa payment method into their flutter application with just few lines of code.
How to install #


Depend on it
dependencies:
esewa_pnp: ^2.0.1
copied to clipboard


[Android] Add following attribute inside your AndroidMainfest.xml
<application
...
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
...>
...
</application>

copied to clipboard


[iOS] esewa_pnp (version ^1.0.0) iOS can not be tested on simulator. For that you will need to depend on plugin from plugin's GitHub repository "dev" branch.
dependencies:
# esewa_pnp: ^2.0.1 # Use it on production app or while testing esewa_pnp on real physical iOS device.
esewa_pnp:
git:
url: git://github.com/ayyshim/esewa_pnp.git
ref: dev
copied to clipboard


Usage #

Create a ESewaConfiguration object. Start with test environment. When application is ready, you can switch it to live (ENVIRONMENT_LIVE)

...

ESewaConfiguration _configuration = ESewaConfiguration(
clientID: "<Client-ID>",
secretKey: "<Secret-Key>",
environment: ESewaConfiguration.ENVIRONMENT_TEST //ENVIRONMENT_LIVE
);
...
copied to clipboard

clientID and secretKey values are provided by eSewa to its merchant/client and is unique for each. For development phase, you can use the following credentials:
clientID: "JB0BBQ4aD0UqIThFJwAKBgAXEUkEGQUBBAwdOgABHD4DChwUAB0R"
secretKey: "BhwIWQQADhIYSxILExMcAgFXFhcOBwAKBgAXEQ=="


Create ESewaPnp object and pass configuration.

...
ESewaPnp _eSewaPnp = ESewaPnp(configuration: _configuration);
copied to clipboard

Finally create the payment object

...
ESewaPayment _payment = ESewaPayment(
amount: <ANY_DOUBLE_VALUE>,
productName: "<Product-Name>",
productID: "<Unique-Product-ID>",
callBackURL: "<Call-Back-URL>"
);
...
copied to clipboard

Now call initPayment method.

...
final _res = await _eSewaPnp.initPayment(payment: _payment);
...
copied to clipboard

Determine application behavior according to the response. Wrap the .initPayment method inside try-catch block.

...
try {
final _res = await _eSewaPnp.initPayment(payment: _payment);
// Handle success
} on ESewaPaymentException catch(e) {
// Handle error
}
...
copied to clipboard
ESewaPaymentException #
ESewaPaymentException class is thrown when payment process fails.

.message [String] : returns the error message

#
ESewaResult #
ESewaResult is returned when payment process successful.

.message [String] : returns readable success message
.productId [String] : returns product id of the product customer paid for
.productName [String] : returns product name of the product customer paid for
.totalAmount [String] : returns total amount customer paid
.date [String] : returns the date of transaction
.status [String] : returns the transaction status
.referenceId [String] : returns the transaction reference id

ESewaPaymentButton #
ESewaPaymentButton is a customizable button widget. It takes ESewaPnp, 6 required named parameters and 8 optional parameters.
To use this button you must download assets and paste it inside your assets folder of your project.
Add following line inside your pubspec.yaml file too.
...
flutter:
assets:
- assets/esewa/
...
copied to clipboard
Example #1 (Default):
...
ESewaPaymentButton(
_esewaPnp,
amount: 800.0,
callBackURL: "https://example.com",
productId: "abc123",
productName: "ESewa Pnp Example",
onSuccess: (ESewaResult result) {
// Do something with Result
},
onFailure: (ESewaPaymentException e) {
// Do something with Error
},
),
...
copied to clipboard
Example #2 (White background):
Changing button color will also result to dyanmically change in label color and esewa logo varient (dark/light).
...
ESewaPaymentButton(
_esewaPnp,
amount: 800.0,
callBackURL: "https://example.com",
productId: "abc123",
productName: "ESewa Pnp Example",
onSuccess: (ESewaResult result) {
// Do something with Result
},
onFailure: (ESewaPaymentException e) {
// Do something with Error
},
color: Color(0xFFFFFFF), // White background
),
..
copied to clipboard
Example #3 (with labelBuilder):
...
ESewaPaymentButton(
_esewaPnp,
amount: 800.0,
callBackURL: "https://example.com",
productId: "abc123",
productName: "ESewa Pnp Example",
onSuccess: (ESewaResult result) {
// Do something with Result
},
onFailure: (ESewaPaymentException e) {
// Do something with Error
},
color: Color(0xFF60BB47), // Green background
labelBuilder: (int amount, Widget esewaLogo) {
return Text("Pay Rs.$amount");
}
),
..
copied to clipboard
Output:

Platform Support #



Platform
Status




Android



iOS




👨‍🦱 Author #
Ashim Upadhaya
Checkout example implementation : EsewaPnp Example
🌟 Starware #
esewa_pnp is Starware.
This means you're free to use the project, as long as you star its GitHub repository.
Contributors ✨ #
Thanks goes to these wonderful people (emoji key):





Aawaz Gyawali💻
Bibek Timsina💻
Pratibimba Khadka💻
Aarjan Baskota💻
Bikram Aryal💻





This project follows the all-contributors specification. Contributions of any kind welcome!

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.