npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

com.payumoney.sdkui.cordova

v1.2.4

Published

PayUmoney PNP Plugin

Downloads

244

Readme

PayUMoney PnP SDK Cordova Plugin Introduction The Cordova plugin for the PayUmoney SDK enables merchants to accept payments in their Android and iOS app through the native PayUmoney SDK. Once integrated, the plugin allows apps written on Cordova to access the functionality provided by the native SDK.

Features of the PayUmoney SDK
The PayUmoney Mobile SDK is a complete, out of the box solution to accept payments in your Android or iOS mobile app. The SDK provides a robust set of features to accept payments easily through an easy to use, intuitive checkout experience.

Key features of the PayUmoney SDK are:

  • Accept payments through 100+ payment options
  • Ready to use, native checkout experience for a secure and robust payment journey
  • User friendly features such as Saved Cards, Order Review, and OTP Assist

Get the plugin To add the plugin to your Cordova development project, execute the following command from the console:

$ cordova plugin add [email protected]

Integrating the SDK with your app The PayUmoney Cordova plugin adds 2 JavaScript files to your project: PayUMoneyPNPPlugin.js: A wrapper around the native SDK. You can use the functions and classes defined in this script.

PayU-Helper.js: A helper file which defines the PUMTxnParam, PUMStyle and PUMEnvironment classes for use with PayUmoneyPnP.

To integrate with the PayUmoney SDK, you will need to include the PayU-Helper.js file in your index.html located as <app_name>/www/index.html

In the index.html, add the following line after the statement importing the cordova.js file:

Ensure that the PayU-Helper.js file is located in the js folder in your project’s source directory.

After adding the Plugin files, you need to instantiate the PayUmoney.

User can use below mentioned methods in your code:

showPaymentUI: function(payment) { 
    var merchantID = '<#Your_Merchant_ID#>'; // eg merchantID = '5805351' 
    var key = '<#Your_Merchant_Key#>'; // eg key = '0P61t4V0' 
    var txnId = '<#Unique_Transaction_ID#>'; // eg txnId = 'aklsdj213asdasd231'. It should be unique everytime 
    var amount = '123'; 
    var phoneNumber = '912*******'; // Provide valid number of user to fetch saved cards 
    var email = '[email protected]'; // Provide valid email of user to fetch saved cards 
    var userFirstName = 'UserFirstName '; 
    var environment_value = shouldUseTestEnv ? PUMEnvironment.PUMEnvironmentTest : PUMEnvironment.PUMEnvironmentProduction; // select your Environment 
    var sURL = '<#Your_Success_URL#>'; 
    var fURL = '<#Your_Failure_URL#>'; 
    var product_description = '<#Your_Product_description#>'; 
    // Create a PUMTxnParam object passing it the parameters declared above. The UDF parameters are optional User Defined Fields 
    var txnParam = new PUMTxnParam(key, merchantID, txnId, amount, phoneNumber, email, userFirstName, sURL, fURL, product_description, environment_value, udf1, udf2, udf3, udf4, udf5, udf6, udf7, udf8, udf9, udf10); 
 
	txnParam.hashValue = '<#Hash_Value_For_Current_Transaction#>';  
 
	// Call the plugin’s method showPaymentView by passing it the txnParam. This will show the checkout screen and give the success callback if the txnParam is created correctly, else it will call the failure callback 
	// 1st parameter is a success callback, 
	// 2nd parameter is a failure callback,
	// 3rd parameter is the txnParam 
	cordova.plugins.PayUmoneyPnP.showPaymentView(
	function(response) { 
		console.log('showPaymentView received Success '); 
		alert(JSON.stringify(response)); 
	}, 
	function (response){ 
		console.log('showPaymentView received Failure'); 
		alert(JSON.stringify(response)); 
	}, 
	txnParam ); 
 } 

About the Callbacks - The success & failure callbacks in the showPaymentView( ) method return a json object. In case of a successful transaction, this json object will contain details of the payment like status, transactionId, amount, date, payment instrument, etc. In case of a failure, the the json object will be of the type:

