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); }
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)); }