@Secured("PAYMENT") @RequestMapping(value = "/admin/payments/paymentMethod.html", method = RequestMethod.GET) public String displayPaymentMethod( @RequestParam("code") String code, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception { this.setMenu(model, request); MerchantStore store = (MerchantStore) request.getAttribute(Constants.ADMIN_STORE); // get configured shipping modules IntegrationConfiguration configuration = paymentService.getPaymentConfiguration(code, store); if (configuration == null) { configuration = new IntegrationConfiguration(); configuration.setEnvironment( com.salesmanager.core.constants.Constants.PRODUCTION_ENVIRONMENT); Map<String, String> keys = new HashMap<String, String>(); keys.put("transaction", TransactionType.AUTHORIZECAPTURE.name()); configuration.setIntegrationKeys(keys); } configuration.setModuleCode(code); List<String> environments = new ArrayList<String>(); environments.add(com.salesmanager.core.constants.Constants.TEST_ENVIRONMENT); environments.add(com.salesmanager.core.constants.Constants.PRODUCTION_ENVIRONMENT); model.addAttribute("configuration", configuration); model.addAttribute("environments", environments); return ControllerConstants.Tiles.Payment.paymentMethod; }
@RequestMapping(value = "/admin/payments/paymentMethods.html", method = RequestMethod.GET) public String getPaymentMethods( Model model, HttpServletRequest request, HttpServletResponse response) throws Exception { // set menu setMenu(model, request); MerchantStore store = (MerchantStore) request.getAttribute(Constants.ADMIN_STORE); // get payment methods List<IntegrationModule> modules = paymentService.getPaymentMethods(store); // get configured payment modules Map<String, IntegrationConfiguration> configuredModules = paymentService.getPaymentModulesConfigured(store); model.addAttribute("modules", modules); model.addAttribute("configuredModules", configuredModules); return ControllerConstants.Tiles.Payment.paymentMethods; }
@RequestMapping(value = "/admin/payments/deletePaymentMethod.html", method = RequestMethod.POST) public String deletePaymentMethod( @RequestParam("code") String code, Model model, HttpServletRequest request, HttpServletResponse response, Locale locale) throws Exception { this.setMenu(model, request); MerchantStore store = (MerchantStore) request.getAttribute(Constants.ADMIN_STORE); paymentService.removePaymentModuleConfiguration(code, store); return "redirect:/admin/payments/paymentMethods.html"; }
@Secured("PAYMENT") @RequestMapping(value = "/admin/payments/savePaymentMethod.html", method = RequestMethod.POST) public String savePaymentMethod( @ModelAttribute("configuration") IntegrationConfiguration configuration, BindingResult result, Model model, HttpServletRequest request, HttpServletResponse response, Locale locale) throws Exception { this.setMenu(model, request); MerchantStore store = (MerchantStore) request.getAttribute(Constants.ADMIN_STORE); List<String> environments = new ArrayList<String>(); environments.add(com.salesmanager.core.constants.Constants.TEST_ENVIRONMENT); environments.add(com.salesmanager.core.constants.Constants.PRODUCTION_ENVIRONMENT); model.addAttribute("environments", environments); model.addAttribute("configuration", configuration); try { paymentService.savePaymentModuleConfiguration(configuration, store); } catch (Exception e) { if (e instanceof IntegrationException) { if (((IntegrationException) e).getErrorCode() == IntegrationException.ERROR_VALIDATION_SAVE) { List<String> errorCodes = ((IntegrationException) e).getErrorFields(); for (String errorCode : errorCodes) { model.addAttribute(errorCode, messages.getMessage("message.fielderror", locale)); } model.addAttribute("validationError", "validationError"); return ControllerConstants.Tiles.Payment.paymentMethod; } } else { throw new Exception(e); } } model.addAttribute("success", "success"); return ControllerConstants.Tiles.Payment.paymentMethod; }