Advertisement
Guest User

Untitled

a guest
Mar 26th, 2015
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.58 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement