Oi, DEV! 👋
Crie sua conta para acessar mais recursos do portal.

e-Bank realizarconsultapix

Como utilizar o serviço do e-Bank PIX

Realizar uma consulta ou criar uma cobrança PIX utilizando o e-Bank .

Atualizado em 23 de abr. de 2025, 05:01

Problema

Realizar uma consulta ou criar uma cobrança PIX utilizando o e-Bank.

Solução

Para realizar uma consulta com o PIX utilizando nosso produto e-Bank, é bem simples:

  1. Crie um novo projeto no Visual Studio.
  2. Instale os seguintes pacotes da Unimake via NuGet:
PacoteNuGet
Unimake.Primitives
PM> Install-Package Unimake.Primitives
nuget.org/packages/Unimake.Primitives
Unimake.EBank.Primitives
PM> Install-Package Unimake.EBank.Primitives
nuget.org/packages/Unimake.EBank.Primitives
Unimake.AuthServer
PM> Install-Package Unimake.AuthServer
nuget.org/packages/Unimake.AuthServer

Exemplo de consulta PIX em C#:


using EBank.Solutions.Primitives.PIX.Models.Consulta;
using EBank.Solutions.Primitives.PIX.Request.Consulta;
using System;
using System.Threading.Tasks;
using Unimake.EBank.Solutions.Services.PIX;
using Unimake.EBank.Solutions.Tests.Abstractions;
using Unimake.Primitives.Collections.Page;
using Xunit;
using Xunit.Abstractions;

namespace Unimake.EBank.Solutions.Tests.PIX
{
    public class PIXConsultarTest(ITestOutputHelper output) : TestBase(output)
    {
        #region Public Methods

        [Fact]
        public async Task ConsultarE2EIdTestAsync()
        {
            try
            {
                using var scope = await CreateAuthenticatedScopeAsync();
                var service = new PIXService();
                var response = await service.GetAsync(CreateRequest(() => new PIXGetRequest
                {
                    EndToEndId = $"E{new Random().NextString(31, true, false).ToUpper()}"
                }), scope);

                DumpAsJson(response);
            }
            catch(Exception ex)
            {
                DumpAsJson(ex);
                throw;//forward
            }
        }

        [Fact]
        public async Task ConsultarPaginadoTestAsync()
        {
            try
            {
                using var scope = await CreateAuthenticatedScopeAsync();
                var service = new PIXService();
                var currentPage = 1;
                var response = default(PagedList);

                do
                {
                    response = await service.GetAsync(CreateRequest(() => new PIXGetRequest
                    {
                        StartDate = StartDate,
                        EndDate = EndDate,
                        PageNumber = currentPage,
                        PageSize = 3
                    }), scope);

                    DumpAsJson(response);
                    currentPage++;
                } while(response.PageInfo.HasNext);
            }
            catch(Exception ex)
            {
                DumpAsJson(ex);
                throw;//forward
            }
        }

        [Fact]
        public async Task ConsultarTxIdTestAsync()
        {
            try
            {
                using var scope = await CreateAuthenticatedScopeAsync();
                var service = new PIXService();
                var response = await service.GetAsync(CreateRequest(() => new PIXGetRequest
                {
                    StartDate = StartDate,
                    EndDate = EndDate,
                    TxId = "xxInformeUmTxIdValidoAquixx"
                }), scope);

                DumpAsJson(response);
            }
            catch(Exception ex)
            {
                DumpAsJson(ex);
                throw;//forward
            }
        }

        #endregion Public Methods
    }
}        
 

Veja no Github: PIXConsultarTest.cs

Exemplo de criação de cobrança PIX em C#:


using EBank.Solutions.Primitives.PIX.Request.Cobranca;
using System;
using System.Threading.Tasks;
using Unimake.EBank.Solutions.Services.PIX;
using Unimake.EBank.Solutions.Tests.Abstractions;
using Xunit;
using Xunit.Abstractions;

namespace Unimake.EBank.Solutions.Tests.PIX
{
    public class PIXCriarCobrancaTest(ITestOutputHelper output) : TestBase(output)
    {
        #region Private Fields

        private const string TX_ID = "CobrancaDeTestePix20230213183421";

        #endregion Private Fields

        #region Public Methods

        [Theory]
        [InlineData(TX_ID)]
        public async Task ConsultarCobrancaComTxId(string txId)
        {
            try
            {
                var beneficiario = BeneficiarioDefault;
                using var scope = await CreateAuthenticatedScopeAsync();
                var service = new PIXService();
                var cobResponse = await service.QueryCobAsync(CreateRequest(() => new PIXCobrancaGetRequest
                {
                    Banco = beneficiario.Conta.Banco,
                    Inscricao = beneficiario.Inscricao,
                    NumeroAgencia = beneficiario.Conta.Agencia,
                    NumeroConta = beneficiario.Conta.Numero,
                    TxId = txId
                }), scope);

                DumpAsJson(cobResponse);
            }
            catch(Exception ex)
            {
                DumpAsJson(ex);
                throw;//forward
            }
        }

