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

@juspay/ec-cordova-plugin

v1.1.11

Published

A Cordova plugin for the Juspay Express Checkout for iOS and android

Downloads

1

Readme

PhoneGap app integration

JusPay has a native android and iOS client which can be used by PhoneGap applications. To get started, you first need to download the code for the plugin.

Installation

This requires phonegap/cordova CLI 5.0+ (current stable v1.5.3).

Install via repo url directly (latest version)

phonegap plugin add https://bitbucket.org/juspay/ec-cordova-plugin

or

cordova plugin add https://bitbucket.org/juspay/ec-cordova-plugin

Android Details

Starting payment flow

You are ready to start the payment as soon as your server has called JusPay API to create order. The following parameters are available to you now:

var orderId = "<your_order_id>"
var merchantId = "<your_merchant_id>"

Define Return Url Callback

When the user has completed the payment (could be success or failure), the user will be redirected to the return_url configured by you at the time of order creation. JusPay will invoke your function when the user has reached this return_url.

var onEndUrlReached = function () {
    // your code to check the server status
    var paymentStatus = getPaymentStatusFromServer()
    if(paymentStatus == "CHARGED") {
        gotoThankYouPage()
    }
    else {
        gotoFailurePage()
    }
};

Note: JusPay will not provide the payment status in the callback function, because it is a security issue. You will have to check with your server and retrieve the status from JusPay using /order/status API.

Define back button callback

If the user presses back button, then the transaction is aborted midway by the user. Our plugin will let you know when this happens through a callback. You may define the function as:

var abortedCallback = function () {
    gotoFailurePage()
};

The plugin will handle all the payment pages and when the user has completed the payment, the user is finally redirected to your website. To stop the plugin at the correct end URL, you must declare the final return URL that you have configured with JusPay.

var endUrls = ["https://shop.com/juspay-response/.*", "https://beta.shop.com/juspay-response/.*"]

Once all these variables are declared correctly, you are ready to put it together and setup the payment flow:

ExpressCheckout.startCheckoutActivity({
    "endUrls": endUrls,
    "onEndUrlReached": onEndUrlReached,
    "onTransactionAborted": onTransactionAborted,
    "environment": "PRODUCTION", // can be either of "SANDBOX" or "PRODUCTION"
    "parameters": {
        "orderId": orderId,
        "merchantId": merchantId,
    },
})

Customizing the Action Bar

Juspay safe browser alllows the user to customize the action bar. To customize the acton bar, pass in a JSON configuration to the ExpressCheckout.startCheckoutActivity method as shown:

ExpressCheckout.startCheckoutActivity({
    "endUrls": endUrls,
    "onEndUrlReached": onEndUrlReached,
    "onTransactionAborted": onTransactionAborted,
    "environment": "PRODUCTION", // can be either of "SANDBOX" or "PRODUCTION"
    "parameters": {
        "orderId": orderId,
        "merchantId": merchantId,
    },

    // Action bar customization options
    "actionBar": {
        "backgroundColor": "#FF0000",
        "backgroundImage": "my-drawable-resource",
        "icon": "my-drawable-resource",
        "displayNote": "Flight Mumbai <-> Delhi",
        "remarks": "Flight MUM DEL"
    }
})

| Option | Description | | ------ | ----------- | | backgroundColor | Sets the background color of the action bar, this must be a hex color code, like #f9c7d1 | | backgroundImage | Name of the file to be used as backgroundImage of action bar. Note that if this property and backgroundColor are set, backgroundImage will override backgroundColor | | icon | Name of the file to be set as the icon image. | | displayNote | Short note about transaction shown to the customer. ex. 'Paying INR 200 for Order 123456' | | remarks | Remarks about transaction. This will be automatically filled up in the netbanking page. ex. 'Pay to merchant' |

Note: The images to be used for icon and backgroundImage must be placed in the drawables resource folder of android. See this link for more information.

Examples

We have setup simple examples for you to see the code working end to end. Examples are provided for both Cordova & PhoneGap. Check the working examples here.

Help & Support

If you notice any errors or issues with the integration, please reach out to us at [email protected]. You may also search our Knowledge base to see if the issue has already been addressed by our team.