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