        [Theory]
        [InlineData(TX_ID)]
        public async Task ConsultarCobrancaERetornarQrCode(string txId)
        {
            try
            {
                var beneficiario = BeneficiarioDefault;
                using var scope = await CreateAuthenticatedScopeAsync();
                var service = new PIXService();
                var cobResponse = await service.QueryCobAsync(CreateRequest(() => new PIXCobrancaGetRequest
                {
                    Banco = beneficiario.Conta.Banco,
                    Inscricao = beneficiario.Inscricao,
                    NumeroAgencia = beneficiario.Conta.Agencia,
                    NumeroConta = beneficiario.Conta.Numero,
                    TxId = txId,
                    GerarQRCode = true
                }), scope);

                DumpAsJson(cobResponse);
            }
            catch(Exception ex)
            {
                DumpAsJson(ex);
                throw;//forward
            }
        }

        [Theory]
        [InlineData(TX_ID)]
        public async Task GerarCobrancaComQrCode(string txId)
        {
            try
            {
                var beneficiario = BeneficiarioDefault;
                using var scope = await CreateAuthenticatedScopeAsync();
                var service = new PIXService();
                var response = await service.CreateCobAsync(CreateRequest(() => new PIXCobrancaCreateRequest
                {
                    Valor = 1.17852m,
                    Chave = "",
                    TxId = txId,
                    GerarQRCode = true
                }), scope);

                DumpAsJson(response);
            }
            catch(Exception ex)
            {
                DumpAsJson(ex);
                throw;//forward
            }
        }

        [Theory]
        [InlineData(TX_ID)]
        public async Task GerarCobrancaComTxId(string txId)
        {
            try
            {
                var beneficiario = BeneficiarioDefault;
                using var scope = await CreateAuthenticatedScopeAsync();
                var service = new PIXService();
                var response = await service.CreateCobAsync(CreateRequest(() => new PIXCobrancaCreateRequest
                {
                    Valor = 1.17852m,
                    Chave = beneficiario.Inscricao,
                    TxId = txId
                }), scope);

                DumpAsJson(response);

                //Já realizar a consulta e garantir que foi gerada corretamente
                //Já fica como teste :)
                var cobResponse = await service.QueryCobAsync(CreateRequest(() => new PIXCobrancaGetRequest
                {
                    Banco = beneficiario.Conta.Banco,
                    Inscricao = beneficiario.Inscricao,
                    NumeroAgencia = beneficiario.Conta.Agencia,
                    NumeroConta = beneficiario.Conta.Numero,
                    TxId = txId
                }), scope);

                DumpAsJson(cobResponse);
            }
            catch(Exception ex)
            {
                DumpAsJson(ex);
                throw;//forward
            }
        }

        [Fact]
        public async Task GerarCobrancaComTxIdDefindoPeloPSP()
        {
            try
            {
                var beneficiario = BeneficiarioDefault;

                using var scope = await CreateAuthenticatedScopeAsync();
                var service = new PIXService();
                var response = await service.CreateCobAsync(CreateRequest(() => new PIXCobrancaCreateRequest
                {
                    Valor = 1.17852m,
                    Chave = "12345678901234" //"<>"
                }), scope);

                DumpAsJson(response);

                var txId = response.Txid;

                //Já realizar a consulta e garantir que foi gerada corretamente
                //Já fica como teste :)
                var cobResponse = await service.QueryCobAsync(CreateRequest(() => new PIXCobrancaGetRequest
                {
                    Banco = beneficiario.Conta.Banco,
                    Inscricao = beneficiario.Inscricao,
                    NumeroAgencia = beneficiario.Conta.Agencia,
                    NumeroConta = beneficiario.Conta.Numero,
                    TxId = txId
                }), scope);

                DumpAsJson(cobResponse);
            }
            catch(Exception ex)
            {
                DumpAsJson(ex);
                throw;//forward
            }
        }

        #endregion Public Methods
    }
} 

Veja no Github: PIXCriarCobrancaTest.cs

Atenção:
Para realizar a consulta acima, é necessário obter as chaves de acesso para as nossas APIs e também as chaves bancárias correspondentes ao banco parceiro.
Nós da Unimake te ajudamos em todo o processo — desde a obtenção das chaves até a homologação completa.

⚠️ Se preferir, fornecemos chaves para testes em ambiente de homologação.

Se ainda estiver com dúvidas ou quiser solicitar chaves em ambiente de homologação.
Contate-nos via WhatsApp: Fale conosco