1.2.4 • Published 4 years ago

com.payumoney.sdkui.cordova v1.2.4

Weekly downloads
14
License
Apache 2.0
Repository
-
Last release
4 years ago

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 com.payumoney.sdkui.cordova@1.2.4

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 = 'abc@de.com'; // 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> 
1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.0.9

6 years ago

0.0.1

6 years ago