This section describes how to integrate CustomBrowser in your app module.

Getting Started

Add below dependency in your application's build.gradle.


If you are getting this error, Default interface methods are only supported starting with Android N (--min-api 24): Landroidx/lifecycle/DefaultLifecycleObserver;onCreate(Landroidx/lifecycle/LifecycleOwner;)V Add compileOptions on Apps Gradle,

android {
 compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8

From version 7.4.0 onwards it is mandatory to import UPI sdk dependency in case you want to make payments via any UPI option viz. : UPI Intent, Collect, Google Pay, PhonePe ,SamsungPay along with the changes mentioned here.

Merchants are advised to add below permission in application's AndroidManifest.xml to support OTP assist.

<uses-permission android:name="android.permission.RECEIVE_SMS" />

In case your application's supports min sdk less than 20 then kindly do these changes in your surl/furl.


Function in CustomBrowser class. Checks for payment option type availability.

    Activity : activity instance
    PaymentOption : Payment Option type e.g.PaymentOption.SAMSUNGPAY,PaymentOption.PHONEPE
    PayUCustomBrowserCallback : this class provide callbacks 
    paymentOptionHash : Payment Related Details Hash
    merchantKey       : PayU Merchant Key
    user_credentials  : User credentials or use "default"
//Code Sample
new CustomBrowser().checkForPaymentAvailability(Activity activity, PaymentOption paymentOption,  PayUCustomBrowserCallback payUCustomBrowserCallback, String paymentOptionHash, String merchantKey, String user_credentials)

Invoking CustomBrowser

Invoking Custombrowser is just a 3 step procedure.

  1. Create a basic object of CustomBrowserConfig like below(For more Configurations supported visit here):

Post Url can be any of the following:

Production -

Staging -

CustomBrowserConfig customBrowserConfig = new CustomBrowserConfig(merchantKey,txnId);
customBrowserConfig.setPayuPostData(<Post Data>);
customBrowserConfig.setPostUrl(<Post Url>);

2. Create an object of PayUCustomBrowserCallback.

3. Call method addCustomBrowser() like below:

    Activity : activity instance
    CustomBrowserConfig : configuration object of the custom browser
    PayUCustomBrowserCallback : this class provide callbacks 
//Code Sample      
new CustomBrowser().addCustomBrowser( Activity activity, CustomBrowserConfig customBrowserConfig, PayUCustomBrowserCallback cbPayUCustomBrowserCallback)

Last updated