public void proceedToPayment(int amount) {

    Random randomGenerator = new Random();
    int randomInt = randomGenerator.nextInt(1000);

    PaytmPGService paytmPGService = PaytmPGService.getStagingService();

    Map<String, String> paramMap = new HashMap<String, String>();

    /* paramMap.put("REQUEST_TYPE", "RENEW_SUBSCRIPTION");
    paramMap.put("ORDER_ID", "42TRIPS000" + randomInt);
    paramMap.put("MID", getResources().getString(R.string.merchant_id));
    //paramMap.put("CUST_ID", getResources().getString(R.string.user_name));
    paramMap.put("SUBS_ID", "619");
    paramMap.put("TXN_AMOUNT", ""+amount);*/

    paramMap.put("REQUEST_TYPE", "SUBSCRIBE");
    paramMap.put("ORDER_ID", "42TRIPS000" + randomInt);
    paramMap.put("MID", getResources().getString(R.string.merchant_id));
    paramMap.put("CUST_ID", getResources().getString(R.string.user_name));
    paramMap.put("CHANNEL_ID", "WAP");
    paramMap.put("INDUSTRY_TYPE_ID", "Retail");
    paramMap.put("WEBSITE", "Crypsisapp");
    paramMap.put("TXN_AMOUNT", "" + amount);
    paramMap.put("SUBS_SERVICE_ID", "XYZ");
    paramMap.put("SUBS_AMOUNT_TYPE", "VARIABLE");
    paramMap.put("SUBS_MAX_AMOUNT", "100");
    paramMap.put("SUBS_FREQUENCY", "1");
    paramMap.put("SUBS_FREQUENCY_UNIT", "MONTH");
    paramMap.put("THEME", "merchant");
    paramMap.put("SUBS_ENABLE_RETRY", "0"); // this value will always be 0

    Calendar calendar = Calendar.getInstance();
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    String currentDate = dateFormat.format(calendar.getTime());
    String endDate = "";

    try {
      calendar.setTime(dateFormat.parse(currentDate));
      calendar.add(Calendar.MONTH, 5);
      endDate = dateFormat.format(calendar.getTime());
    } catch (Exception e) {
      e.printStackTrace();
    }

    // Toast.makeText(getApplicationContext(), "CD "+currentDate+" , ED "+endDate,
    // Toast.LENGTH_LONG).show();

    paramMap.put("SUBS_START_DATE", currentDate);
    paramMap.put("SUBS_GRACE_DAYS", "1");
    paramMap.put("SUBS_EXPIRY_DATE", endDate);

    /*paramMap.put("REQUEST_TYPE", "DEFAULT");
    paramMap.put("ORDER_ID", "42TRIPS000" + randomInt);
    paramMap.put("MID", getResources().getString(R.string.merchant_id));
    paramMap.put("CUST_ID", getResources().getString(R.string.user_name));
    paramMap.put("MOBILE_NO", getResources().getString(R.string.user_name));
    paramMap.put("EMAIL_ID", "*****@*****.**");
    paramMap.put("CHANNEL_ID", "WAP");
    paramMap.put("INDUSTRY_TYPE_ID", "Retail");
    paramMap.put("WEBSITE", "Crypsisapp");
    paramMap.put("TXN_AMOUNT", ""+amount);
    paramMap.put("THEME", "merchant");*/

    PaytmOrder paytmOrder = new PaytmOrder(paramMap);
    PaytmMerchant merchant =
        new PaytmMerchant(
            "http://dev.42trips.com/paytm/checksum",
            "http://dev.42trips.com/paytm/checksum_verification");
    PaytmClientCertificate certificate = null;

    paytmPGService.initialize(paytmOrder, merchant, certificate);

    paytmPGService.startPaymentTransaction(
        this,
        true,
        true,
        new PaytmPaymentTransactionCallback() {
          @Override
          public void onTransactionSuccess(Bundle bundle) {
            Log.d("success", "sussess callback");
            Toast.makeText(context, "Transaction Success", Toast.LENGTH_LONG).show();

            Intent homeActivity = new Intent(context, HomeActivity.class);
            homeActivity.addFlags(
                Intent.FLAG_ACTIVITY_CLEAR_TOP); // Clearing All Previous Activities..
            startActivity(homeActivity);
          }

          @Override
          public void onTransactionFailure(String s, Bundle bundle) {
            Toast.makeText(context, "Transaction Failure , Msg : " + s, Toast.LENGTH_LONG).show();
          }

          @Override
          public void networkNotAvailable() {
            Toast.makeText(context, "No Network", Toast.LENGTH_LONG).show();
          }

          @Override
          public void clientAuthenticationFailed(String s) {
            Toast.makeText(context, "Authentication Failed , Msg : " + s, Toast.LENGTH_LONG).show();
            Log.d("paytm", "Authentication Failed , Msg: " + s);
          }

          @Override
          public void someUIErrorOccurred(String s) {
            Toast.makeText(context, "URL ERROR", Toast.LENGTH_LONG).show();
          }

          @Override
          public void onErrorLoadingWebPage(int i, String s, String s2) {
            Toast.makeText(context, "Error Loading Web Page", Toast.LENGTH_LONG).show();
          }
        });
  }