{
  "status":"failure",
  "error_Message": <The error message>
}

Examples of error messages -

  • If the plugin is unable to obtain the transaction status - "Transaction Failed. Status not received"
  • If the plugin is unable to retrieve the transaction data - "Transaction Failed. No response data"
  • When user cancels a transaction - "Transaction Cancelled"

Order Details - Optional - Call this method if you want an optional ‘Order Details’ UI available to the user. A button will be shown on the Checkout screen. Clicking this button will show an Order Details screen

 setOrderDetails : function () { 
		// Create an array of Order Detail elements as shown in the example below. This will get displayed in 2 columns in the Order Details Screen 
         var orderDetails = [{"From":"Delhi"},{"To":"Pune"},{"Date":"18-02-2018"},{"Time":"08:45"},{"Total":"4123.45"}]; 
 
		// 1st parameter is a success callback, 
		// 2nd parameter is a failure callback, 
		// 3rd parameter is the orderDetails  
		cordova.plugins.PayUmoneyPnP.orderDetails( 
			function (response) { 
				console.log('Order details received Success '); 
			}, 
			function (response) { 
				console.log('Order details received Failure '.concat(response)); 
			}, 
			orderDetails); 
		} 
} 

Setting the app theme -
Since setting the theme is handled differently for iOS & Android, you need to call different plugin APIs for setting them.

// Set iOS App theme 
      setiOSAppTheme : function() { 
        var topBarColor = '0A927A'; 
        var topTitleTextColor = 'ffffff'; 
        var buttonColor = '0A927A'; 
        var buttonTextColor = 'ffffff'; 

   		// 1st parameter is a success callback, 
   		// 2nd parameter is a failure callback, 
   		// remaining parameters are colors defined above. 
        cordova.plugins.PayUmoneyPnP.setiOSAppTheme( 
           function (response) {
   	         console.log('setiOSAppTheme received Success);
   			}, 
   			function (response){
   				console.log('setiOSAppTheme received Failure '.concat(response) );
   			},
   			topBarColor,topTitleTextColor,buttonColor,buttonTextColor); 
           } 
      } 

Set Android App theme -

setAndroidAppThemeName: function() { 
        var themeName = '<#Your_Theme_Name#>' ; // e.g. 'AppTheme.Green’. Define this theme in your styles.xml as shown. If invalid, Plugin will select a default theme. 

   	// 1st parameter is a success callback, 
   	// 2nd parameter is a failure callback,
   	// 3rd parameter is the themeName 
       cordova.plugins.PayUmoneyPnP.setAndroidAppThemeName( 
   		function (response) {
   			console.log('setAndroidAppThemeName received Success '); 
        }, 
   	    function (response){
   			console.log('setAndroidAppThemeName received Failure '.concat(response) );
   		}, 
   		themeName );
} 

// Example of styles.xml 

<style name="AppTheme.Green" parent="PayumoneyAppTheme"> 
       <item name="colorPrimary">@color/persian_green_primary</item> // Define these colors in colors.xml 
       <item name="colorPrimaryDark">@color/persian_green_dark</item> 
       <item name="colorAccent">@color/persian_green_accent</item> 
       <item name="colorButtonNormal">@color/persian_green_primary</item> 
       <item name="alertDialogTheme">@style/AlertDialogStyle_green</item> 
       <item name="actionMenuTextColor">@color/white</item> 
   </style> 

// Another example 
<style name="AppTheme.pink" parent="PayumoneyAppTheme"> 
       <item name="colorPrimary">@color/pink_primary</item> 
       <item name="colorPrimaryDark">@color/pink_dark</item> 
       <item name="colorAccent">@color/pink_accent</item> 
       <item name="colorButtonNormal">@color/pink_primary</item> 
       <item name="alertDialogTheme">@style/AlertDialogStyle_pink</item> 
       <item name="actionMenuTextColor">@color/white</item> 
   </style>