Пример #1
0
        /// <summary>
        /// Atualizar conta bancária - update bank account
        /// </summary>
        /// <param name="body"></param>
        /// <param name="accesstoken">accesstoken da conta que receberá a conta bancária</param>
        /// <param name="bankaccount_id">Identificador da conta bancária (BKA-XXXXXXXXX).</param>
        /// <returns></returns>
        public async Task <BankAccountResponse> Update(BankAccountRequest body, string accesstoken, string bankaccount_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.PutAsync($"v2/bankaccounts/{bankaccount_id}", 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 <BankAccountResponse>(await response.Content.ReadAsStringAsync()));
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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());
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
        /// <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);
        }
Пример #7
0
        /// <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);
        }
Пример #8
0
        /// <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);
        }
Пример #9
0
        /// <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);
        }
Пример #10
0
        /// <summary>
        /// Obter os erros como texto - Get errors as text
        /// </summary>
        /// <param name="we">WirecardException</param>
        /// <returns></returns>
        public static string GetExceptionText(this WirecardException we)
        {
            var sb = new StringBuilder();

            if (we != null)
            {
                if (we.wirecardError == null || !we.wirecardError.errors.Any())
                {
                    return(sb.ToString());
                }

                foreach (var error in we.wirecardError.errors)
                {
                    sb.AppendLine($"{error.description} ({error.code})");
                }
            }
            return(sb.ToString());
        }
 /// <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;
     }
 }
Пример #12
0
        /// <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;
     }
 }
Пример #14
0
        /// <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>
        /// 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;
            }
        }
Пример #16
0
        /// <summary>
        /// Listar Extrato Futuro - List Future Extract
        /// </summary>
        /// <param name="type">Tipo do extrato.</param>
        /// <param name="date">Data para visualizar os detalhes no formato YYYY-MM-DD.</param>
        /// <returns></returns>
        public async Task <ExtractResponse> DetailFuture(string type, string date)
        {
            HttpResponseMessage response = await Http_Client.HttpClient.GetAsync($"v2/futurestatements/details?type={type}&date={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 <ExtractResponse>(await response.Content.ReadAsStringAsync()));
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
Пример #17
0
        /// <summary>
        /// Listar Extrato - List Extract
        /// </summary>
        /// <param name="begin">Data de início de exibição no formato YYYY-MM-DD.</param>
        /// <param name="end">Data de fim de exibição no formato YYYY-MM-DD.</param>
        /// <returns></returns>
        public async Task <ExtractResponse> List(string begin, string end)
        {
            HttpResponseMessage response = await Http_Client.HttpClient.GetAsync($"v2/statements?begin={begin}&end={end}");

            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 <ExtractResponse>(await response.Content.ReadAsStringAsync()));
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Listar Reembolsos do Pedido - List Order Reimbursements
        /// </summary>
        /// <param name="orders_id">Id do pedido em formato de hash. string(16).</param>
        /// <returns></returns>
        public async Task <List <RefundResponse> > ListOrders(string orders_id)
        {
            HttpResponseMessage response = await ClientInstance.GetAsync($"v2/orders/{orders_id}/refunds");

            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 <RefundResponse> >(await response.Content.ReadAsStringAsync()));
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
Пример #19
0
        /// <summary>
        /// Listar Faturas de Assinatura - List Signature Invoices
        /// </summary>
        /// <param name="code"> Código do Assinante </param>
        /// <returns></returns>
        public async Task <InvoicesResponse> ListSignatureInvoices(string code)
        {
            HttpResponseMessage response = await ClientInstance.GetAsync($"assinaturas/v1/subscriptions/{code}/invoices");

            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 <InvoicesResponse>(await response.Content.ReadAsStringAsync()));
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
Пример #20
0
        /// <summary>
        /// Consultar pagamento de assinatura - Consult subscription payment
        /// </summary>
        /// <param name="id"> Id do pagamento </param>
        /// <returns></returns>
        public async Task <PaymentsResponse> ConsultSubscriptionPayment(string id)
        {
            HttpResponseMessage response = await Http_Client.HttpClient.GetAsync($"assinaturas/v1/payments/{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 <PaymentsResponse>(await response.Content.ReadAsStringAsync()));
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
Пример #21
0
        /// <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>
        /// 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;
            }
        }
Пример #23
0
        /// <summary>
        /// Cancelar Pagamento Pré-autorizado - Cancelar Pagamento Pré-autorizado
        /// </summary>
        /// <param name="payment_id">Código identificador do pagamento pré-autorizado a ser cancelado. Exemplo: Exemplo: PAY-U1G2WVBEP19V</param>
        /// <returns></returns>
        public async Task <PaymentResponse> CancelAuthorized(string payment_id)
        {
            HttpResponseMessage response = await Http_Client.HttpClient.PostAsync($"v2/payments/{payment_id}/void", 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 <PaymentResponse>(await response.Content.ReadAsStringAsync()));
            }
            catch (System.Exception ex)
            {
                throw new ArgumentException("Error message: " + ex.Message);
            }
        }
Пример #24
0
        /// <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>
        /// 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);
            }
        }
Пример #26
0
        /// <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;
            }
        }
Пример #27
0
        /// <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;
            }
        }
Пример #28
0
        /// <summary>
        /// Criar novo boleto de fatura - Create New Invoice Boleto
        /// </summary>
        /// <param name="body"></param>
        /// <param name="id">ID da fatura</param>
        /// <returns></returns>
        public async Task <RetentativeResponse> CreateNewInvoiceBoleto(RetentativeRequest body, string id)
        {
            StringContent       stringContent = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json");
            HttpResponseMessage response      = await Http_Client.HttpClient.PostAsync($"assinaturas/v1/invoices/{id}/boletos", 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 <RetentativeResponse>(await response.Content.ReadAsStringAsync()));
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Cria a conta clássica - Create the classic account
        /// </summary>
        /// <param name="body"></param>
        /// <returns></returns>
        public async Task <ClassAccountResponse> Create(ClassicAccountRequest body)
        {
            StringContent       stringContent = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json");
            HttpResponseMessage response      = await Http_Client.HttpClient.PostAsync("v2/accounts", 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 <ClassAccountResponse>(await response.Content.ReadAsStringAsync()));
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
Пример #30
0
        /// <summary>
        /// Reembolsar Pedido via Cartão de Crédito - Refund Request by Credit Card
        /// </summary>
        /// <param name="body"></param>
        /// <param name="order_id">Código identificador do pedido a ser reembolsado. Exemplo: ORD-O5DLMAJZPTHV</param>
        /// <returns></returns>
        public async Task <RefundResponse> RefundRequestCreditCard(RefundRequest body, string order_id)
        {
            StringContent       stringContent = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json");
            HttpResponseMessage response      = await Http_Client.HttpClient.PostAsync($"v2/orders/{order_id}/refunds", 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 <RefundResponse>(await response.Content.ReadAsStringAsync()));
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }