//    @PostConstruct
 public void init() {
   if (loginBean.isLinked()) {
     // user has log in
     this.user = loginBean.getUser();
   } else {
     // we need to create anonymous user
     user = new User();
   }
   order = new Order();
   order.setPaymentType(PaymentType.cashOnDelivery);
 }
  public void payOrder() throws PayPalRESTException, IOException {
    // registering order and redirect  to payment service
    if (!(loginBean.isLinked())) {
      user.setActive(false);
    }
    user = userService.update(user);
    if (order.getDeliveryType() == DeliveryType.courierInKiev) {
      order.setAddressOrStorageNum(
          user.getCountry()
              + ", "
              + user.getCity()
              + ", "
              + user.getStreet()
              + ", "
              + user.getHouse()
              + ", кв. "
              + user.getApartment());
    }
    PaymentResultDto paymentResultDto = cartBean.buy(user.getId(), order);
    if (!paymentResultDto.approvalUrl.isEmpty()) {
      ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
      ec.redirect(paymentResultDto.approvalUrl);
    }

    orderMade = true;
    emailService.sendManagerNotificationByOrderId(paymentResultDto.orderId, getApplicationUri());
    //        return null;
  }