/// <summary> /// Solicita el procesamiento de una transacción de retiro sin validar localmente. Se expone como internal con el fin de validar el comportamiento del servicio Aspen. /// </summary> /// <param name="docType">Tipo de documento del usuario.</param> /// <param name="docNumber">Número de documento del usuario.</param> /// <param name="token">Token transacional asociado con el usuario.</param> /// <param name="accountType">Tipo de cuenta de la que se toman los fondos.</param> /// <param name="amount">Valor del pago.</param> /// <param name="tags">Tags relacionados con la solicitud.</param> /// <param name="excludeAmount"></param> /// <param name="excludeAccountType"></param> /// <param name="excludeTags"></param> internal void WithdrawalAvoidingValidation( string docType, string docNumber, string token, string accountType, object amount, TagsInfo tags = null, bool excludeAmount = false, bool excludeAccountType = false, bool excludeTags = false) { IRestRequest request = new AspenRequest(this, Routes.Financial.Withdrawal, Method.POST); dynamic body = new ExpandoObject(); body.DocType = docType; body.DocNumber = docNumber; body.Token = token; if (!excludeAmount) { body.Amount = amount; } if (!excludeAccountType) { body.AccountType = accountType; } if (!excludeTags) { body.Tags = tags; } request.AddJsonBody(body); this.Execute(request); }
/// <summary> /// Obtiene la lista de mensajes Push del usuario actual. /// </summary> /// <returns>Liata de mensajes push del usuario actual.</returns> public List <PushMessageInfo> GetMessages() { IRestRequest request = new AspenRequest(this, "/push", Method.GET); return(this.Execute <List <PushMessageInfo> >(request)); }
/// <summary> /// Obtiene la información de las cuentas vinculadas para transferencia de saldos al usuario actual. /// </summary> /// <returns> /// Lista de instancias de <see cref="ITransferAccountInfo" /> con la información de las cuentas vinculadas al usuario actual. /// </returns> public IList <TransferAccountInfo> GetTransferAccounts() { IRestRequest request = new AspenRequest(Scope.Delegated, EndpointMapping.TransferAccountsFromCurrentUser); return(this.Execute <List <TransferAccountInfo> >(request) ?? Enumerable.Empty <TransferAccountInfo>().ToList()); }
/// <summary> /// Obtiene la lista de opciones que representan el menú de una aplicación móvil. /// </summary> /// <returns> /// Lista de opciones de menú. /// </returns> public IList <MenuItem> GetMenu() { IRestRequest request = new AspenRequest(this, Routes.Resources.Menu, Method.GET); return(this.Execute <List <MenuItem> >(request)); }
/// <summary> /// Obtiene los tipos de pagos que se pueden realizar a una cuenta. /// </summary> /// <returns>Lista de <see cref="TopUpInfo"/> con los valores admitidos de recarga por operador para la aplicación solicitante.</returns> public IList <TopUpInfo> GetTopUpValues() { IRestRequest request = new AspenRequest(this, Routes.Resources.TopUp, Method.GET); return(this.Execute <List <TopUpInfo> >(request)); }
/// <summary> /// Obtiene los tipos de pagos que se pueden realizar a una cuenta. /// </summary> /// <returns> /// Lista de <see cref="PaymentTypeInfo" /> con los tipos de pago para la aplicación solicitante. /// </returns> public IList <PaymentTypeInfo> GetPaymentTypes() { IRestRequest request = new AspenRequest(this, Routes.Resources.PaymentTypes, Method.GET); return(this.Execute <List <PaymentTypeInfo> >(request)); }
/// <summary> /// Obtiene la lista de operadores de telefonía móvil soportados por el servicio Aspen. /// </summary> /// <returns> /// Lista de operadores de telefonía soportados. /// </returns> public IList <Telco> GetTelcos() { IRestRequest request = new AspenRequest(this, Routes.Resources.Telcos, Method.GET); return(this.Execute <List <Telco> >(request)); }
/// <summary> /// Obtiene la información de las cuentas vinculadas para transferencias del usuario actual. /// </summary> /// <returns>Listado de cuentas inscritas.</returns> public IList <TransferAccountResponseInfo> GetTransferAccounts() { IRestRequest request = new AspenRequest(this, "/transfers/accounts", Method.GET); return(this.Execute <IList <TransferAccountResponseInfo> >(request)); }
/// <summary> /// Obtiene la lista de canales /// </summary> /// <returns>Lista de canales.</returns> public IList <ChannelInfo> GetChannels() { IRestRequest request = new AspenRequest(this, Routes.Tokens.Channels, Method.GET); return(this.Execute <List <ChannelInfo> >(request)); }
/// <summary> /// Obtiene los valores misceláneos soportados por el servicio Aspen. /// </summary> /// <returns> /// Colección de valores admitidos. /// </returns> public IList <KeyValuePair <string, object> > GetMiscellaneousValues() { IRestRequest request = new AspenRequest(this, Routes.Resources.Miscellaneous, Method.GET); return(this.Execute <IList <KeyValuePair <string, object> > >(request)); }
/// <summary> /// Obtiene la información resumida de las cuentas asociadas con el usuario actual. /// </summary> /// <returns>Listado con la información de las cuentas del usuario actual.</returns> public IEnumerable <IAccountInfo> GetAccounts() { IRestRequest request = new AspenRequest(this, Routes.Inquires.Delegated.Accounts, Method.GET); return(this.Execute <List <AccountInfo> >(request).ConvertAll(item => (IAccountInfo)item)); }
/// <summary> /// Solicita el envío de un token transaccional por SMS para un usuario autenticado de forma asíncrona. /// </summary> /// <returns> /// Instancia de <see cref="Task" /> con la información de la ejecución. /// </returns> public async Task <IRestResponse> RequestSingleUseTokenAsync() { IRestRequest request = new AspenRequest(this, Routes.Tokens.RequestToken, Method.POST); return(await this.ExecuteAsync(request)); }
/// <summary> /// Solicita el envío de un token transaccional para un usuario autenticado. /// </summary> public void RequestSingleUseToken() { IRestRequest request = new AspenRequest(this, Routes.Tokens.RequestToken, Method.POST); this.Execute(request); }
/// <summary> /// Solicita el envío de un código de activación a través de un mensaje SMS de forma asíncrona. /// </summary> /// <returns>Instancia de <see cref="Task"/> con la información de la ejecución.</returns> public async Task <IRestResponse> RequestActivationCodeAsync() { IRestRequest request = new AspenRequest(this, Routes.Users.ActivationCode, Method.POST); return(await this.ExecuteAsync(request)); }
/// <summary> /// Obtiene la lista de tipos de documento predeterminados soportados por el servicio. /// </summary> /// <returns> /// Lista de tipos de documento predeterminados. /// </returns> public IList <DocTypeInfo> GetDefaultDocTypes() { IRestRequest request = new AspenRequest(Scope.Anonymous, EndpointMapping.DefaultDocTypes); return(this.Execute <List <DocTypeInfo> >(request)); }
/// <summary> /// Obtiene la lista de tipos de documento soportados por el servicio Aspen. /// </summary> /// <returns>Lista de tipos de documento soportados.</returns> public IList <DocType> GetDocTypes() { IRestRequest request = new AspenRequest(this, Routes.Resources.DocTypes, Method.GET); return(this.Execute <List <DocType> >(request)); }
/// <summary> /// Obtiene la información resumida de las cuentas asociadas al usuario actual. /// </summary> /// <returns> /// Lista de tipo <see cref="IAccountInfo" /> con la información de las cuentas del usuario actual. /// </returns> public IList <AccountExtendedInfo> GetAccounts() { IRestRequest request = new AspenRequest(Scope.Delegated, EndpointMapping.AccountsFromCurrentUser); return(this.Execute <List <AccountExtendedInfo> >(request)); }
/// <summary> /// Desvincula la información de una cuenta a las cuentas habilitadas para transferencias. /// </summary> /// <param name="alias">Nombre o alias con el que se vinculó la cuenta.</param> public void UnlinkTransferAccount(string alias) { IRestRequest request = new AspenRequest(this, $"/transfers/accounts/{alias}", Method.DELETE); this.Execute(request); }