Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. function mostraAltaTargeta() {
  2. // Muntem els paràmetres de configuració de l'alta de la targeta
  3. // - comanda: format [0-9]{4}[a-zA-Z0-0]{7}
  4. SimpleDateFormat formatData = new SimpleDateFormat("yyyyDDD",Locale.US); // any dia del de l'any
  5. Calendar avui = new GregorianCalendar();
  6. String comanda = formatData.format(avui.getTime());
  7. comanda = comanda + UUID.randomUUID().toString();
  8. comanda = comanda.replaceAll("^[a-zA-Z0-9]", "");
  9. comanda = comanda.substring(0, 11) +"A";
  10. // - idioma:
  11. String idioma = Locale.getDefault().getLanguage();
  12. String codiIdioma = "001";
  13. switch ( idioma ) {
  14. case "ca": codiIdioma = "003"; break;
  15. case "es": codiIdioma = "001"; break;
  16. case "en": codiIdioma = "002"; break;
  17. default: codiIdioma = "001"; break;
  18. }
  19. // Muntem el mapa de paràmetres
  20. Map<String, String> parametres = new HashMap<>();
  21. parametres.put("Ds_Merchant_ConsumerLanguage", codiIdioma); // ca -> 003, es -> 001, en -> 002, default -> 001
  22. parametres.put("Ds_Merchant_Amount", "1"); // Import en cèntims
  23. parametres.put("DS_MERCHANT_CURRENCY", "978"); // Moneda: 978 -> €
  24. parametres.put("DS_MERCHANT_ORDER", comanda); // max 12 chars obligatori 4 primers numèrics.
  25. parametres.put("DS_MERCHANT_URLOK", "pago://OK"); // URL petició correcta
  26. parametres.put("DS_MERCHANT_URLKO", "pago://KO"); // URL pretició errònia
  27. parametres.put("DS_MERCHANT_PAYMETHODS", "C"); // C -> Només targeta
  28. parametres.put("DS_MERCHANT_TRANSACTIONTYPE", "1"); // 0 -> Autorització, 1 -> Pre-autorització, 9 -> Anula pre-autorització
  29. parametres.put("DS_MERCHANT_TERMINAL", RedSys.TERMINAL); // Número de terminal
  30. parametres.put("DS_MERCHANT_MERCHANTCODE", RedSys.COMERCIO);// Número de comerç
  31. parametres.put("DS_MERCHANT_IDENTIFIER", "REQUIRED"); // Solicitem que es realitzi la generació del token.
  32. parametres.put("DS_MERCHANT_MERCHANTDATA", "ANDROID"); // !!! Posar-hi alguna cosa, si no no va del tot bé l'extracció de parametres.
  33. parametres.put("DS_MERCHANT_MERCHANTURL", "https://services.bonareaenergia.com:7001/AndroidServer/GetRedsys"); // URL notificació petició
  34. try {
  35. // Xifrem i signem la petició
  36. parametres = this.operacioSHA256(parametres);
  37. StringBuilder sb = new StringBuilder();
  38. for ( Map.Entry<String, String> param : parametres.entrySet() ) {
  39. sb.append(param.getKey()).append("=").append(URLEncoder.encode(param.getValue(),"UTF-8")).append("&");
  40. }
  41. sb.setLength(sb.length() - 1); // treiem l'ultim &
  42. // Enviem la petició al vista web
  43. //this.webView.loadUrl("http://www.bonarea.com");
  44. TargetaEdita.URL_ALTA_CREDIT = "https://sis.redsys.es/sis/realizarPago/utf-8"
  45. this.webView.postUrl(TargetaEdita.URL_ALTA_CREDIT, sb.toString().getBytes());
  46. InputMethodManager teclat = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
  47. if ( !teclat.isActive() ) teclat.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); // mostrem el teclat
  48. this.estat = Estat.ALTA_CREDIT_CONTINUA;
  49. }
  50. catch (Exception e) {
  51. e.printStackTrace();
  52. setResult(91);
  53. finish();
  54. }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement