Esempio n. 1
0
        public void GenerateSignature(PaymentLiqpayVM /*Our view model*/ payment)
        {
            string result = JsonConvert.SerializeObject(payment);
            string data   = Convert.ToBase64String(Encoding.UTF8.GetBytes(result));
            //string signature = Convert.ToBase64String(Encoding.UTF8.GetBytes(StringToSHA1(payment.private_key + data + payment.private_key)));
            string signature = Convert.ToBase64String(SHA1.Create().ComputeHash(Encoding.UTF8.GetBytes(payment.private_key + data + payment.private_key)));

            payment.data      = data;
            payment.signature = signature;
            //return payment;
        }
Esempio n. 2
0
        public IActionResult CreatePayment(int orderId)
        {
            PaymentLiqpayVM          model           = new PaymentLiqpayVM();
            LiqPaySignatureGenerator liqpaysignature = new LiqPaySignatureGenerator();
            var order = _orderService.GetOrderById(orderId);

            if (order == null)
            {
                return(Redirect(_baseUrl));
            }
            if (order.PaymentStatus == PaymentStatus.Paid)
            {
                return(Redirect(string.Format("{0}ru/checkout/completed/{1}", _baseUrl, order.Id)));
            }
            model.pay_way          = "card,liqpay,privat24";
            model.amount           = order.OrderTotal.ToString("0.00", CultureInfo.InvariantCulture);
            model.currency         = "UAH";
            model.action           = "pay";
            model.private_key      = _liqPayPaymentSettings.PrivateKey;
            model.public_key       = _liqPayPaymentSettings.PublicKey;
            model.recurringbytoken = "0";
            model.result_url       = string.Format("{0}ru/checkout/completed/{1}", _baseUrl, order.Id);;
            model.server_url       = string.Format("{0}liqpay/callback", _baseUrl);
            model.version          = "3";
            if (_liqPayPaymentSettings.UseSandbox)
            {
                model.sandbox = "1";
            }
            else
            {
                model.sandbox = "0";
            }
            model.description = String.Format("Заказ #{0}. Имя: {1}, тел. {2}, email: {3}", order.Id, order.Customer.BillingAddress.FirstName, order.Customer.BillingAddress.PhoneNumber, order.Customer.Email);

            model.order_id = order.Id.ToString();
            liqpaysignature.GenerateSignature(model);

            return(View("~/Plugins/Payments.LiqPay/Views/CreatePayment.cshtml", model));
        }