/// <summary> /// Инициирует платёжную сессию /// </summary> /// <param name="orderId"></param> /// <param name="description"></param> /// <param name="amount"></param> /// <param name="email"></param> /// <param name="successUrl"></param> /// <param name="failUrl"></param> /// <returns></returns> public static TinkoffPaymentOperationResult SendPayment(string orderId, string description, int amount, string email, string successUrl, string failUrl) { var byteArray = GetDataBytes(orderId, description, amount, email, successUrl, failUrl); string response; try { response = GetResponse(TinkoffMethodInitName, byteArray); } catch (Exception e) { return(new TinkoffPaymentOperationResult(TinkoffPaymentResult.Error, $"{e.Message}")); } InitRequestJsonResult initResult = JsonConvert.DeserializeObject <InitRequestJsonResult>(response); if (initResult.Success) { return(new TinkoffPaymentOperationResult(TinkoffStatusToTinkoffPaymentResult(initResult.Status), initResult.PaymentUrl, initResult.PaymentId)); } return(new TinkoffPaymentOperationResult(TinkoffPaymentResult.Failure, $"ErrorCode:{initResult.ErrorCode}, Details:{initResult.Details}, Message:{initResult.Message}")); }
/// <summary> /// Возвращает текуший статус платежа /// </summary> /// <param name="paymentId"></param> /// <returns></returns> public static TinkoffPaymentOperationResult CheckPaymentStatus(int paymentId) { var byteArray = GetDataBytes(paymentId); string response; try { response = GetResponse(TinkoffMethodGetStateName, byteArray); } catch (Exception e) { return(new TinkoffPaymentOperationResult(TinkoffPaymentResult.Error, $"{e.Message}")); } InitRequestJsonResult initResult = JsonConvert.DeserializeObject <InitRequestJsonResult>(response); if (initResult.Success) { return(new TinkoffPaymentOperationResult(TinkoffStatusToTinkoffPaymentResult(initResult.Status), initResult.Message)); } return(new TinkoffPaymentOperationResult(TinkoffPaymentResult.Failure, $"ErrorCode:{initResult.ErrorCode}, Details:{initResult.Details}, Message:{initResult.Message}")); }