public override string GetOrderId(PaymentInfo payment) { byte[] jsonBytes = Convert.FromBase64String(payment.Data); string json = Encoding.UTF8.GetString(jsonBytes); LiqPayPaymentInfo liqPayPayment = JsonConvert.DeserializeObject <LiqPayPaymentInfo>(json); return(liqPayPayment.OrderId); }
public override bool IsPaymentAuthorized(PaymentInfo payment, PaymentInfo stored) { string calculatedSignature = GetSignature(payment.Data); string storedSignature = GetSignature(payment.Data); string data = Encoding.UTF8.GetString(Convert.FromBase64String(stored.Data)); LiqPayPaymentInfo info = JsonConvert.DeserializeObject <LiqPayPaymentInfo>(data); DateTime exp = DateTime.Parse(info.Expired); return(calculatedSignature == payment.Signature && calculatedSignature == storedSignature && exp > DateTime.UtcNow); }
public override PaymentInfo CreateFromUserPayment(PaymentPrepareModel paymentPrepare) { LiqPayPaymentInfo liqPayPayment = new LiqPayPaymentInfo(paymentPrepare) { Version = VERSION, Action = ACTION, Currency = CURRENCY, PublicKey = PUBLIC_KEY, PrivateKey = PRIVATE_KEY, }; string json = JsonConvert.SerializeObject(liqPayPayment); byte[] dataBytes = Encoding.UTF8.GetBytes(json); string data = Convert.ToBase64String(dataBytes); string signature = GetSignature(data); return(new PaymentInfo(data, signature)); }