Esempio n. 1
0
        public override void Process(ref Context context)
        {
            var request = new MakeDepositionRequest()
            {
                AgentId           = agentId,
                ClientOrderId     = ((Guid)context["PaymentContext.Payment.Id"]).ToString(),
                RequestDT         = (DateTime)context["PaymentContext.Payment.ServerTime"],
                DstAccount        = (string)context["PaymentContext.Payment.Account"],
                Amount            = ((decimal)context["PaymentContext.Payment.Value"]).ToString(".00", CultureInfo.InvariantCulture),
                Currency          = currency,
                Contract          = "Зачисление на кошелек",
                DepositionPointId = (context["PaymentContext.Point.Serial"]).ToString()
            };

            var response = client.MakeDepositionRequest(request);

            if (response.Status == 0)
            {
                context.Status = State.Finalized;
            }
            if (response.Status == 1)
            {
                context.Status = State.Processing;
            }
            if (response.Status == 3)
            {
                context.Status = State.Rejected;
            }

            logger.WriteMessage($"request {request.DstAccount} {request.Amount}", 1);

            logger.WriteMessage($"process status {response.Status}: {OperationStatuses.Instance[response.Status]}", 1);
            logger.WriteMessage($"process error {response.Error}: {ErrorCodes.Instance[response.Error]}", 3);
        }
Esempio n. 2
0
        public MakeDepositionResponse MakeDepositionRequest(MakeDepositionRequest depositionRequest)
        {
            var makeUri    = new Uri(@"/webservice/deposition/api/makeDeposition", UriKind.Relative);
            var xmlRequest = xmlSerializer.Serialize(depositionRequest);
            var str        = UTF8Encoding.UTF8.GetString(xmlRequest);
            var response   = Request <MakeDepositionRequest>(xmlRequest, makeUri);

            return(xmlSerializer.Deserialize <MakeDepositionResponse>(response));
        }