/// <summary>
        /// Validate account holder
        /// </summary>
        /// <param name="accountHolderIdType"></param>
        /// <param name="accountHolderId"></param>
        /// <returns></returns>
        public async Task <ClientResponse> AccountHolder(string accountHolderIdType, string accountHolderId)
        {
            var token = await GetToken();

            var accountHolderRequest = new AccountHolderRequest
            {
                SubscriptionKey     = remittanceConfig.SubscriptionKey,
                AccountHolderId     = accountHolderId,
                AccountHolderIdType = accountHolderIdType,
                RequestUri          = RemittanceRequestUri.AccountHolder,
                Token = token?.AccessToken
            };

            return(await accountHolderClient.AccountHolder(accountHolderRequest));
        }
示例#2
0
        /// <summary>
        /// Validate account holder for a Product
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ClientResponse> AccountHolder(AccountHolderRequest request)
        {
            if (string.IsNullOrEmpty(request.Token))
            {
                return(new ClientResponse {
                    Status = Status.Failed.ToString(), StatusCode = HttpStatusCode.Unauthorized
                });
            }

            var headers = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>(Constants.SubKeyHeader, request.SubscriptionKey),
                new KeyValuePair <string, string>(Constants.AuthHeader, $"Bearer {request.Token}"),
            };

            var response = await baseClient.GetAsync($"{request.RequestUri}/{request.AccountHolderIdType}/{request.AccountHolderId}/active", Constants.MtnClient, headers);

            response.Status = response.StatusCode == HttpStatusCode.OK ? Status.Successful.ToString() : Status.Failed.ToString();

            return(response);
        }