Пример #1
0
        public ReturnObject <int> CreatePayment(CreatePaymentObject createPaymentObject)
        {
            ReturnObject <int> response;

            //check if client has role that can create payment
            if (authManager.CanDoOperation(createPaymentObject.ClientId, Constants.OPERATION_PAYMENT_CREATE))
            {
                response = paymentManager.CreatePayment(createPaymentObject, DateTime.Now);
            }
            else
            {
                log.WarnFormat("The client: {0} tried to access to CreatePayment and does not has access", createPaymentObject.ClientId);
                response = new ReturnObject <int>(0);
                response.addWarnMsg("Access denied");
                response.Code = ReturnObject <int> .RETURN_CODE_UNAUTHORIZED;
            }
            return(response);
        }
Пример #2
0
        public ActionResult BuyGold(UserPaymentViewModel userPaymentViewModel)
        {
            var payment = _paymentManager.CreatePayment(User.Identity.GetUserId(), userPaymentViewModel.Amount);

            PaymentRequest paymentRequest = new PaymentRequest()
            {
                OrderId     = payment.ID,
                Amount      = payment.Amount,
                ServiceName = "Gold",
                CompanyName = "Slowpoke",
                CallbackUrl = HttpContext.Request.UrlReferrer + "api/payment/pay/",
                ReturnUrl   = HttpContext.Request.UrlReferrer.ToString(),
            };

            string paymentRequestQS = paymentRequest.ToString();

            ICryptoProvider cryptoProvider = new SlowpokeCryptoProvider();

            paymentRequest.Sign = cryptoProvider.ComputeHash(paymentRequestQS, "test");

            var redirectUrl = "http://localhost:10127/Payment/Pay?" + paymentRequest.GetFullSignedUrl();

            return(Redirect(redirectUrl));
        }