/// <summary> /// Create recipient with first name, last name, and email. /// </summary> /// <param name="recipientCreateRequest"> /// request object that contains the parameters for using the api method of Interchecks Api Create Recipients /// </param> /// <returns> /// response object Recipient Created /// </returns> public async Task <RecipientDTO> CreateRecipient(RecipientCreateRequest recipientCreateRequest) { if (recipientCreateRequest == null) { throw new ArgumentNullException(nameof(recipientCreateRequest)); } else { var urlRequest = $"{_interchecksApiSettings.Value.ApiRecipientsCreateCall}/{_interchecksApiSettings.Value.PayerId}"; HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(recipientCreateRequest).ToString(), Encoding.UTF8, "application/json"); var response = await _httpClient.PostAsync(urlRequest, httpContent); if (response.IsSuccessStatusCode) { RecipientDTO recipientDTO = JsonConvert.DeserializeObject <RecipientDTO>(response.Content.ReadAsStringAsync().Result); return(recipientDTO); } else { string respError = response.Content.ReadAsStringAsync().Result; InterchecksApiError apiError = JsonConvert.DeserializeObject <InterchecksApiError>(respError); _logger.LogError($"Interchecks Api Error, Error Code:{apiError.ErrorCode}:{apiError.ErrorMessage}"); return((RecipientDTO)IntercheckApiErrorHandler.Handle(apiError)); } } }
public async Task <AccountCardDTO> CreateAccount(AccountCardCreateRequest accountCardCreateRequest) { if (accountCardCreateRequest == null) { throw new ArgumentNullException(nameof(accountCardCreateRequest)); } else { var urlRequest = $"{_interchecksApiSettings.Value.ApiAccountsCreateCall.Replace("{{PayerId}}", _interchecksApiSettings.Value.PayerId).Replace("{{RecipientId}}", accountCardCreateRequest.RecipientID)}"; var accountCardCreateInterchecksRequest = _mapper.Map <AccountCardCreateInterchecksRequest>(accountCardCreateRequest); HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(accountCardCreateInterchecksRequest).ToString(), Encoding.UTF8, "application/json"); var response = await _httpClient.PostAsync(urlRequest, httpContent); var responseResult = response.Content.ReadAsStringAsync().Result; if (!response.IsSuccessStatusCode || responseResult.Contains("error")) { string respError = response.Content.ReadAsStringAsync().Result; InterchecksApiError apiError = JsonConvert.DeserializeObject <InterchecksApiError>(respError); _logger.LogError($"Interchecks Api Error, Error Code:{apiError.ErrorCode}:{apiError.ErrorMessage}"); return((AccountCardDTO)IntercheckApiErrorHandler.Handle(apiError)); } else { AccountCardDTO accountCardDTO = JsonConvert.DeserializeObject <AccountCardDTO>(response.Content.ReadAsStringAsync().Result); return(accountCardDTO); } } }
/// <summary> /// Get recipient using the recipient ID. /// </summary> /// <param name="recipient_id"> /// Recipient id /// </param> /// <returns> /// response object Recipient /// </returns> public async Task <RecipientDTO> GetRecipientById(string recipientId) { if (String.IsNullOrEmpty(recipientId)) { return(null); } else { var urlRequest = $"{_interchecksApiSettings.Value.ApiRecipientsGetCall.Replace("{{PayerId}}", _interchecksApiSettings.Value.PayerId).Replace("{{RecipientId}}", recipientId)}"; var response = await _httpClient.GetAsync(urlRequest); if (response.IsSuccessStatusCode) { RecipientDTO recipientDTO = JsonConvert.DeserializeObject <RecipientDTO>(response.Content.ReadAsStringAsync().Result); return(recipientDTO); } else { string respError = response.Content.ReadAsStringAsync().Result; InterchecksApiError apiError = JsonConvert.DeserializeObject <InterchecksApiError>(respError); _logger.LogError($"Interchecks Api Error, Error Code:{apiError.ErrorCode}:{apiError.ErrorMessage}"); return((RecipientDTO)IntercheckApiErrorHandler.Handle(apiError)); } } }