/// <summary> /// Consultar Saldos - Consult Balances /// </summary> /// <param name="accesstoken">AccessToken</param> /// <returns></returns> public async Task <List <BalanceResponse> > Consult(string accesstoken) { HttpClient httpClient = Http_Client.HttpClient; httpClient.DefaultRequestHeaders.Remove("Authorization"); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + accesstoken); HttpResponseMessage response = await Http_Client.HttpClient.GetAsync("v2/balances"); httpClient.DefaultRequestHeaders.Remove("Authorization"); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + Http_Client.Accesstoken); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <List <BalanceResponse> >(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Consultar conta bancária - consult bank account /// </summary> /// <param name="accesstoken">accesstoken da conta que receberá a conta bancária</param> /// <param name="bank_account_id">Identificador da conta bancária.</param> /// <returns></returns> public async Task <BankAccountResponse> Consult(string accesstoken, string bank_account_id) { HttpClient httpClient = ClientInstance; httpClient.DefaultRequestHeaders.Remove("Authorization"); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + accesstoken); HttpResponseMessage response = await httpClient.GetAsync($"v2/bankaccounts/{bank_account_id}"); httpClient.DefaultRequestHeaders.Remove("Authorization"); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + _HttpClient.accesstoken); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <BankAccountResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Criar Preferência de Notificação para App - Create Notification Preference for App /// </summary> /// <param name="body"></param> /// <param name="app_id">Código identificador do App. Exemplo: APP-3984HG73HE92</param> /// <returns></returns> public async Task <NotificationResponse> CreateApp(NotificationRequest body, string app_id) { Regex regex = new Regex(@"^APP-[a-zA-Z0-9]{12}$"); Match match = regex.Match(app_id); if (!match.Success) { throw new ArgumentException("app_id invalid"); } StringContent stringContent = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json"); HttpResponseMessage response = await ClientInstance.PostAsync($"v2/preferences/{app_id}/notifications", stringContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <NotificationResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Reverter Transferência - Revert Transfer /// </summary> /// <param name="transfer_id">Código identificador da transferência. Exemplo: TRA-28HRLYNLMUFH</param> /// <param name="accesstoken">accesstoken da conta Wirecard a qual foi destinatária da transferência</param> /// <returns></returns> public async Task <TransferResponse> Revert(string transfer_id, string accesstoken) { HttpClient httpClient = Http_Client.HttpClient; httpClient.DefaultRequestHeaders.Remove("Authorization"); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + accesstoken); StringContent stringContent = new StringContent(string.Empty, Encoding.UTF8, "application/json"); HttpResponseMessage response = await httpClient.PostAsync($"v2/transfers/{transfer_id}/reverse", stringContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <TransferResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Alterar Assinante - Change Subscriber /// </summary> /// <param name="body"></param> /// <param name="code"> Código do Assinante </param> /// <returns></returns> public async Task <HttpStatusCode> ChangeSubscriber(SubscriberRequest body, string code) { string json; try { json = JsonConvert.SerializeObject(body); JObject jObject = JObject.Parse(json); jObject["address"]["streetNumber"].Rename("number"); jObject["address"]["zipCode"].Rename("zipcode"); json = jObject.ToString(); } catch (System.Exception ex) { throw ex; } StringContent stringContent = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage response = await Http_Client.HttpClient.PutAsync($"assinaturas/v1/customers/{code}", stringContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } return(response.StatusCode); }
/// <summary> /// Atualizar Cartão do Assinante - Update Subscriber Card /// </summary> /// <param name="body"></param> /// <param name="code"> Código do Assinante </param> /// <returns></returns> public async Task <SubscriberResponse> UpdateSubscriberCard(SubscriberRequest body, string code) { string json; try { json = JsonConvert.SerializeObject(body); JObject jObject = JObject.Parse(json); json = jObject["billing_info"].ToString(); } catch (System.Exception ex) { throw ex; } StringContent stringContent = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage response = await Http_Client.HttpClient.PutAsync($"assinaturas/v1/customers/{code}/billing_infos", stringContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <SubscriberResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Consultar Assinante - Consult Subscriber /// </summary> /// <param name="code"> Código do Assinante </param> /// <returns></returns> public async Task <SubscriberResponse> ConsultSubscriber(string code) { HttpResponseMessage response = await Http_Client.HttpClient.GetAsync($"assinaturas/v1/customers/{code}"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { string json = await response.Content.ReadAsStringAsync(); JObject jObject = JObject.Parse(json); jObject["address"]["number"].Rename("streetNumber"); jObject["address"]["zipcode"].Rename("ZipCode"); json = jObject.ToString(); return(JsonConvert.DeserializeObject <SubscriberResponse>(json)); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Listar Todos os Clientes - List All Customers /// </summary> /// <returns></returns> public async Task <List <CustomerResponse> > List() { HttpResponseMessage response = await ClientInstance.GetAsync($"v2/customers/"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { string json = await response.Content.ReadAsStringAsync(); //remove: {'customers': json = json.Remove(0, 13); //remove: } json = json.Remove(json.Length - 1); return(JsonConvert.DeserializeObject <List <CustomerResponse> >(json)); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Gera Access Token - Generate Access Token /// </summary> /// <param name="client_id">Código identificador do aplicativo que está realizando a solicitação. Exemplo: APP-M11STAPPOAU</param> /// <param name="client_secret">Chave privada do aplicativo. O atributo secret que foi enviado na criação do seu aplicativo</param> /// <param name="redirect_uri">URL de redirecionamento do cliente (deve ser a mesma utilizada na ação de solicitação de permissão).</param> /// <param name="grant_type">Tipo de solicitação desejada. Valores possíveis: authorization_code</param> /// <param name="code">Código de validação para recuperar o token de acesso. Esse é o code retornado para a URL cadastrada quando o usuário dá autorização de permissão.</param> /// <returns></returns> public async Task <AccessTokenResponse> GenerateAccessToken(string client_id, string client_secret, string redirect_uri, string grant_type, string code) { Dictionary <string, string> @params = new Dictionary <string, string> { { "client_id", client_id }, { "client_secret", client_secret }, { "redirect_uri", redirect_uri }, { "grant_type", grant_type }, { "code", code }, }; FormUrlEncodedContent encodedContent = new FormUrlEncodedContent(@params); HttpClient httpClient = Http_Client.HttpClient_Connect; HttpResponseMessage response = await httpClient.PostAsync($"oauth/token", encodedContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <AccessTokenResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw new ArgumentException("Error message: " + ex.Message); } }
/// <summary> /// Criar conta bancária - create bank account /// </summary> /// <param name="body"></param> /// <param name="accesstoken">accesstoken da conta que receberá a conta bancária</param> /// <param name="account_id">Código identificador da conta Wirecard. Exemplo: MPA-3C5358FF2296</param> /// <returns></returns> public async Task <BankAccountResponse> Create(BankAccountRequest body, string accesstoken, string account_id) { HttpClient httpClient = Http_Client.HttpClient; httpClient.DefaultRequestHeaders.Remove("Authorization"); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + accesstoken); StringContent stringContent = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json"); HttpResponseMessage response = await httpClient.PostAsync($"v2/accounts/{account_id}/bankaccounts", stringContent); httpClient.DefaultRequestHeaders.Remove("Authorization"); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + Http_Client.Accesstoken); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <BankAccountResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Atualiza access token - Update accessToken /// </summary> /// <param name="grant_type">Tipo de solicitação desejada. Valores possíveis: refresh_token</param> /// <param name="refresh_token">Token para atualizar o token de autenticação</param> /// <returns></returns> public async Task <AccessTokenResponse> UpdateAccessToken(string grant_type, string refresh_token) { Dictionary <string, string> @params = new Dictionary <string, string> { { "grant_type", grant_type }, { "refresh_token", refresh_token } }; FormUrlEncodedContent encodedContent = new FormUrlEncodedContent(@params); HttpClient httpClient = ConnectClientInstance; HttpResponseMessage response = await httpClient.PostAsync($"oauth/token", encodedContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <AccessTokenResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Simular pagamentos - Simulate Payments /// </summary> /// <param name="payment_id">Código identificador do pagamento que deseja autorizar. Exemplo: PAY-0UBH5IAJ8KHX</param> /// <param name="valor">Valor a ser autorizado no pagamento. O formato deve incluir centavos e não deve incluir vírgula. Exemplo: Para autorizar pagamento no valor de R$265 você deve setar o valor 26500</param> /// <returns></returns> public async Task <HttpStatusCode> Simulate(string payment_id, int valor) { HttpResponseMessage response = await Http_Client.HttpClient.GetAsync($"simulador/authorize?payment_id={payment_id}&amount={valor}"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } return(response.StatusCode); }
/// <summary> /// Remover Preferência de Notificação - Remove Notification Preference /// </summary> /// <param name="notification_id">Código identificador da preferência (NPR-98G940NT23JO)</param> /// <returns></returns> public async Task <HttpStatusCode> Remove(string notification_id) { HttpResponseMessage response = await ClientInstance.DeleteAsync($"v2/preferences/notifications/{notification_id}"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } return(response.StatusCode); }
/// <summary> /// Obter Arquivo Financeiro - Get Financial File /// </summary> /// <param name="eventsCreatedAt">Data referente à liquidação dos lançamentos financeiros. Formato: YYYY-MM-DD</param> /// <returns></returns> public async Task <string> GetFinancialFile(string eventsCreatedAt) { HttpResponseMessage response = await Http_Client.HttpClient.GetAsync($"v2/reconciliations/financials?eventsCreatedAt={eventsCreatedAt}"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } return(await response.Content.ReadAsStringAsync()); }
/// <summary> /// Alterar método de pagamento - Change Payment Method /// </summary> /// <param name="body"></param> /// <param name="code"> Código do Assinante </param> /// <returns></returns> public async Task <HttpStatusCode> ChangePaymentMethod(SubscriptionRequest body, string code) { StringContent stringContent = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json"); HttpResponseMessage response = await Http_Client.HttpClient.PutAsync($"assinaturas/v1/subscriptions/{code}/change_payment_method", stringContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } return(response.StatusCode); }
/// <summary> /// Retentativa pagamento de fatura - Retentive invoice payment /// </summary> /// <param name="id">ID da fatura</param> /// <returns></returns> public async Task <HttpStatusCode> RetentiveInvoicePayment(string id) { StringContent stringContent = new StringContent(null, Encoding.UTF8, "application/json"); HttpResponseMessage response = await Http_Client.HttpClient.PostAsync($"assinaturas/v1/invoices/{id}/retry", stringContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } return(response.StatusCode); }
/// <summary> /// Criar Preferência de Notificação - Create Notification Preference /// </summary> /// <param name="body"></param> /// <returns></returns> public async Task <HttpStatusCode> CreateNotificationPreference(NotificationRequest body) { StringContent stringContent = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json"); HttpResponseMessage response = await Http_Client.HttpClient.PostAsync("assinaturas/v1/users/preferences", stringContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } return(response.StatusCode); }
/// <summary> /// Ativar Plano - Enable Plan /// </summary> /// <param name="code"> Código do plano </param> /// <returns></returns> public async Task <HttpStatusCode> EnablePlan(string code) { StringContent stringContent = new StringContent(JsonConvert.SerializeObject(null), Encoding.UTF8, "application/json"); HttpResponseMessage response = await Http_Client.HttpClient.PutAsync($"assinaturas/v1/plans/{code}/activate", stringContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } return(response.StatusCode); }
/// <summary> /// Deletar conta bancária - delete bank account /// </summary> /// <param name="accesstoken">accesstoken da conta que receberá a conta bancária</param> /// <param name="bankaccount_id">Identificador da conta bancária(BKA-XXXXXXXXXX)</param> /// <returns></returns> public async Task <HttpStatusCode> Delete(string accesstoken, string bankaccount_id) { HttpClient httpClient = Http_Client.HttpClient; httpClient.DefaultRequestHeaders.Remove("Authorization"); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + accesstoken); HttpResponseMessage response = await httpClient.DeleteAsync($"v2/bankaccounts/{bankaccount_id}"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } return(response.StatusCode); }
/// <summary> /// Capturar Multi Pagamento Pré-Autorizado - Capture Multi-Payment Pre-authorized /// </summary> /// <param name="multipayment_id">Id identificador do multipagamento.</param> /// <returns></returns> public async Task<MultiPaymentResponse> CaptureAuthorized(string multipayment_id) { HttpResponseMessage response = await ClientInstance.PostAsync($"v2/multipayments/{multipayment_id}/capture", null); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return JsonConvert.DeserializeObject<MultiPaymentResponse>(await response.Content.ReadAsStringAsync()); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Associar Cupom para Nova Assinatura - Associate Coupon For New Signature /// </summary> /// <param name="body"></param> /// <param name="true_or_false">Caso queira criar um novo Assinante o valor desse ser "true", caso contrário "false".</param> /// <returns></returns> public async Task <CouponResponse> AssociateCouponForNewSignature(CouponRequest body, string true_or_false) { string json; try { json = JsonConvert.SerializeObject(body); JObject jObject = JObject.Parse(json); if (jObject["customer"]["address"] != null) { if (jObject["customer"]["address"]["streetNumber"] != null) { jObject["customer"]["address"]["streetNumber"].Rename("number"); } if (jObject["customer"]["address"]["zipCode"] != null) { jObject["customer"]["address"]["zipCode"].Rename("zipcode"); } } json = jObject.ToString(); } catch (System.Exception ex) { throw ex; } StringContent stringContent = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json"); HttpResponseMessage response = await Http_Client.HttpClient.PostAsync($"assinaturas/v1/subscriptions?new_customer={true_or_false}", stringContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <CouponResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Criar Multi Pagamento - Create multi payment /// </summary> /// <param name="body"></param> /// <param name="multiorder_id">Código identificador do multipedido. Exemplo: MOR-XXXXXXXX</param> /// <returns></returns> public async Task<MultiPaymentResponse> Create(MultiPaymentRequest body, string multiorder_id) { StringContent stringContent = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json"); HttpResponseMessage response = await ClientInstance.PostAsync($"v2/multiorders/{multiorder_id}/multipayments", stringContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return JsonConvert.DeserializeObject<MultiPaymentResponse>(await response.Content.ReadAsStringAsync()); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Obter Arquivo de Vendas - Get Sales File /// </summary> /// <param name="date">Data no formato YYYYMMDD</param> /// <returns></returns> public async Task <SalesFileResponse> GetSalesFile(string date) { HttpResponseMessage response = await Http_Client.HttpClient.GetAsync($"v2/reconciliations/sales/{date}"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <SalesFileResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Consultar Multi pedido - Consult Multi order /// </summary> /// <param name="multiorder_id">Id identificador do multipagamento. Exemplo: MOR-9241K3EFW5DV</param> /// <returns></returns> public async Task <MultiOrderResponse> Consult(string multiorder_id) { HttpResponseMessage response = await Http_Client.HttpClient.GetAsync($"v2/multiorders/{multiorder_id}"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <MultiOrderResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Listar Todos os Webhooks Enviados - List All Sent Webhooks /// </summary> /// <returns></returns> public async Task <WebhooksResponse> ListWebhooks() { HttpResponseMessage response = await ClientInstance.GetAsync("v2/webhooks"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <WebhooksResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Liberação de Custódia - Release of Custody /// </summary> /// <param name="escrow_id">Código identificador da custódia. Exemplo: ECW-87E7UUF9N2EK</param> /// <returns></returns> public async Task <MultiPaymentResponse> ReleaseCustody(string escrow_id) { HttpResponseMessage response = await Http_Client.HttpClient.PostAsync($"v2/escrows/{escrow_id}/release", null); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <MultiPaymentResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Listar Todas Transferências com filtro - List All Transfers with filter /// </summary> /// <returns></returns> public async Task <TransfersResponse> ListFilter(string filter) { HttpResponseMessage response = await Http_Client.HttpClient.GetAsync($"v2/transfers?{filter}"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <TransfersResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Obtem a chave pública - Get public key /// </summary> /// <returns></returns> public async Task <PublicKeyAccountWirecardResponse> GetPublickey() { HttpResponseMessage response = await ClientInstance.GetAsync("v2/keys"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <PublicKeyAccountWirecardResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw new ArgumentException("Error message: " + ex.Message); } }
/// <summary> /// Consulta a conta clássica - Consult Classic Account /// </summary> /// <param name="account_id">ID da Conta Wirecard. Exemplo: MPA-3C5358FF2296</param> /// <returns></returns> public async Task <ClassAccountResponse> Consult(string account_id) { HttpResponseMessage response = await ClientInstance.GetAsync($"v2/accounts/{account_id}"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <ClassAccountResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Listar Todas as Preferências de Notificação - List All Notification Preferences /// </summary> /// <returns></returns> public async Task <List <NotificationResponse> > List() { HttpResponseMessage response = await Http_Client.HttpClient.GetAsync("v2/preferences/notifications"); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); WirecardException.WirecardError wirecardException = WirecardException.DeserializeObject(content); throw new WirecardException(wirecardException, "HTTP Response Not Success", content, (int)response.StatusCode); } try { return(JsonConvert.DeserializeObject <List <NotificationResponse> >(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }