SHARE
TWEET

Untitled

a guest Mar 26th, 2015 276 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.googlecode.android.widgets.DateSlider;
  2.  
  3. import java.security.MessageDigest;
  4. import java.security.NoSuchAlgorithmException;
  5. import java.util.ArrayList;
  6. import java.util.Collection;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. import java.util.Random;
  10.  
  11. import org.json.JSONObject;
  12.  
  13. import android.annotation.SuppressLint;
  14. import android.app.Activity;
  15. import android.app.PendingIntent.OnFinished;
  16. import android.app.ProgressDialog;
  17. import android.content.Context;
  18. import android.content.Intent;
  19. import android.net.http.SslError;
  20. import android.os.Bundle;
  21. import android.os.Handler;
  22. import android.provider.SyncStateContract.Constants;
  23. import android.util.Log;
  24. import android.view.Window;
  25. import android.webkit.SslErrorHandler;
  26. import android.webkit.WebView;
  27. import android.webkit.WebViewClient;
  28.  
  29. import android.widget.Toast;
  30.  
  31. /**
  32.  * @author toshiba
  33.  *
  34.  */
  35. @SuppressLint("SetJavaScriptEnabled")
  36. public class MainActivity extends Activity {
  37.     private ArrayList<String> post_val = new ArrayList<String>();
  38.     private String post_Data = "";
  39.     WebView webView;
  40.     final Activity activity = this;
  41.     private String tag = "MainActivity";
  42.     private String hash, hashSequence;
  43.  
  44.     String merchant_key = "JBZaLc";
  45.     String salt = "GQs7yium";
  46.     String action1 = "";
  47.     String base_url = "https://test.payu.in";
  48.     int error = 0;
  49.     String hashString = "";
  50.     Map<String, String> params;
  51.     String txnid = "";
  52.     Handler mHandler = new Handler();
  53.  
  54.     @Override
  55.     protected void onCreate(Bundle savedInstanceState) {
  56.         // TODO Auto-generated method stub
  57.         super.onCreate(savedInstanceState);
  58.         final ProgressDialog progressDialog = new ProgressDialog(activity);
  59.         getWindow().requestFeature(Window.FEATURE_PROGRESS);
  60.         webView = new WebView(this);
  61.         setContentView(webView);
  62.         Log.e("fhf", "djdj");
  63.         /*
  64.          * post_val = getIntent().getStringArrayListExtra("post_val");
  65.          * Log.d(tag, "post_val: "+post_val); params= new
  66.          * HashMap<String,String>(); for(int i = 0;i<post_val.size();){
  67.          * params.put(post_val.get(i), post_val.get(i+1)); i+=2; }
  68.          */
  69.         // if(empty(params.get("txnid")))
  70.         {
  71.             Random rand = new Random();
  72.             String rndm = Integer.toString(rand.nextInt())
  73.                     + (System.currentTimeMillis() / 1000L);
  74.             txnid = hashCal("SHA-256", rndm).substring(0, 20);
  75.         }
  76.         Log.e("fhf", "djdj");
  77.         // else txnid=params.get("txnid");
  78.         // String udf2 = txnid;
  79.         String txn = "abcd";
  80.         hash = "";
  81.         String hashSequence = "key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5|udf6|udf7|udf8|udf9|udf10";
  82.         // hash=hashCal("SHA-512",merchant_key+"|"+txnid+"|2500|bike_123|abhinav|abhinav.shukla004@gmail.com|||||||||||"+salt);
  83.         // Log.e("hashstring",
  84.         // merchant_key+"|"+txnid+"|2500|bike_123|abhinav|a.shukla@Stiristamail.com|||||||||||"+salt);
  85.         hash = hashCal(
  86.                 "SHA-512",
  87.                 merchant_key
  88.                         + "|"
  89.                         + txnid
  90.                         + "|2501|bike_1231|abhinav|abhina.shukla004@gmail.com|||||||||||"
  91.                         + salt);
  92.         Log.e("hashstring", merchant_key + "|" + txnid
  93.                 + "|2500|bike_123|abhinav|a.shukla@Stiristamail.com||||||||||"
  94.                 + salt);
  95.         Log.e("hash", hash);
  96.         action1 = base_url.concat("/_payment");
  97.  
  98.         Log.e("action1", action1);
  99.  
  100.         webView.setWebViewClient(new WebViewClient() {
  101.  
  102.             @Override
  103.             public void onReceivedError(WebView view, int errorCode,
  104.                     String description, String failingUrl) {
  105.                 // TODO Auto-generated method stub
  106.                 Log.e("onrecError", "djsetdj");
  107.                 Toast.makeText(activity, "Oh no! " + description,
  108.                         Toast.LENGTH_LONG).show();
  109.             }
  110.  
  111.             @SuppressWarnings("unused")
  112.             public void onReceivedSslError(WebView view,
  113.                     SslErrorHandler handler, SslError error) {
  114.                 // TODO Auto-generated method stub
  115.                 Toast.makeText(activity, "SslError! " + error,
  116.                         Toast.LENGTH_SHORT).show();
  117.                 Log.e("onrecErrorssl", error.toString());
  118.                 handler.proceed();
  119.             }
  120.  
  121.             @Override
  122.             public boolean shouldOverrideUrlLoading(WebView view, String url) {
  123.                 // TODO Auto-generated method stub
  124.  
  125.                 JSONParser json = new JSONParser();
  126.                 // JSONObject obj=json.getJSONFromUrl(url);
  127.                 Log.e("should", url);
  128.                 // Log.e("len",String.valueOf(obj.length()));
  129.                 return true;
  130.  
  131.             }
  132.  
  133.             @Override
  134.             public void onPageFinished(WebView view, String url) {
  135.                 // TODO Auto-generated method stub
  136.                 Log.e("finsi", url);
  137.  
  138.             }
  139.  
  140.         });
  141.         webView.setVisibility(0);
  142.         webView.getSettings().setBuiltInZoomControls(true);
  143.         webView.getSettings().setCacheMode(2);
  144.         webView.getSettings().setDomStorageEnabled(true);
  145.         webView.clearHistory();
  146.         webView.clearCache(true);
  147.         webView.getSettings().setJavaScriptEnabled(true);
  148.         webView.getSettings().setSupportZoom(true);
  149.         webView.getSettings().setUseWideViewPort(false);
  150.         webView.getSettings().setLoadWithOverviewMode(false);
  151.         Log.e("fhf", "djdj");
  152.         // webView.
  153.         webView.addJavascriptInterface(new PayUJavaScriptInterface(activity),
  154.                 "PayUMoney");
  155.  
  156.         Map<String, String> mapParams = new HashMap<String, String>();
  157.         mapParams.put("key", merchant_key);
  158.         mapParams.put("hash", hash);
  159.         mapParams.put("txnid", txnid);
  160.         Log.d(tag, "txnid: " + txnid);
  161.         mapParams.put("service_provider", "payu_paisa");
  162.         mapParams.put("amount", "2501");
  163.         mapParams.put("firstname", "abhinav");
  164.         mapParams.put("email", "abhina.shukla004@gmail.com");
  165.         mapParams.put("phone", "7838578454");
  166.  
  167.         mapParams.put("productinfo", "bike_1231");
  168.         mapParams.put("surl",
  169.                 "http://stage.prowheelers.com/checkout/confirm?bookingid=999");
  170.         mapParams.put("furl",
  171.                 "http://stage.prowheelers.com/checkout/confirm?bookingid=999");
  172.  
  173.         webview_ClientPost(webView, action1, mapParams.entrySet());
  174.  
  175.     }
  176.  
  177.     public class PayUJavaScriptInterface {
  178.         Context mContext;
  179.  
  180.         /** Instantiate the interface and set the context */
  181.         PayUJavaScriptInterface(Context c) {
  182.             mContext = c;
  183.         }
  184.  
  185.         public void success(long id, final String paymentId) {
  186.  
  187.             mHandler.post(new Runnable() {
  188.  
  189.                 public void run() {
  190.  
  191.                     mHandler = null;
  192.  
  193.                     Intent intent = new Intent(MainActivity.this,
  194.                             BookingID.class);
  195.  
  196.                     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
  197.                             | Intent.FLAG_ACTIVITY_SINGLE_TOP);
  198.  
  199.                     intent.putExtra("result", "success");
  200.  
  201.                     intent.putExtra("paymentId", paymentId);
  202.  
  203.                     startActivityForResult(intent, 0);
  204.  
  205.                     finish();
  206.  
  207.                 }
  208.  
  209.             });
  210.  
  211.         }
  212.  
  213.     }
  214.  
  215.     public void webview_ClientPost(WebView webView, String url,
  216.             Collection<Map.Entry<String, String>> postData) {
  217.         StringBuilder sb = new StringBuilder();
  218.  
  219.         sb.append("<html><head></head>");
  220.         sb.append("<body onload='form1.submit()'>");
  221.         sb.append(String.format("<form id='form1' action='%s' method='%s'>",
  222.                 url, "post"));
  223.         for (Map.Entry<String, String> item : postData) {
  224.             sb.append(String.format(
  225.                     "<input name='%s' type='hidden' value='%s' />",
  226.                     item.getKey(), item.getValue()));
  227.         }
  228.         sb.append("</form></body></html>");
  229.         Log.d(tag, "webview_ClientPost called");
  230.         Log.d("data", sb.toString());
  231.         webView.loadData(sb.toString(), "text/html", "utf-8");
  232.  
  233.         Log.d("data", webView.toString());
  234.     }
  235.  
  236.     public void success(long id, final String paymentId) {
  237.         mHandler.post(new Runnable() {
  238.  
  239.             public void run() {
  240.  
  241.                 mHandler = null;
  242.  
  243.                 Intent intent = new Intent(MainActivity.this,
  244.                         MainActivity.class);
  245.  
  246.                 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
  247.                         | Intent.FLAG_ACTIVITY_SINGLE_TOP);
  248.  
  249.                 intent.putExtra(Constants.ACCOUNT_NAME, "success");
  250.  
  251.                 intent.putExtra(Constants._ID, paymentId);
  252.  
  253.                 startActivity(intent);
  254.  
  255.                 finish();
  256.  
  257.             }
  258.  
  259.         });
  260.         System.out.println(paymentId);
  261.  
  262.     }
  263.  
  264.     public boolean empty(String s) {
  265.         if (s == null || s.trim().equals(""))
  266.             return true;
  267.         else
  268.             return false;
  269.     }
  270.  
  271.     public String hashCal(String type, String str) {
  272.         byte[] hashseq = str.getBytes();
  273.         StringBuffer hexString = new StringBuffer();
  274.         try {
  275.             MessageDigest algorithm = MessageDigest.getInstance(type);
  276.             algorithm.reset();
  277.             algorithm.update(hashseq);
  278.             byte messageDigest[] = algorithm.digest();
  279.  
  280.             for (int i = 0; i < messageDigest.length; i++) {
  281.                 String hex = Integer.toHexString(0xFF & messageDigest[i]);
  282.                 if (hex.length() == 1)
  283.                     hexString.append("0");
  284.                 hexString.append(hex);
  285.             }
  286.         } catch (NoSuchAlgorithmException nsae) {
  287.         }
  288.         return hexString.toString();
  289.  
  290.     }
  291.  
  292.  
  293.  
  294. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top