public GeneratePaymentIdResponse generatePaymentId(GeneratePaymentIdRequest request) {
   Long merchantId;
   GeneratePaymentIdResponse response = new GeneratePaymentIdResponse();
   try {
     merchantId = Long.valueOf(request.getMerchantId());
   } catch (NumberFormatException e) {
     return response;
   }
   Merchant merchant = merchantDao.get(merchantId);
   if (merchant == null) {
     return response;
   }
   Payment payment = new Payment();
   Discount discount = merchant.getDiscounts().get(0);
   payment.setDiscount(discount);
   payment.setCreationDate(new Date());
   payment.setAmount(request.getAmount());
   payment.setStatus(PaymentStatus.PENDING);
   paymentDao.saveOrUpdate(payment);
   response.setPaymentId(String.valueOf(payment.getGeneratedPaymentId()));
   return response;
 }