{"id":25909520,"url":"https://github.com/uzbekdev1/wirecardcsharp","last_synced_at":"2025-07-10T17:04:04.999Z","repository":{"id":76753497,"uuid":"158786180","full_name":"uzbekdev1/WirecardCSharp","owner":"uzbekdev1","description":"🔥 🚾 - API do Wirecard para .NET - SDK","archived":false,"fork":false,"pushed_at":"2018-11-22T16:59:00.000Z","size":9707,"stargazers_count":0,"open_issues_count":0,"forks_count":9,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T00:41:14.623Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://dev.wirecard.com.br/","language":"C#","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uzbekdev1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-11-23T05:46:54.000Z","updated_at":"2021-06-23T20:51:59.000Z","dependencies_parsed_at":"2023-03-02T03:16:10.301Z","dependency_job_id":null,"html_url":"https://github.com/uzbekdev1/WirecardCSharp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uzbekdev1/WirecardCSharp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzbekdev1%2FWirecardCSharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzbekdev1%2FWirecardCSharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzbekdev1%2FWirecardCSharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzbekdev1%2FWirecardCSharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uzbekdev1","download_url":"https://codeload.github.com/uzbekdev1/WirecardCSharp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzbekdev1%2FWirecardCSharp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264613535,"owners_count":23637389,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-03T08:17:45.160Z","updated_at":"2025-07-10T17:04:04.990Z","avatar_url":"https://github.com/uzbekdev1.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://dev.wirecard.com.br/v2.0/\"\u003e\n    \u003cimg src=\"https://res.cloudinary.com/https-github-com-matmiranda-moipcsharp/image/upload/v1540216474/Wirecard%20png.png\" alt=\"Wirecard logo\" width=200\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    O jeito mais simples e rápido de integrar o Wirecard a sua aplicação .NET e feito com base nas APIs REST do Wirecard.\n  \u003cbr\u003e\n  \u003cbr\u003e\n    \u003ca href=\"https://dev.wirecard.com.br/v2.0/docs\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Docs-Wirecard-lightgrey.svg\"\n            alt=\"Docs\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://dev.wirecard.com.br/v2.0/reference\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/API%20Reference-Wirecard-darkblue.svg\"\n            alt=\"API Reference\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://slackin-cqtchmfquq.now.sh/\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Slack-Wirecard%20Devs-black.svg\"\n            alt=\"Slack\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/matmiranda/WirecardCSharp/blob/master/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/License-MIT-brightgreen.svg\"\n            alt=\"MIT\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.nuget.org/packages/WirecardCSharp\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Nuget-v2.0.1-blue.svg\"\n            alt=\"NuGet\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Índice\n- [Implementações .NET com suporte](#implementações-net-com-suporte)\n- [Aviso Importante](#aviso-importante)\n- [Instalação](#instalação)\n- [Autenticando e configurando o ambiente (E-Commerce)](#autenticando-e-configurando-o-ambiente-e-commerce)\n- [Autenticando e configurando o ambiente (Marketplace)](#autenticando-e-configurando-o-ambiente-marketplace)\n- [Assíncrona x Síncrona](#assíncrona-x-síncrona)\n- [Conta Clássica](#conta-clássica)\n- [Conta Transparente](#conta-transparente)\n- [Clientes](#clientes)\n- [Pedidos](#pedidos)\n- [Pagamentos](#pagamentos)\n- [Multipedidos](#multipedidos)\n- [Multipagamentos](#multipagamentos)\n- [Notificações](#notificações)\n- [Contas Bancárias](#contas-bancárias)\n- [Saldo Wirecard](#saldo-wirecard)\n- [Lançamentos](#lançamentos)\n- [Transferências](#transferências)\n- [Reembolsos](#reembolsos)\n- [Conciliação](#conciliação)\n- [Convertendo objeto para json](#convertendo-objeto-para-json)\n- [Tabela - Filtros de busca](#tabela---filtros-de-busca)\n- [Exceção](#exceção)\n- [Licença](#licença)\n\n## Implementações .NET com suporte\nEssa biblioteca foi feito em .NET Standard 1.2 e tem suporte das seguintes implementações do .NET:\n\n* .NET Core 1.0\n* .NET Framework 4.5.1\n* Mono 4.6\n* Xamarin.iOS 10.0\n* Xamarin.Android 7.0\n* Universal Windows Platform 10\n* Windows 8.1\n* Windows Phone 8.1\n\nPara mais informações: [.NET Standard](https://docs.microsoft.com/pt-br/dotnet/standard/net-standard).\n\n## Aviso Importante\nPensando em melhorar ainda mais a sua segurança e para atender a padrões internacionais do nosso selo PCI Compliance, o Wirecard desativará protocolos de segurança TLS (Transport Layer Security) inferiores a 1.2 à partir do dia 30/06/2018. Verifique se o seu projeto já possui TLS na versão 1.2, caso não, você receberá uma exceção:\n\n```diff\n- InnerException = {\"A solicitação foi anulada: Não foi possível criar um canal seguro para SSL/TLS.\"}\n```\nPara isso, adicione o seguinte código no seu projeto:\n\n```C#\nSystem.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;\n```\nPara mais informações : [TLS1.2](https://dev.wirecard.com.br/page/atualiza%C3%A7%C3%A3o-do-protocolo-de-seguran%C3%A7a-tls-12).\n\n## Instalação\nExecute o comando para instalar via [NuGet](https://www.nuget.org/packages/WirecardCSharp/):\n\n\n```xml\nPM\u003e Install-Package WirecardCSharp\n```\n\n💥 **Obs**: Trocamos a biblioteca [MoipCSharp](https://www.nuget.org/packages/MoipCSharp/) por [WirecardCSharp](https://www.nuget.org/packages/WirecardCSharp/).\n\n## Autenticando e configurando o ambiente (E-Commerce)\nEscolha o \"ambiente\" você quer executar suas ações e informe seu (token, chave):\n\n```C#\nusing WirecardCSharp;\nusing WirecardCSharp.Models;\n\nprivate const string token = \"xxxxxxxxxxxxxxxxxxx\";\nprivate const string key = \"xxxxxxxxxxxxxxxxxxxxxxxxxx\";\nprivate WirecardClient WirecardClient = new WirecardClient(Environments.SANDBOX, token, key);\n```\nPara obter um token e a chave, primeiro faça o login [aqui](https://connect-sandbox.wirecard.com.br/login).\n\nVocê pode acessá-las em **Minha conta** \u003e **Configurações** \u003e **Chaves de Acesso**.\n\n## Autenticando e configurando o ambiente (Marketplace)\nEscolha o \"ambiente\" você quer executar suas ações e informe seu accesstoken: \n```C#\nusing WirecardCSharp;\nusing WirecardCSharp.Models;\n\nprivate const string accessToken = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx_v2\";\nprivate WirecardClient WirecardClient = new WirecardClient(Environments.SANDBOX, accessToken);\n```\n\nPara obter o accesstoken, você precisa criar um [App](https://dev.wirecard.com.br/reference#1-criar-um-app).\n\n## Assíncrona x Síncrona\nTodos os métodos são **assíncronos**, caso você queira executar de forma **síncrona**, veja o exemplo:\n\n```C#\nvar result = Task.Run(() =\u003e WirecardClient.Customer.List()).Result;\n```\n\n## Conta Clássica\n#### Verificar se usuário já possui Conta Wirecard (email)\n🚩 Essa função funciona somente na conta clássica.\n```C#\nvar result = await WirecardClient.ClassicAccount.AccountExist(\"meu_email@email.com\");\nif (result == HttpStatusCode.OK)\n{\n    // já existe\n    //HttpStatusCode.OK == 200 (já existe)\n    //HttpStatusCode.BadRequest == 400 (CPF inválido)\n    //HttpStatusCode.NotFound == 404 (Para CPF válido, mas não possui Conta Wirecard)\n}\n```\n\n#### Verificar se usuário já possui Conta Wirecard (documento)\n🚩 Essa função funciona somente na conta clássica.\n```C#\nvar result = await WirecardClient.ClassicAccount.AccountExist(\"123.456.789-01\");\nif (result == HttpStatusCode.OK)\n{\n    // já existe\n    //HttpStatusCode.OK == 200 (já existe)\n    //HttpStatusCode.BadRequest == 400 (CPF inválido)\n    //HttpStatusCode.NotFound == 404 (Para CPF válido, mas não possui Conta Wirecard)\n}\n```\n\n#### Criar Conta Wirecard Clássica\n```C#\nvar body = new ClassicAccountRequest\n{\n    //informe os campos aqui\n};\nvar result = await WirecardClient.ClassicAccount.Create(body);\n```\n\n#### Consultar Conta Wirecard\n```C#\nvar result = await WirecardClient.ClassicAccount.Consult(\"MPA-XXXXXXXXXXXX\");\n```\n\n#### Solicitar Permissões de Acesso ao Usuário\n\n🚩 O código a seguir não consome API, apenas monta o URL. Mais informações clica [aqui](https://dev.wirecard.com.br/reference#section-como-funciona-a-permiss%C3%A3o).\n\n```C#\nstring response_type = \"code\";\nstring client_id = \"APP-FFFGVQMOK123\";\nstring redirect_uri = \"https://example.com/abc?DEF=あいう\\x20えお\";\nstring scope = \"RECEIVE_FUNDS,MANAGE_ACCOUNT_INFO,DEFINE_PREFERENCES\";\nvar url = Utilities.RequestUserAccessPermissions(response_type, client_id, redirect_uri, scope);\n\n//https://connect-sandbox.moip.com.br/oauth/authorize?response_type=code\u0026client_id=APP-\n//FFFGVQMOK123\u0026redirect_uri=https://example.com/abc?DEF=%E3%81%82%E3%81%84%E3%81%86%20%\n//E3%81%88%E3%81%8A\u0026scope=RECEIVE_FUNDS,MANAGE_ACCOUNT_INFO,DEFINE_PREFERENCES\n```\n\nVeja [aqui](https://dev.wirecard.com.br/reference#section-como-funciona-a-permiss%C3%A3o) como funciona a permissão.\n\n#### Gerar Access Token\n```C#\nvar result = await WirecardClient.ClassicAccount.GenerateAccessToken(/*informe o valor de cada parâmetro*/);\n```\n\n#### Atualizar accessToken\n```C#\nvar result = await WirecardClient.ClassicAccount.UpdateAccessToken(/*informe o valor de cada parâmetro*/);\n```\n\n#### Obter chave pública de uma Conta Wirecard\n```C#\nvar result = await WirecardClient.ClassicAccount.GetPublickey();\n```\n\n## Conta Transparente\n#### Criar Conta Wirecard Transparente\n```C#\nvar body = new TransparentAccountRequest\n{\n    TransparentAccount = true,\n    Type = \"MERCHANT\",\n    Email = new Email\n    {\n        Address = \"teste@hotmail.com\"\n    },\n    Person = new Person\n    {\n        Name = \"PrimeiroNome\",\n        LastName = \"SegundoNome\",\n        TaxDocument = new Taxdocument\n        {\n            Type = \"CPF\",\n            Number = \"123.456.798-91\"\n        },\n        BirthDate = \"2011-01-01\",\n        Phone = new Phone\n        {\n            CountryCode = \"55\",\n            AreaCode = \"11\",\n            Number = \"965213244\"\n        },\n        Address = new Address\n        {\n            Street = \"Av. Brigadeiro Faria Lima\",\n            StreetNumber = \"2927\",\n            District = \"Itaim\",\n            ZipCode = \"01234000\",\n            City = \"Osasco\",\n            State = \"SP\",\n            Country = \"BRA\"\n        }\n    }\n};\nvar result = await WirecardClient.TransparentAccount.Create(body);\n```\n\n## Clientes\n#### Criar Cliente\n```C#\nvar body = new CustomerRequest\n{\n    //informe os campos aqui\n};\nvar result = await WirecardClient.Customer.Create(body);\n```\n\n#### Adicionar Cartão de Crédito\n```C#\nvar body = new CustomerRequest\n{\n    Method = \"CREDIT_CARD\",\n    CreditCard = new Creditcard\n    {\n        ExpirationMonth = \"06\",\n        ExpirationYear = \"2022\",\n        Number = \"4012001037141112\",\n        Cvc = \"123\",\n        Holder = new Holder\n        {\n            FullName = \"João da Silva\",\n            BirthDate = \"1961-03-01\",\n            TaxDocument = new Taxdocument\n            {\n                Type = \"CPF\",\n                Number = \"11111111111\"\n            },\n            Phone = new Phone\n            {\n                CountryCode = \"55\",\n                AreaCode = \"11\",\n                Number = \"111111111\"\n            }\n        }\n    }\n};\nvar result = await WirecardClient.Customer.AddCreditCard(body, \"CUS-XXXXXXXXXXXX\");\n```\n\n#### Deletar Cartão de Crédito\n```C#\nvar result = await WirecardClient.Customer.DeleteCreditCard(\"CRC-XXXXXXXXXXXX\");\n```\n\n#### Consultar Cliente\n```C#\nvar result = await WirecardClient.Customer.Consult(\"CUS-XXXXXXXXXXXX\");\n```\n\n#### Listar Todos os Clientes\n```C#\nvar result = await WirecardClient.Customer.List();\n```\n\n## Pedidos\n#### Criar Pedido\n```C#\nvar body = new OrderRequest\n{\n    //informe os campos aqui\n};\nvar result = await WirecardClient.Order.Create(body);\n```\n\n#### Consultar Pedido\n```C#\nvar result = await WirecardClient.Order.Consult(\"ORD-XXXXXXXXXXXX\");\n```\n\n#### Listar Todos os Pedidos - Sem Filtros\n```C#\nvar result = await WirecardClient.Order.List();\n```\n\n#### Listar Todos os Pedidos - Com Filtros\n```C#\nstring filtros = \"q=josesilva\u0026filters=status::in(PAID,WAITING)|paymentMethod::in(CREDIT_CARD,BOLETO)|value::bt(5000,10000)\u0026limit=3\u0026offset=0\";\nvar result = await WirecardClient.Order.ListFilter(filtros);\n```\n Veja a tabela filtros de busca [aqui](#tabela---filtros-de-busca).\n \n ## Pagamentos\n #### Criar Pagamento - Cartão de Crédito\n ```C#\nvar body = new PaymentRequest\n{\n    //informe os campos aqui\n    InstallmentCount = 1,\n    FundingInstrument = new Fundinginstrument\n    {\n        Method = \"CREDIT_CARD\",\n        CreditCard = new Creditcard\n        {\n            Id = \"CRC-XXXXXXXXXXXX\",\n            Cvc = \"123\",\n            Holder = new Holder\n            {\n                FullName = \"Jose Portador da Silva\",\n                BirthDate = \"1988-12-30\",\n                TaxDocument = new Taxdocument\n                {\n                    Type = \"CPF\",\n                    Number = \"33333333333\"\n                }\n            }\n        }\n    }\n};          \nvar result = await WirecardClient.Payment.Create(body, \"ORD-XXXXXXXXXXXX\");\n```\n\n#### Criar Pagamento - Boleto\n\n```C#\nvar body = new PaymentRequest\n{\n    //informe os campos aqui\n    StatementDescriptor = \"Minha Loja\",\n    FundingInstrument = new Fundinginstrument\n    {\n        Method = \"BOLETO\",\n        Boleto = new Boleto\n        {\n            ExpirationDate = \"2020-06-20\", //yyyy-MM-dd\n            InstructionLines = new Instructionlines\n            {\n                First = \"Atenção\",\n                Second = \"fique atento à data de vencimento do boleto.\",\n                Third = \"Pague em qualquer casa lotérica.\"\n            }\n        }        \n    }\n};\nvar result = await WirecardClient.Payment.Create(body, \"ORD-XXXXXXXXXXXX\");\n```\n\n#### Liberação de Custódia\n```C#\nvar result = await WirecardClient.Payment.ReleaseCustody(\"ECW-XXXXXXXXXXXX\");\n```\n\n#### Capturar Pagamento Pré-autorizado\n```C#\nvar result = await WirecardClient.Payment.CaptureAuthorized(\"PAY-XXXXXXXXXXXX\");\n```\n\n#### Cancelar Pagamento Pré-autorizado\n```C#\nvar result = await WirecardClient.Payment.CancelAuthorized(\"PAY-XXXXXXXXXXXX\");\n```\n\n#### Consultar Pagamento\n```C#\nvar result = await WirecardClient.Payment.Consult(\"PAY-XXXXXXXXXXXX\");\n```\n\n#### Simular Pagamentos (sandbox)\n```C#\nvar result = await WirecardClient.Payment.Simulate(\"PAY-XXXXXXXXXXXX\", 26500);\n```\n\n## Multipedidos\n#### Criar Multipedido\n```C#\nvar body = new MultiOrderRequest\n{\n    //informe os campos aqui\n};            \nvar result = await WirecardClient.MultiOrder.Create(body);\n```\n\n#### Consultar Multipedido\n```C#\nvar result = await WirecardClient.MultiOrder.Consult(\"MOR-XXXXXXXXXXXX\");\n```\n\n## Multipagamentos\n#### Criar Multipagamento\n```C#\nvar body = new MultiPaymentRequest\n{\n    //informe os campos aqui\n};            \nvar result = await WirecardClient.MultiPayment.Create(body, \"MOR-XXXXXXXXXXXX\");\n```\n#### Consultar Multipagamento\n```C#\nvar result = await WirecardClient.MultiPayment.Consult(\"MPY-XXXXXXXXXXXX\");\n```\n#### Capturar Multipagamento Pré-autorizado\n```C#\nvar result = await WirecardClient.MultiPayment.CaptureAuthorized(\"MPY-XXXXXXXXXXXX\");\n```\n#### Cancelar Multipagamento Pré-autorizado\n```C#\nvar result = await WirecardClient.MultiPayment.CancelAuthorized(\"MPY-XXXXXXXXXXXX\");\n```\n#### Liberação de Custódia\n```C#\nvar result = await WirecardClient.MultiPayment.ReleaseCustody(\"ECW-XXXXXXXXXXXX\");\n```\n\n## Notificações\n#### Criar Preferência de Notificação para Conta Wirecard\n```C#\nvar body = new NotificationRequest\n{\n    //informe os campos aqui\n};            \nvar result = await WirecardClient.Notification.CreatAccountWirecard(body);\n```\n\n#### Criar Preferência de Notificação para App\nCaso não tenha uma URL disponível, você pode usar o **Webhook Tester** para fazer seus testes e receber os webhooks. \n\nPara isso basta acessar o [site](https://webhook.site) e gera uma URL automaticamente.\n\n```C#\nvar body = new NotificationRequest\n{\n    Events = new List\u003cstring\u003e { \"ORDER.*\" },\n    Target = \"https://webhook.site/a54daf-da54-8d5a-8d5d1-kfa4gahf42\",\n    Media = \"WEBHOOK\"\n};           \nvar result = await WirecardClient.Notification.CreateApp(body, \"APP-XXXXXXXXXXXX\");\n```\n\n#### Consultar Preferência de Notificação\n```C#\nvar result = await WirecardClient.Notification.Consult(\"NPR-XXXXXXXXXXXX\");\n```\n\n#### Listar Todas as Preferências de Notificação\n```C#\nvar result = await WirecardClient.Notification.List();\n```\n\n#### Remover Preferência de Notificação\n```C#\nvar result = await WirecardClient.Notification.Remove(\"NPR-XXXXXXXXXXXX\");\nif (result == HttpStatusCode.NoContent)\n{\n    // Caso a Preferência de Notificação tenha sido deletada, você deve receber uma response vazia (NoContent)\n}\n```\n\n#### Consultar Webhook Enviado\n```C#\nvar result = await WirecardClient.Notification.ConsultWebhook(\"PAY-XXXXXXXXXXXX\"); \n```\n\n#### Listar Todos os Webhooks Enviados\n```C#\nvar result = await WirecardClient.Notification.ListWebhooks();\n```\n\n#### Desserializar WebHook\nAo configurar suas Preferências de Notificação você deve receber os webhooks em formato JSON e você pode desserializar.\n\n```C#\nvar json = \"{ \\\"date\\\": \\\"\\\", \\\"env\\\": \\\"\\\", ... }\";\nvar result = Utilities.DeserializeWebHook(json);\n```\nVeja um exemplo do webhook [aqui](https://gist.githubusercontent.com/matmiranda/61b8fac6159d0a61c1cd52deb0941fd8/raw/c08a41818abd135d56c7608587f353bc0bd99df7/Exemplo%2520WebHook.json).\n\n## Contas Bancárias\n#### Criar Conta Bancária\n```C#\nvar body = new BankAccountRequest\n{\n    bankNumber = \"237\",\n    agencyNumber = \"12345\",\n    agencyCheckNumber = \"0\",\n    accountNumber = \"12345678\",\n    accountCheckNumber = \"7\",\n    type = \"CHECKING\",\n    holder = new Holder\n    {\n        taxDocument = new Taxdocument\n        {\n            type = \"CPF\",\n            number = \"622.134.533-22\"\n        },\n        fullname = \"Demo Wirecard\"\n    }\n};\nstring accesstoken = \"XXXXXXXXXXXXXXXXXXXXXXXXXXX_v2\"; // accesstoken do recebedor\nvar result = await WirecardClient.BankAccount.Create(body, accesstoken, \"MPA-XXXXXXXXXXXX\");\n```\n\n#### Consultar Conta Bancária\n```C#\nstring accesstoken = \"XXXXXXXXXXXXXXXXXXXXXXXXXXX_v2\"; // accesstoken do recebedor\nvar result = await WirecardClient.BankAccount.Consult(accesstoken, \"BKA-XXXXXXXXXXXX\");\n```\n\n#### Listar Todas Contas Bancárias\n```C#\nstring accesstoken = \"XXXXXXXXXXXXXXXXXXXXXXXXXXX_v2\"; // accesstoken do recebedor\nvar result = await WirecardClient.BankAccount.List(accesstoken, \"MPA-XXXXXXXXXXXX\");\n```\n\n#### Deletar Conta Bancária\n```C#\nstring accesstoken = \"XXXXXXXXXXXXXXXXXXXXXXXXXXX_v2\"; // accesstoken do recebedor\nvar result = await WirecardClient.BankAccount.Delete(accesstoken, \"BKA-XXXXXXXXXXXX\");\n```\n\n#### Atualizar Conta Bancária\n```C#\nvar body = new BankAccountRequest\n{\n    //informe os campos aqui\n};\nstring accesstoken = \"XXXXXXXXXXXXXXXXXXXXXXXXXXX_v2\"; // accesstoken do recebedor\nvar result = await WirecardClient.BankAccount.Update(body, accesstoken, \"BKA-XXXXXXXXXXXX\");\n```\n\n## Saldo Wirecard\n#### Consultar Saldos\n```C#\nvar result = await WirecardClient.Balance.Consult();\n```\n\n## Lançamentos\n#### Consultar Lançamento\n```C#\nvar result = await WirecardClient.Launch.Consult(\"ENT-XXXXXXXXXXXX\");\n```\n\n#### Listar Todos Lançamentos\n```C#\nvar result = await WirecardClient.Launch.List();\n```\n\n#### Listar Todos Lançamentos com Filtro\n```C#\nstring filtros = \"filters=status::in(SETTLED)\";\nvar result = await WirecardClient.Launch.ListFilter(filtros);\n```\n\n## Transferências\n#### Criar Transferência\n```C#\nvar body = new TransferRequest\n{\n    //informe os campos aqui\n};\nstring accessToken = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx_v2\";\nvar result = await WirecardClient.Transfer.Create(body, accessToken);\n```\n\n#### Reverter Transferência\n```C#\nstring accessToken = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx_v2\";\nvar result = await WirecardClient.Transfer.Revert(\"TRA-XXXXXXXXXXXX\", accessToken);\n```\n\n#### Consultar Transferência\n```C#\nstring accessToken = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx_v2\";\nvar result = await WirecardClient.Transfer.Consult(\"TRA-XXXXXXXXXXXX\", accessToken);\n```\n\n#### Listar Todas Transferências\n```C#\nvar result = await WirecardClient.Transfer.List();\n```\n\n#### Listar Todas Transferências com filtros\n```C#\nstring filtros = \"filters=transferInstrument.method::in(MOIP_ACCOUNT)\u0026limit=3\u0026offset=0\";\nvar result = await WirecardClient.Transfer.List();\n```\n\n## Reembolsos\n#### Reembolsar Pagamento\n```C#\nvar body = new RefundRequest\n{\n    //informe os campos aqui\n};            \nvar result = await WirecardClient.Refund.RefundPayment(body, \"PAY-XXXXXXXXXXXX\");\n```\n\n#### Reembolsar Pedido via Cartão de Crédito\n```C#\nvar body = new RefundRequest\n{\n    //informe os campos aqui\n};            \nvar result = await WirecardClient.Refund.RefundRequestCreditCard(body, \"ORD-XXXXXXXXXXXX\");\n```\n\n#### Consultar Reembolso\n```C#\nvar result = await WirecardClient.Refund.Consult(\"REF-XXXXXXXXXXXX\");\n```\n\n#### Listar Reembolsos do Pagamento\n```C#\nvar result = await WirecardClient.Refund.ListPayments(\"PAY-XXXXXXXXXXXX\");\n```\n\n#### Listar Reembolsos do Pedido\n```C#\nvar result = await WirecardClient.Refund.ListOrders(\"ORD-XXXXXXXXXXXX\");\n```\n\n## Conciliação\n#### Obter Arquivo de Vendas\n```C#\nvar result = await WirecardClient.Conciliation.GetSalesFile(\"20180829\"); // Data no formato YYYYMMDD\n```\n\n#### Obter Arquivo Financeiro\n```C#\nvar result = await WirecardClient.Conciliation.GetFinancialFile(\"2018-08-29\"); // Data no formato YYYY-MM-DD\n```\n\n## Convertendo objeto para json\n\nAs vezes você enfrenta um problema e o suporte Wirecard pede o código json para verificar se realmente está no json:\n\n```C#\nusing Newtonsoft.Json;\n\nvar body = new PaymentRequest\n{\n    //informe os campos aqui\n    DelayCapture = true,\n    InstallmentCount = 1,\n    FundingInstrument = new Fundinginstrument\n    {\n        Method = \"CREDIT_CARD\",\n        CreditCard = new Creditcard\n        {\n            Id = \"CRC-XXXXXXXXXXXX\",\n            Cvc = \"123\",\n            Holder = new Holder\n            {\n                FullName = \"Jose Portador da Silva\",\n                BirthDate = \"1988-12-30\",\n                TaxDocument = new Taxdocument\n                {\n                    Type = \"CPF\",\n                    Number = \"33333333333\"\n                }\n            }\n        }\n    }\n};\n\n//Aqui você pode obter json e compratilhar para suporte Wirecard\nstring json = JsonConvert.SerializeObject(body, Formatting.Indented);\n```\n\nVeja como ficou na variável json:\n\n```json\n{\n  \"installmentCount\": 1,\n  \"delayCapture\": true,\n  \"fundingInstrument\": {\n    \"method\": \"CREDIT_CARD\",\n    \"creditCard\": {\n      \"id\": \"CRC-XXXXXXXXXXXX\",\n      \"cvc\": \"123\",\n      \"holder\": {\n        \"fullname\": \"Jose Portador da Silva\",\n        \"birthdate\": \"1988-12-30\",\n        \"taxDocument\": {\n          \"type\": \"CPF\",\n          \"number\": \"33333333333\"\n        }\n      }\n    }\n  }\n}\n```\n\n## Tabela - Filtros de busca\n\n| Nome  | Tipo | Descrição |\n| ------------- | ------------- | ------------- |\n| limit  | int  | Quantidade de registros por busca (página). O valor default é 20 |\n| offset  | int | Registro a partir do qual a busca vai retornar. O valor default é 0 |\n| gt(x)  | number or date | Maior que - “Greater Than” |\n| ge(x)  | number or date | Maior ou igual - “Greater than or Equal” |\n| lt(x)  | number or date | Menor que - “Less Than” |\n| le(x)  | number or date | Menor ou igual - “Less than or Equal” |\n| bt(x,y)  | string | Entre - “Between” |\n| in(x,y…z)  | string | Em - “IN” |\n| q  |  | Consulta um valor em específico |\n\n✅ Fazendo uma busca com os seguintes requisitos:\n\n```diff\n+ Transações de valores entre 5000 e 10000 (em centavos);\n+ Formas de pagamento: Cartão de Crédito e Boleto;\n+ Cliente com o nome jose silva;\n+ Retornando 3 resultados.\n```\n\n\u003e GET https: //sandbox.moip.com.br/v2/orders?q=jose silva\n\u0026filters=status::in(PAID,WAITING)|paymentMethod::in(CREDIT_CARD,BOLETO)\n|value::bt(5000,10000)\u0026limit=3\u0026offset=0\n\nVocê pode também fazer uma busca por pedidos dentro de um intervalo de tempo:\n\n\u003e GET https: //sandbox.moip.com.br/v2/orders?filters=createdAt::bt(2017-10-10T13:07:00Z,2017-10-25T13:08:00Z)\n\n## Exceção\n#### Obter erros\nVocê pode recuperar os atributos `code`, `path`, `description`, `message` e `error`, veja no exemplo abaixo:\n```C#\nusing WirecardCSharp.Exception;\n\ntry\n{\n    var result = await WC.Customer.Create(new CustomerRequest());\n}\ncatch (WirecardException ex)\n{\n    var t = ex.wirecardError;\n    var t_text = ex.GetExceptionText();\n} \n```\n\n#### Tabela de erros\n\n| Nome  | Descrição | Detalhe |\n| ------------- | ------------- | ------------- |\n| code  | Código identificador do erro  | string |\n| path  | Parâmetro relacionado ao erro | string |\n| description  | Descrição do erro | string |\n| message  | Mensagem do retorno Wirecard  | string |\n\n\n\n## Licença\n\n[The MIT License](https://github.com/matmiranda/WirecardCSharp/blob/master/LICENSE)\n\nTem dúvidas? Fale com a gente no [Slack](https://slackin-cqtchmfquq.now.sh/)!\nAlgum problema ? Abre issues!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuzbekdev1%2Fwirecardcsharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuzbekdev1%2Fwirecardcsharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuzbekdev1%2Fwirecardcsharp/lists"}